Aller au contenu principal
Version: 1.3.1.0

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.urlURL JDBC HS2 (LLAP).
spark.sql.hive.hiveserver2.jdbc.url.principalPrincipal Kerberos pour HS2.
spark.hadoop.hive.metastore.urisURI(s) Thrift du HMS.
spark.datasource.hive.warehouse.read.modeMode de lecture : direct_reader_v1, direct_reader_v2, jdbc_client, jdbc_cluster, secure_access.
spark.datasource.hive.warehouse.read.jdbc.modeMode de lecture JDBC : client ou cluster.
spark.datasource.hive.warehouse.load.staging.dirURI qualifiée du répertoire de staging utilisé par l'accès sécurisé et les écritures par lots.
spark.sql.extensionsActive 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=true pour 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