Paramètres de capacité du pilote pour le pilote JDBC Databricks

Cet article explique comment configurer des paramètres de capacité du pilote spéciaux et avancés pour le pilote JDBC Databricks.

Le pilote JDBC Databricks fournit les paramètres de fonctionnalités spéciales et avancées du pilote suivants.

Prise en charge des requêtes ANSI SQL-92 dans JDBC

Les pilotes JDBC Spark hérités acceptent les requêtes SQL dans le dialecte ANSI SQL-92 et traduisent les requêtes en dialecte Databricks SQL avant de les envoyer au serveur. Toutefois, si votre application génère directement Databricks SQL, ou si votre application utilise une syntaxe SQL standard propre à Azure Databricks autre que ANSI SQL-92, Databricks vous recommande de définir UseNativeQuery=1 comme configuration de connexion. Avec ce paramètre, le pilote passe le détail des requêtes SQL à Azure Databricks.

Catalogue et schéma par défaut

Pour spécifier le catalogue et le schéma par défaut, ajoutez ConnCatalog=<catalog-name>;ConnSchema=<schema-name> à l’URL de connexion JDBC.

Extraire les résultats de requête volumineux dans JDBC

Pour obtenir des performances optimales lorsque vous extrayez des résultats de requête volumineux, utilisez la version la plus récente du pilote JDBC qui comprend les optimisations suivantes.

Sérialisation Arrow dans JDBC

Les versions 2.6.16 et ultérieures du pilote JDBC prennent en charge un format de sérialisation des résultats de requête optimisé qui utilise Apache Arrow.

Cloud Fetch dans JDBC

Les version 2.6.19 et ultérieures du pilote JDBC prennent en charge Cloud Fetch. Cette fonctionnalité extrait les résultats des requêtes via le stockage cloud qui est configuré dans votre déploiement Azure Databricks.

Les résultats de requête sont chargés dans un emplacement de stockage DBFS interne sous la forme de fichiers sérialisés par Arrow (jusqu’à 20 Mo). Lorsque le pilote envoie des demandes de récupération après la fin de la requête, Azure Databricks génère et retourne des signatures d’accès partagé aux fichiers chargés. Le pilote JDBC utilise ensuite les URL pour télécharger les résultats directement à partir de DBFS.

Cloud Fetch est utilisé uniquement pour les résultats de requête d’une taille supérieure à 1 Mo. Les résultats plus petits sont récupérés directement à partir d’Azure Databricks.

Azure Databricks récupère automatiquement les fichiers accumulés (garbage collection) qui sont marqués pour suppression au bout de 24 heures. Ces fichiers marqués sont définitivement supprimés dans les 24 heures qui suivent.

Pour en savoir plus sur l’architecture de Cloud Fetch, consultez How We Achieved High-bandwidth Connectivity With BI Tools.

Activation de la journalisation

Pour activer la journalisation dans le pilote JDBC, définissez la propriété LogLevel sur une valeur comprise de 1 pour enregistrer uniquement les événements graves jusqu’à 6 pour enregistrer toutes les activités du pilote. Définissez la propriété LogPath sur le chemin d’accès complet du dossier dans lequel vous souhaitez enregistrer les fichiers journaux.

Si vous souhaitez obtenir plus d’informations, consultez la section Configuring Logging dans le Guide du pilote JDBC Databricks.