Spark SQL也支持直接运行SQL查询的接口,不用写任何代码。

运行Thrift JDBC/ODBC服务器

这里实现的Thrift JDBC/ODBC服务器与Hive 0.12中的HiveServer2相一致。你可以用在Spark 或者Hive 0.12附带的beeline脚本测试JDBC服务器。

在Spark目录中,运行下面的命令启动JDBC/ODBC服务器。

./sbin/start-thriftserver.sh

这个脚本接受任何的bin/spark-submit命令行参数,加上一个--hiveconf参数用来指明Hive属性。你可以运行./sbin/start-thriftserver.sh --help来获得所有可用选项的完整 列表。默认情况下,服务器监听localhost:10000。你可以用环境变量覆盖这些变量。

export HIVE_SERVER2_THRIFT_PORT=
export HIVE_SERVER2_THRIFT_BIND_HOST=
./sbin/start-thriftserver.sh \
  --master  \
  ...

或者通过系统变量覆盖。

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

现在你可以用beeline测试Thrift JDBC/ODBC服务器。

./bin/beeline

连接到Thrift JDBC/ODBC服务器的方式如下:

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

Beeline将会询问你用户名和密码。在非安全的模式,简单地输入你机器的用户名和空密码就行了。对于安全模式,你可以按照Beeline文档的说明来执行。

运行Spark SQL CLI

Spark SQL CLI是一个便利的工具,它可以在本地运行Hive元存储服务、执行命令行输入的查询。注意,Spark SQL CLI不能与Thrift JDBC服务器通信。

在Spark目录运行下面的命令可以启动Spark SQL CLI。

./bin/spark-sql