Spark SQL Thriftサーバーの使用

Spark SQL Thriftサーバーは、JDBCとODBCのインターフェイスを使用してDSEにクライアント接続します。

Spark SQL Thriftサーバーは、JDBCとODBCのインターフェイスを使用してデータベースにクライアント接続します。

DataStaxでは、大量のデータの読み取りまたは書き込みを行う際に、DataFrameを使用して、Spark Cassandra Connectorの使用を有効にして、これに伴うチューニング・パラメーターの利点を活用することを推奨しています。

Sparkを使用する場合のhive-site.xmlファイルのデフォルトの場所:

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/spark/hive-site.xml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/spark/conf/hive-site.xml

手順

  1. Kerberos認証を使用している場合は、hive-site.xmlファイルで、Spark SQL Thriftサーバーの認証情報を構成します。
        <property>
          <name>hive.server2.authentication.kerberos.principal</name>
          <value>thriftserver/_HOST@EXAMPLE.COM</value>
        </property>
    
        <property>
          <name>hive.server2.authentication.kerberos.keytab</name>
          <value>/etc/dse/dse.keytab</value>
        </property>
    以下のように、Sparkディレクトリーでhive-site.xmlファイルを使用します。
    Installer-Servicesおよびパッケージのインストール /etc/dse/spark/hive-site.xml
    Installer-No Servicesおよびtarボールのインストール installation_location/resources/spark/conf/hive-site.xml
  2. サービスとしてSparkを有効にした状態またはスタンドアローンのインストールで、DataStax Enterpriseを起動します。
  3. パーミッションを持つユーザーとして、dse spark-sql-thriftserver startコマンドを入力してサーバーを起動し、Sparkディレクトリーに書き込みます。

    サーバーのデフォルト設定をオーバーライドするには、--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

    --confオプションを使用して、一般的なSpark構成設定を指定できます。

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

次のタスク

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