Spark SQL Thriftサーバーの使用

Spark SQL ThriftサーバーではJDBCおよびODBCインターフェースを使用して、クライアントをCassandraに接続します。

Spark SQL ThriftサーバーではJDBCおよびODBCインターフェースを使用して、クライアントをCassandraに接続します。

大量のデータの読み取りや書き込みを行う場合、DataStaxではCassandraベースのDataFramesを使用して、Spark Cassandra Connectorの使用とそれに付属しているチューニング・パラメーターのメリットを活用することを推奨しています。

Sparkとともに使用する場合、hive-site.xmlファイルのデフォルトの場所は次のとおりです。
Installer-Servicesおよびパッケージ・インストール /etc/dse/spark/hive-site.xml
Installer-No Servicesおよびtarボール・インストール install_location/resources/spark/conf/hive-site.xml

手順

  1. hive-site.xmlファイルで、Spark SQL Thriftサーバー用のCassandra認証情報を構成します。
    Sparkディレクトリー内のhive-site.xmlファイルを必ず使用してください。
    Installer-Servicesおよびパッケージのインストール /etc/dse/spark/hive-site.xml
    Installer-No Servicesおよびtarボールのインストール install_location/resources/spark/conf/hive-site.xml
  2. Sparkがサービスとして有効になっている状態で、またはスタンドアローンのインストールで、DataStax Enterpriseを起動します。
  3. Sparkディレクトリーへの書き込みパーミッションがあるユーザーとしてdse spark-sql-thriftserver startコマンドを入力し、サーバーを起動します。

    サーバーのデフォルトの設定を上書きするには、--hiveconfオプションを使用して構成プロパティを渡します。構成プロパティの全リストについては、HiveServer2のドキュメントを参照してください。

    dse spark-sql-thriftserver start

    デフォルトでは、サーバーは起動元のノードにあるlocalhostインターフェースのポート10000でリッスンします。サーバーは特定のポートで起動するように指定できます。たとえば、サーバーをポート10001で起動するには、--hiveconf hive.server2.thrift.port=10001オプションを使用します。ポートの構成とアドレスのバインドは、resources/spark/conf/spark-env.shのHIVE_SERVER2_THRIFT_PORTとHIVE_SERVER2_THRIFT_BIND_HOSTでそれぞれ行うことができます。

    dse spark-sql-thriftserver start --hiveconf hive.server2.thrift.port=10001
  4. CassandraベースのDataFramesを使用して、大量のデータの読み取りと書き込みを行います。たとえば、table_aを参照しながらCassandraベースのDataFrameを使用するtable_a_cass_dfテーブルを作成するには、次のコマンドを実行します。
    CREATE TABLE table_a_cass_df using org.apache.spark.sql.cassandra OPTIONS (table "table_a", keyspace "ks")
    注: CassandraベースのDataFramesでは、JDBCドライバーを使用してデータを挿入する際に、UUIDおよびInet型に関して互換性の問題が生じます。
  5. Spark Cassandra Connectorチューニング・パラメーターを使用して、読み取りと書き込みを最適化します。
  6. サーバーを停止するには、dse spark-sql-thriftserver stopコマンドを入力します。
    dse spark-sql-thriftserver stop

次のタスク

これで、JDBCを使用して jdbc:hive2://hostname:port numberのURIのサーバーにアプリケーションを接続するか、dse spark-beelineを使用できるようになりました。