Configuration
Cette page résume les paramètres Spark et Hive principaux utilisés par HWC.
Propriétés principales
| Propriété | Rôle |
|---|---|
spark.sql.hive.hiveserver2.jdbc.url | URL JDBC HS2 (LLAP). |
spark.sql.hive.hiveserver2.jdbc.url.principal | Principal Kerberos pour HS2. |
spark.hadoop.hive.metastore.uris | URI(s) Thrift du HMS. |
spark.datasource.hive.warehouse.read.mode | Mode de lecture : direct_reader_v1, direct_reader_v2, jdbc_client, jdbc_cluster, secure_access. |
spark.datasource.hive.warehouse.read.jdbc.mode | Mode de lecture JDBC : client ou cluster. |
spark.datasource.hive.warehouse.load.staging.dir | URI qualifiée du répertoire de staging utilisé par l'accès sécurisé et les écritures par lots. |
spark.sql.extensions | Active l'extension Spark SQL HWC pour l'intégration du lecteur direct. |
Configuration HiveServer2 (HS2)
HWC se connecte à HS2 via JDBC. Pour les clusters Kerberos :
- Mode client YARN : définir
spark.sql.hive.hiveserver2.jdbc.url.principal. - Mode cluster YARN : définir
spark.security.credentials.hiveserver2.enabled=truepour obtenir les jetons de délégation HS2.
Optionnellement, utiliser spark.sql.hive.conf.list pour ajouter des configurations Hive à l'URL HS2. Utile pour transmettre
des paramètres Hive au niveau requête sans modifier hive-site.xml.
Hive Metastore (HMS)
HWC utilise le HMS pour les métadonnées des tables et pour le mode lecteur direct. S'assurer que Spark peut joindre le HMS :
spark.hadoop.hive.metastore.uris=thrift://hms-host:9083
En cas de haute disponibilité, privilégier l'alias du nameservice plutôt que host:port pour les URI HMS et les répertoires de staging.
Configuration LLAP
Le mode lecteur direct utilise LLAP et les lecteurs ORC. Les propriétés typiques liées à LLAP incluent :
spark.hadoop.hive.llap.daemon.service.hosts=@llap0
spark.hadoop.hive.zookeeper.quorum=zk1:2181,zk2:2181,zk3:2181
Répertoire de staging pour l'accès sécurisé et les écritures
Le mode accès sécurisé et les écritures par lots mettent les données en staging sur HDFS. Utiliser une URI qualifiée :
spark.datasource.hive.warehouse.load.staging.dir=hdfs://nameservice/apps/hwc_staging
Les permissions recommandées sur le répertoire parent sont de type sticky (par exemple 1703) afin que les utilisateurs puissent créer
des dossiers de session mais ne puissent pas supprimer les données des autres utilisateurs.
Extension Spark SQL
Pour utiliser le lecteur direct HWC via Spark SQL, activer l'extension :
spark.sql.extensions=com.hortonworks.spark.sql.rule.Extensions
Optionnel : enregistreur Kryo
Pour les lignes ORC volumineuses, définir un enregistreur Kryo et augmenter le tampon :
spark.serializer=org.apache.spark.serializer.KryoSerializer
spark.kryo.registrator=com.hortonworks.spark.hive.utils.HiveAcidKyroRegistrator
spark.kryoserializer.buffer.max=256m