分布式 SQL 引擎

分布式 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=
export HIVE_SERVER2_THRIFT_BIND_HOST=
./sbin/start-thriftserver.sh \
  --master  \
  ...

或通过 --hiveconf 设置:

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

然后使用 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://:/?hive.server2.transport.mode=http;hive.server2.thrift.http.path=

https://github.com/keepsimplefocus/spark-sourcecodes-analysis/blob/master/spark-sql/Spark-SQL%EF%BC%8CDataFrame%E4%BB%A5%E5%8F%8A-Datasets-%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97---For-2-0.md

你可能感兴趣的:(分布式 SQL 引擎)