Java Database Connectivity (JDBC) を使用して Lindorm Distributed Processing System (LDPS) サービスに接続し、Spark SQL でデータのクエリ、分析、生成を行うことができます。
前提条件
JDBC エンドポイント
LDPS の JDBC エンドポイントと JAR アドレスを確認するには、インスタンス詳細ページで [データベース接続] をクリックし、[Compute Engine] タブをクリックします。 詳細については、「エンドポイントの表示」をご参照ください。 LDPS は VPC 接続とパブリックネットワーク接続の両方に対応した JDBC エンドポイントを提供しており、形式は jdbc:hive2://<host>:<port> です。
Java での JDBC 接続
-
プロジェクトに JDBC 依存関係を追加します。 以下は Maven を使用した例です。
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>2.3.8</version> </dependency> -
以下の Java コードを使用して 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)); } } } -
オプション: 追加のジョブパラメーターを設定するには、以下の例のように JDBC エンドポイント文字列に追加します。
String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false";
Python での JDBC 接続
-
Spark リリースパッケージ をダウンロードします。
-
Spark リリースパッケージを解凍します。
-
パス変数を設定します。
-
SPARK_HOME 環境変数を設定します。
export SPARK_HOME=/path/to/dir/; -
CLASSPATH 環境変数を設定します。
export CLASSPATH=$CLASSPATH:$SPARK_HOME/jars/*; -
JayDeBeApi をインストールします。
pip install JayDeBeApi
-
-
以下の Python コードを使用して 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/dir/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() -
オプション: 追加のジョブパラメーターを設定するには、以下の例のように JDBC エンドポイント文字列に追加します。
endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false"