不多说,直接上干货!
parkSQL作为分布式查询引擎:两种方式
除了在Spark程序里使用Spark SQL,我们也可以把Spark SQL当作一个分布式查询引擎来使用,有以下两种使用方式:
1.Thrift JDBC/ODBC服务
2.CLI
SparkSQL作为分布式查询引擎:Thrift JDBC/ODBC服务
Thrift JDBC/ODBC服务与Hive 1.2.1中的HiveServer2一致
启动JDBC/ODBC服务:
./sbin/start-thriftserver.sh
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 \
...
SparkSQL作为分布式查询引擎:Thrift JDBC/ODBC服务
Thrift JDBC/ODBC服务默认监听端口为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
...
SparkSQL作为分布式查询引擎: beeline
使用 beeline 来测试Thrift JDBC/ODBC服务:
./bin/beeline
连接到Thrift JDBC/ODBC服务:
beeline> !connect jdbc:hive2://localhost:10000
连接Hive需要拷贝hive-site.xml、core-site.xml、hdfs-site.xml到Spark 的./conf/ 目录。
SparkSQL作为分布式查询引擎: Spark SQL CLI
Spark SQL CLI是一个方便的工具,以本地模式运行Hive的metastore服务和执行从命令行输入查询语句。
Spark SQL CLI不能与Thrift JDBC server交互。
连接Hive需要拷贝hive-site.xml、core-site.xml、hdfs-site.xml到Spark 的./conf/ 目录。