Ready to get started?

Learn more about the CData JDBC Driver for Elasticsearch or download a free trial:

Download Now

Apache Spark でElasticsearch Data をSQL で操作

CData JDBC ドライバーを使用して、Apache Spark でElasticsearch Data にデータ連携。

Apache Spark は大規模データ処理のための高速で一般的なエンジンです。CData JDBC Driver for Elasticsearch と組み合わせると、Spark はリアルタイムElasticsearch data にデータ連携して処理ができます。ここでは、Spark シェルに接続してElasticsearch data をクエリする方法について説明します。

CData JDBC Driver は、最適化されたデータ処理がドライバーに組み込まれているため、リアルタイムElasticsearch data と対話するための高いパフォーマンスを提供します。Elasticsearch に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計など、サポートされているSQL操作を直接Elasticsearch にプッシュし、組込みSQL エンジンを使用してサポートされていない操作(SQL 関数やJOIN 操作)をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使用してElasticsearch data を操作して分析できます。

CData JDBC Driver for Elasticsearch をインストール

CData JDBC Driver for Elasticsearch インストーラをダウンロードし、パッケージを解凍し、JAR ファイルを実行してドライバーをインストールします。

Spark Shell を起動してElasticsearch Data に接続

  1. Open a terminal and start the Spark shell with the CData JDBC Driver for Elasticsearch JAR file as the jars parameter: $ spark-shell --jars /CData/CData JDBC Driver for Elasticsearch/lib/cdata.jdbc.elasticsearch.jar
  2. With the shell running, you can connect to Elasticsearch with a JDBC URL and use the SQL Context load() function to read a table.

    Set the Server and Port connection properties to connect. To authenticate, set the User and Password properties, PKI (public key infrastructure) properties, or both. To use PKI, set the SSLClientCert, SSLClientCertType, SSLClientCertSubject, and SSLClientCertPassword properties.

    The data provider uses X-Pack Security for TLS/SSL and authentication. To connect over TLS/SSL, prefix the Server value with 'https://'. Note: TLS/SSL and client authentication must be enabled on X-Pack to use PKI.

    Once the data provider is connected, X-Pack will then perform user authentication and grant role permissions based on the realms you have configured.

    組み込みの接続文字列デザイナー

    For assistance in constructing the JDBC URL, use the connection string designer built into the Elasticsearch JDBC Driver.Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.elasticsearch.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    scala> val elasticsearch_df = spark.sqlContext.read.format("jdbc").option("url", "jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;").option("dbtable","Orders").option("driver","cdata.jdbc.elasticsearch.ElasticsearchDriver").load()
  3. Once you connect and the data is loaded you will see the table schema displayed.
  4. Register the Elasticsearch data as a temporary table:

    scala> elasticsearch_df.registerTable("orders")
  5. Perform custom SQL queries against the Data using commands like the one below:

    scala> elasticsearch_df.sqlContext.sql("SELECT OrderName, Freight FROM Orders WHERE ShipCity = New York").collect.foreach(println)

    You will see the results displayed in the console, similar to the following:

Using the CData JDBC Driver for Elasticsearch in Apache Spark, you are able to perform fast and complex analytics on Elasticsearch data, combining the power and utility of Spark with your data.Download a free, 30 day trial of any of the 170+ CData JDBC Drivers and get started today.

 
 
ダウンロード