Hive Warehouse Connector (HWC)
Le Hive Warehouse Connector (HWC) intègre Spark SQL à Hive via HiveServer2 (HS2) et LLAP. Il est conçu pour la lecture et l'écriture des tables Hive (y compris ACID) et pour l'application des politiques d'autorisation Hive lorsque nécessaire.
Versions utilisées
- Spark 3.5.x (par défaut : 3.5.4)
- Hive 4.0.1
- Scala 2.12.18
- Calcite 1.25.0
- Avatica 1.12.0
Ces valeurs peuvent être surchargées via les propriétés système sbt (par exemple : -Dspark.version=3.5.6).
Téléchargements (Nexus)
Les artefacts sont actuellement publiés en version 1.3.1, compatibles avec ODP 1.3.1.0.
| Artefact | Lien |
|---|---|
| Jar assembly (fat) | https://nexus.clemlab.com/repository/spark-packages/com/hortonworks/hive/hive-warehouse-connector_2.12/1.3.1/hive-warehouse-connector_2.12-1.3.1-assembly.jar |
| Jar principal | https://nexus.clemlab.com/repository/spark-packages/com/hortonworks/hive/hive-warehouse-connector_2.12/1.3.1/hive-warehouse-connector_2.12-1.3.1.jar |
| Sources | https://nexus.clemlab.com/repository/spark-packages/com/hortonworks/hive/hive-warehouse-connector_2.12/1.3.1/hive-warehouse-connector_2.12-1.3.1-sources.jar |
| Javadoc | https://nexus.clemlab.com/repository/spark-packages/com/hortonworks/hive/hive-warehouse-connector_2.12/1.3.1/hive-warehouse-connector_2.12-1.3.1-javadoc.jar |
| POM | https://nexus.clemlab.com/repository/spark-packages/com/hortonworks/hive/hive-warehouse-connector_2.12/1.3.1/hive-warehouse-connector_2.12-1.3.1.pom |
Fonctionnalités prises en charge
Le tableau ci-dessous résume ce qui est couvert et pris en charge.
| Domaine fonctionnel | Statut | Remarques |
|---|---|---|
| Modes de lecture (lecteur direct, JDBC, accès sécurisé) | Pris en charge | - |
| Contrôle du cache d'accès sécurisé | Pris en charge | spark.hadoop.secure.access.cache.disable. |
| Mode de lecture JDBC (client/cluster) | Pris en charge | - |
| Extension Spark SQL pour le lecteur direct | Pris en charge | spark.sql.extensions=com.hortonworks.spark.sql.rule.Extensions. |
| Écritures par lots (DataFrame writer) | Pris en charge | Écrit en staging puis LOAD DATA. |
| Écritures en streaming vers les tables ACID | Pris en charge | Sink HiveStreamingDataSource. |
| API de session HWC (opérations catalogue, executeUpdate, commitTxn, close) | Pris en charge | Voir la page API. |
| Métriques Spark executor | Partiel | Utilise les métriques Spark et le listener HWC, pas de packaging supplémentaire. |
| Intégration PySpark | Pris en charge | Package python/ + jar d'assembly. |
| Intégration sparklyr | Non livré | non inclus ici. |
| Intégration Zeppelin | Manuel | Ajouter le jar et la conf Spark ; non packagé. |
Si vous dépendez d'une fonctionnalité non incluse (helpers sparklyr, modèles de configuration Zeppelin), vous pouvez toujours utiliser le connecteur en ajoutant le jar d'assembly et en définissant les configurations Spark manuellement.
Par où commencer
- Commencez par Démarrage pour une configuration minimale et un exemple en Spark shell.
- Utilisez Configuration et Modes de lecture pour choisir l'accès sécurisé ou le lecteur direct.
- Utilisez Écritures et streaming pour la configuration des écritures par lots et en streaming.
- Consultez Limitations et types avant un déploiement en production.