分散SQLエンジン
Spark SQLは、JDBC/ODBCまたはコマンドラインインターフェースを使用して、分散クエリエンジンとしても機能します。このモードでは、エンドユーザーまたはアプリケーションは、コードを記述することなく、Spark SQLと直接対話してSQLクエリを実行できます。
Thrift JDBC/ODBCサーバーの実行
ここで実装されているThrift JDBC/ODBCサーバーは、組み込みHiveのHiveServer2
に対応しています。Sparkまたは互換性のあるHiveに付属のbeelineスクリプトを使用して、JDBCサーバーをテストできます。
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://localhost: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>?hive.server2.transport.mode=http;hive.server2.thrift.http.path=<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を参照してください。