分散SQLエンジン

Spark SQLはJDBC/ODBCあるいはコマンドラインインタフェースを使って分散型クエリエンジンとして振舞うこともできます。このモードでは、エンドユーザあるいはアプリケーションがコードを書くこと無しにSQLクエリを直接実行するためにSpark SQLと直接やり取りをすることができます。

Thrift JDBC/ODBC サーバの実行

ここで実装されているThrift JDBC/ODBC サーバは組み込み Hive の HiveServer2 に対応します。Spark あるいは互換性のある Hive に付属するbeelineスクリプトを使ってJDBCサーバをテストすることができます。

JDBC/ODBCサーバを開始するには、Sparkディレクトリで以下を実行します:

./sbin/start-thriftserver.sh

このスクリプトはHiveプロパティを指定する--hiveconf を加えて全ての bin/spark-submit コマンドラインを受け付けます。全ての利用可能なオプションのリストのために./sbin/start-thriftserver.sh --help を実行するかも知れません。デフォルトでは、サーバはlocalhsot:10000をlistenします。以下のように環境変数を使ってこの挙動を上書きできます。例えば:

export HIVE_SERVER2_THRIFT_PORT=<listening-port>
export HIVE_SERVER2_THRIFT_BIND_HOST=<listening-host>
./sbin/start-thriftserver.sh \
  --master <master-uri> \
  ...

あるいはシステムプロパティを使って上書き:

./sbin/start-thriftserver.sh \
  --hiveconf hive.server2.thrift.port=<listening-port> \
  --hiveconf hive.server2.thrift.bind.host=<listening-host> \
  --master <master-uri>
  ...

これで、Thrift JDBC/ODBC サーバをテストするために beelineを使うことができます:

./bin/beeline

以下のようにしてbeeline内でJDBC/ODBCに接続します:

beeline> !connect jdbc:hive2://localhost:10000

Beeline はユーザ名とパスワードを尋ねるでしょう。セキュアで無いモードでは、単にマシーン上のユーザ名を入力し空のパスワードを入力します。セキュアモードのためには、beeline ドキュメント にある手順に従ってください。

Hiveの設定は、hive-site.xmlconf/内の core-site.xml および hdfs-site.xml ファイルに置き換えることで行われます。

Hiveに付属するbeeline スクリプトを使うかも知れません。

Thrift JDBC サーバはHTTPトランスポート上のThrift RPC メッセージの送信もサポートします。以下の設定を使ってシステムプロパティあるいはconf/内のhive-site.xml ファイルの中でHTTPモードを有効にします:

hive.server2.transport.mode - Set this to value: http
hive.server2.thrift.http.port - HTTP port number to listen on; default is 10001
hive.server2.http.endpoint - HTTP endpoint; default is cliservice

テストするには、beelineを使って以下のようにしてhttpモードのJDBC/ODBCサーバに接続します:

beeline> !connect jdbc:hive2://<host>:<port>/<database>?hive.server2.transport.mode=http;hive.server2.thrift.http.path=<http_endpoint>

セッションを閉じて CTAS を実行する場合、hive-site.xmlfs.%s.impl.disable.cache を true に設定する必要があります。詳細は、[SPARK-21067] を見てください。

Spark SQL CLIの実行

Spark SQL CLI はローカルモードでHiveメタストアサービスをを実行するのに便利なツールで、コマンドラインからの入力のクエリを実行します。Spark SQL CLIはThrift JDBCサーバとやりとりできないことに注意してください。

Spark SQL CLIを開始するには、Spark ディレクトリで以下を実行してください:

./bin/spark-sql

Hiveの設定は、hive-site.xmlconf/内の core-site.xml および hdfs-site.xml ファイルに置き換えることで行われます。全ての利用可能なオプションの完全なリストのために、./bin/spark-sql --help を実行するかもしれません。

TOP
inserted by FC2 system