分布式 SQL 引擎
使用 JDBC/ODBC 或命令行接口,Spark SQL 还可以作为一个分布式查询引擎。在该模式下,终端用户或 Application 可以直接执行 SQL 查询,而不用写任何代码。
JDBC/ODBC thrift 服务
这里的 JDBC/ODBC 服务对应于 Hive 1.2.1 中的 HiveServer2,可以通过 beeline 脚本来测试特服务。首先执行下面的命令启动 JDBC/ODBC 服务:
./sbin/start-thriftserver.sh
该脚本接受所有 bin/spark-submit 的参数,另外还可以通过 --hiveconf 选项来指定 Hive 属性。该服务默认监听 localhost:10000,可以通过设置环境变量值来修改:
export HIVE_SERVER2_THRIFT_PORT=<listening-port>
export HIVE_SERVER2_THRIFT_BIND_HOST=<listening-host>
./sbin/start-thriftserver.sh \
--master <master-uri> \
...
或通过 --hiveconf 设置:
./sbin/start-thriftserver.sh \
--hiveconf hive.server2.thrift.port=<listening-port> \
--hiveconf hive.server2.thrift.bind.host=<listening-host> \
--master <master-uri>
...
然后使用 beeline 来测试 JDBC/ODBC 服务:
./bin/beeline
使用 beeline 连接 JDBC/ODBC 服务:
beeline> !connect jdbc:hive2://localhost:10000
Beeline 需要你提供一个用户名和密码。在非安全模式中,键入机器用户名和空密码即可;在安全模式中,可以按照 beeline 进行设置
Thrift JDBC server 也支持通过 HTTP 传输 RPC 消息,如下设置系统参数或 hive-site.xml 启用 HTTP 模式:
hive.server2.transport.mode - Set this to value: http
hive.server2.thrift.http.port - HTTP port number fo listen on; default is 10001
hive.server2.http.endpoint - HTTP endpoint; default is cliservice
使用 beeline 来连接 HTTP 模式下的 JDBC/ODBC thrift server:
beeline> !connect jdbc:hive2://<host>:<port>/<database>?hive.server2.transport.mode=http;hive.server2.thrift.http.path=<http_endpoint>
网友评论