Spark SQL概念学习系列之分布式SQL引擎

时间:2021-01-10 22:11:31

  不多说,直接上干货!

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/ 目录。