JRuby からSpark にデータ連携

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Apache Spark JDBC Driver

Apache Spark 連携のパワフルなJava アプリケーションを素早く作成して配布。



リアルタイムSpark に連携するシンプルなJRuby アプリケーションを作成します。

JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for Spark を使用すると、JRuby からリアルタイムSpark へのデータ連携を簡単に実装できます。ここでは、Spark に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

Spark データにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for Spark\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にSpark に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

SparkSQL への接続

SparkSQL への接続を確立するには以下を指定します。

  • Server:SparkSQL をホストするサーバーのホスト名またはIP アドレスに設定。
  • Port:SparkSQL インスタンスへの接続用のポートに設定。
  • TransportMode:SparkSQL サーバーとの通信に使用するトランスポートモード。有効な入力値は、BINARY およびHTTP です。デフォルトではBINARY が選択されます。
  • AuthScheme:使用される認証スキーム。有効な入力値はPLAIN、LDAP、NOSASL、およびKERBEROS です。デフォルトではPLAIN が選択されます。

Databricks への接続

Databricks クラスターに接続するには、以下の説明に従ってプロパティを設定します。Note:必要な値は、「クラスター」に移動して目的のクラスターを選択し、 「Advanced Options」の下にある「JDBC/ODBC」タブを選択することで、Databricks インスタンスで見つけることができます。

  • Server:Databricks クラスターのサーバーのホスト名に設定。
  • Port:443
  • TransportMode:HTTP
  • HTTPPath:Databricks クラスターのHTTP パスに設定。
  • UseSSL:True
  • AuthScheme:PLAIN
  • User:'token' に設定。
  • Password:個人用アクセストークンに設定(値は、Databricks インスタンスの「ユーザー設定」ページに移動して「アクセストークン」タブを選択することで取得できます)。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Spark JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.sparksql.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

以下はSpark の一般的なJDBC 接続文字列です。

jdbc:sparksql:Server=127.0.0.1;

Spark データへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: SparkSQLSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java' require 'rubygems' require 'C:/Program Files/CData/CData JDBC Driver for Spark 2018/lib/cdata.jdbc.sparksql.jar' url = "jdbc:sparksql:Server=127.0.0.1;" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT City, Balance FROM Customers") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でSpark を表示できるようになります。

jruby -S SparkSQLSelect.rb

SQL-92 クエリをSpark に書き込むと、Spark を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。