Spark-SQL--Thrift的安装及使用


安装及使用

  1. 配置hive-site.xml(baiyun.server.com主机进行)
    Spark-SQL的安装及使用的基础上,继续对hive-site.xml进行配置,如下

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!--Autogenerated by Cloudera Manager-->
    <configuration>
      <property>
        <name>hive.metastore.uris</name>
        <value>thrift://Hive-Metastore-Server:9083</value>
      </property>
    <property>
      <name>hive.server2.thrift.port</name>
      <value>10001</value>
      <description>Port number of HiveServer2 Thrift interface.
      Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description>
    </property>
    <property>
      <name>hive.server2.thrift.bind.host</name>
      <value>baiyun.server.com</value>
      <description>Bind host on which to run the HiveServer2 Thrift interface.
      Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST</description>
    </property>
    
    </configuration>
    

    hive.metastore.uris指定了连接的Hive数据源,hive.server2.thrift.bind.host指定要启动thrift server的主机,hive.server2.thrift.port指定要打开的端口号。使用端口10001是为了避免与Hive自己的hive.server2.thrift.port—10000产生冲突。

  2. 开启thrift server(baiyun.server.com主机进行)
    输出Hadoop配置路径:export HADOOP_CONF_DIR=/etc/hadoop/conf.
    使用命令sbin/start-thriftserver.sh --master yarn启动thrift server。可以在http://baiyun.server.com:4040/jobs/查看所有作业情况。
    通过netstat -lanp | grep 10001判断端口是否在监听。
  3. 客户端连接启动的thrift server(baiyun.client.com主机进行)
    在客户端baiyun.client.com的Spark安装目录下,运行bin/beeline

    hdfs@baiyun.client.com:~/spark-1.6.1-bin-hadoop2.6$ bin/beeline 
    Beeline version 1.6.1 by Apache Hive
    

    之后输入!connect jdbc:hive2://baiyun.server.com:10001连接到thrift server,用户名可以随意输入,

    beeline>  !connect jdbc:hive2://baiyun.server.com:10001
    Connecting to jdbc:hive2://baiyun.server.com:10001
    Enter username for jdbc:hive2://baiyun.server.com:10001: lilei
    Enter password for jdbc:hive2://baiyun.server.com:10001: 
    log4j:WARN No appenders could be found for logger (org.apache.hive.jdbc.Utils).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.  
    Connected to: Spark SQL (version 1.6.1)
    Driver: Spark Project Core (version 1.6.1)
    Transaction isolation: TRANSACTION_REPEATABLE_READ
    

    输入sql语句进行测试,

    0: jdbc:hive2://baiyun.client.com:10001> show databases;
    +----------+--+
    |  result  |
    +----------+--+
    | default  |
    | lykdata  |
    +----------+--+
    
    2 rows selected (0.203 seconds)
    
  4. 在作业界面查看客户端的所有操作
    spark-thrift1
    spark-thrift2

后记

上述连接的是自建的Thrift Server,客户端进行的所有操作都在Spark的作业界面可以看到,并且每个sql语句对应一个job。

实际上也可以通过命令!connect jdbc:hive2://hive-thrift-server:10000连接Hive自带的Thrift Server,与上述不同的是每个sql语句都对应一个MR作业。


参考

  1. sparkSQL1.1入门之七:ThriftServer和CLI
  2. CDH5.3.2中配置运行Spark SQL的Thrift Server
  3. Spark编程指南 - 简体中文版 –其它SQL接口
Spark-ThriftSpark-SQLSpark框架中的两个组件,它们有以下区别: 1. Spark-SQLSpark的一个模块,用于处理结构化数据,支持SQL查询和DataFrame API。它提供了一种高效且易于使用的方法来处理和分析结构化数据。用户可以使用SQL语句或DataFrame API来查询和操作数据。Spark-SQL允许用户直接在Spark应用程序中使用SQL查询,而无需编写复杂的MapReduce代码。 2. Spark-ThriftSpark的一个独立服务,它提供了一个标准的Thrift接口,用于执行SQL查询。它可以作为一个独立的进程运行,并通过网络接收来自客户端的SQL查询请求,并将查询转发到Spark集群中的Spark-SQL模块进行处理。Spark-Thrift使得可以使用不同的编程语言,如Java、Python、R等,通过Thrift接口与Spark集群交互。 因此,Spark-SQLSpark框架中用于处理结构化数据的模块,而Spark-Thrift是提供Thrift接口让用户可以使用不同编程语言与Spark-SQL模块交互的独立服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CDH15.0支持spark-sqlspark-thrift-server](https://blog.csdn.net/u012458821/article/details/87635599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [122.Thriftspark-sql客户端部署](https://blog.csdn.net/m0_47454596/article/details/126856172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值