Spark SQL可以通过JDBC/ODBC或命令行接口用作分布式查询引擎,此时终端用户或应用可以直接与Spark SQL交互,运行SQL查询,而不需要再编写任何代码。

Thrift JDBC/ODBC server

Thrift JDBC/ODBC server与Hive 1.2.1中的HiveServer2关系紧密,可以通过Spark或Hive 1.2.1的beeline脚本测试JDBC Server.

首先,启动JDBC/ODBC server

./sbin/start-thriftserver.sh

该脚本接受bin/spark-submit 的所有命令选项,通过--hiveconf 可以指定Hive配置。

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 server

./bin/beeline

在beeline中连接JDBC/ODBC server

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

Spark SQL CLI

Spark SQL CLI可以很方便运行本地模式下的Hive metastore service,并执行查询请求。但是,Spark SQL CLI不能与Thrift JDBC Server通信。

启动Spark SQL CLI

./bin/spark-sql

results matching ""

    No results matching ""