Utilisez Java Database Connectivity (JDBC) pour accéder au service Lindorm Distributed Processing System (LDPS) et exploitez Spark SQL afin d'interroger, d'analyser et de générer des données.
Prérequis
Vous avez créé une instance Lindorm et activé LindormTable. Pour plus d'informations, consultez la rubrique Créer une instance.
Vous avez activé le service LDPS. Pour plus d'informations, consultez la rubrique Activer LDPS.
Vous avez installé un environnement de développement Java. Le JDK 1.8 ou une version ultérieure est requis.
Endpoint JDBC
Pour afficher l'endpoint JDBC et l'adresse du fichier JAR de LDPS, accédez à la page des détails de l'instance, cliquez sur Database Connection, puis sélectionnez l'onglet Compute Engine. Pour plus d'informations, consultez la rubrique Afficher les endpoints. LDPS fournit des endpoints JDBC pour les connexions via VPC et via le réseau public, au format jdbc:hive2://<host>:<port>.
Connexion à JDBC avec Java
-
Ajoutez la dépendance JDBC à votre projet. L'exemple suivant utilise Maven.
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>2.3.8</version> </dependency> -
Utilisez le code Java suivant pour vous connecter au service JDBC :
import java.sql.*; public class App { public static void main(String[] args) throws Exception { Class.forName("org.apache.hive.jdbc.HiveDriver"); String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****"; String user = ""; String password = ""; Connection con = DriverManager.getConnection(endpoint, user, password); Statement stmt = con.createStatement(); String sql = "SELECT * FROM test"; ResultSet res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1)); } } } -
Facultatif : Pour configurer des paramètres de job supplémentaires, ajoutez-les à la chaîne de l'endpoint JDBC, comme illustré dans l'exemple suivant :
String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false";
Connexion à JDBC avec Python
Téléchargez le package de publication Spark.
Décompressez le package de publication Spark.
-
Configurez les variables de chemin.
-
Définissez la variable d'environnement SPARK_HOME.
export SPARK_HOME=/path/to/dir/; -
Définissez la variable d'environnement CLASSPATH.
export CLASSPATH=$CLASSPATH:$SPARK_HOME/jars/*; -
Installez JayDeBeApi.
pip install JayDeBeApi
-
-
Utilisez le code Python suivant pour vous connecter au service JDBC :
import jaydebeapi driver = 'org.apache.hive.jdbc.HiveDriver' endpoint = 'jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****' jarPath = '/path/to/sparkhome/jars/hive-jdbc-****.jar' user = '****' password = '****' conn=jaydebeapi.connect(driver, endpoint, [user, password], [jarPath]) cursor = conn.cursor() cursor.execute("select 1") results = cursor.fetchall() cursor.close() conn.close() -
Facultatif : Pour configurer des paramètres de job supplémentaires, ajoutez-les à la chaîne de l'endpoint JDBC, comme illustré dans l'exemple suivant :
endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false"