分散SQLエンジン
Spark SQLは、JDBC/ODBCまたはコマンドラインインターフェイスを使用して、分散クエリエンジンとしても機能します。このモードでは、エンドユーザーやアプリケーションは、コードを一切記述することなく、Spark SQLと直接対話してSQLクエリを実行できます。
Thrift JDBC/ODBCサーバーの実行
ここで実装されているThrift JDBC/ODBCサーバーは、組み込みHiveのHiveServer2に対応します。JDBCサーバーは、Sparkまたは互換性のあるHiveに付属するbeelineスクリプトでテストできます。
JDBC/ODBCサーバーを開始するには、Sparkディレクトリで以下を実行します。
./sbin/start-thriftserver.sh
このスクリプトは、bin/spark-submitのすべてのコマンドラインオプションに加えて、Hiveプロパティを指定するための--hiveconfオプションを受け入れます。利用可能なすべてのオプションの完全なリストについては、./sbin/start-thriftserver.sh --helpを実行できます。デフォルトでは、サーバーはlocalhost:10000でリッスンします。この動作は、環境変数、つまり
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>
...これで、beelineを使用してThrift JDBC/ODBCサーバーをテストできます。
./bin/beeline
beelineでJDBC/ODBCサーバーに接続するには、以下を使用します。
beeline> !connect jdbc:hive2://:10000
Beelineはユーザー名とパスワードを尋ねます。非セキュアモードでは、マシンのユーザー名と空白のパスワードを入力するだけです。セキュアモードについては、beelineドキュメントの指示に従ってください。
Hiveの設定は、hive-site.xml、core-site.xml、およびhdfs-site.xmlファイルをconf/に配置することで行われます。
Hiveに付属するbeelineスクリプトを使用することもできます。
Thrift JDBCサーバーは、HTTPトランスポートを介したThrift RPCメッセージの送信もサポートしています。HTTPモードを有効にするには、システムプロパティとして、またはconf/のhive-site.xmlファイルに以下の設定を使用します。
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>;transportMode=http;httpPath=<http_endpoint>
セッションを閉じ、CTASを実行した場合は、hive-site.xmlでfs.%s.impl.disable.cacheをtrueに設定する必要があります。詳細については、[SPARK-21067]を参照してください。
Spark SQL CLIの実行
シェルからSpark SQLコマンドラインインターフェイス(CLI)を使用するには
./bin/spark-sql
詳細については、Spark SQL CLIを参照してください。