Spark SQL可以使用JDBC/ODBC或命令行接口充当分布式查询引擎。这种模式,用户或者应用程序可以直接与Spark SQL交互,以运行SQL查询,无需编写任何代码。

Spark SQL提供两种方式来运行SQL:

  • 通过运行Thrift Server
  • 直接执行Spark SQL命令行

运行Thrift Server方式

1、先运行Hive metastore

nohup hive --service metastore &

2、在 hdfs-site.xml 中添加以下配置

<property>
       <name>fs.hdfs.impl.disable.cache</name>
       <value>true</value>

</property>

3、启动Thrift Server

[root@node1 sbin]# pwd

/export/servers/spark-2.2.0-bin-hadoop2.6/sbin

[root@node1 sbin]# ./start-thriftserver.sh --master local[*]

starting org.apache.spark.sql.hive.thriftserver.HiveThriftServer2, logging to /export/servers/spark-2.2.0-bin-hadoop2.6/logs/spark-root-org.apache.spark.sql.hive.thriftserver.HiveThriftServer2-1-node1.out

默认的端口是:10000

注意:启动 Thrift Server 的命令兼容spark-submit的所有命令

4、使用 beeline 连接 Thrift Server

[root@node1 bin]# ./beeline

Beeline version 1.2.1.spark2 by Apache Hive

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

Connecting to jdbc:hive2://node1:10000

Enter username for jdbc:hive2://node1:10000: root

Enter password for jdbc:hive2://node1:10000:

20/02/01 22:26:41 INFO jdbc.Utils: Supplied authorities: node1:10000

20/02/01 22:26:41 INFO jdbc.Utils: Resolved authority: node1:10000

20/02/01 22:26:41 INFO jdbc.HiveConnection: Will try to open client transport with JDBC Uri: jdbc:hive2://node1:10000

Connected to: Spark SQL (version 2.2.0)

Driver: Hive JDBC (version 1.2.1.spark2)

Transaction isolation: TRANSACTION_REPEATABLE_READ

0: jdbc:hive2://node1:10000> show databases;

+---------------+--+

| databaseName  |

+---------------+--+

| default       |

| demo          |

| job_analysis  |

| test          |

+---------------+--+

4 rows selected (0.629 seconds)

「Spark」Spark SQL Thrift Server运行方式的更多相关文章

  1. Spark SQL Thrift Server 配置 Kerberos身份认证和权限管理

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 之前的博客介绍了通过Kerberos + Sentry的方式实现了hive server2的身份认证和权限管理功能,本文主 ...

  2. spark sql thrift server

    ### create data ## cat ## echo "$(date ;echo ## cat }'";exit}' ..} do passwd) echo "$ ...

  3. spark thrift server configuration

    # MainApplicationProperties # --master yarn --deploy-mode client 下的配置, client 模式表示,driver 是在本地机器上跑的, ...

  4. Spark Thrift Server

    ThriftServer是一个JDBC/ODBC接口,用户可以通过JDBC/ODBC连接ThriftServer来访问SparkSQL的数据.ThriftServer在启动的时候,会启动了一个Spar ...

  5. 【原创】用python连接thrift Server 去执行sql的问题总汇

    场景:python和现有产品的结合和应用——python的前瞻性调研 环境:centos7 0.首先确保安装了python和pyhive,下面是连接代码: #!/usr/bin/env python ...

  6. Spark Shell启动时遇到<console>:14: error: not found: value spark import spark.implicits._ <console>:14: error: not found: value spark import spark.sql错误的解决办法(图文详解)

    不多说,直接上干货! 最近,开始,进一步学习spark的最新版本.由原来经常使用的spark-1.6.1,现在来使用spark-2.2.0-bin-hadoop2.6.tgz. 前期博客 Spark ...

  7. Hive on Spark和Spark sql on Hive,你能分的清楚么

    摘要:结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序. 本文分享自华为云社区<Hive on Spark和Spark sql o ...

  8. [Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子

    [Spark][Python][DataFrame][SQL]Spark对DataFrame直接执行SQL处理的例子 $cat people.json {"name":" ...

  9. [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子

    [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...

随机推荐

  1. python类型-字典

    字典是python语言中唯一的映射类型,映射对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系.一个字典对象是可变的,是一个容器类型,可存储任意个数的python对象,其中也可以包 ...

  2. 异想家Eclipse的偏好配置

    1.汉化 http://www.eclipse.org/babel/downloads.php 找到Babel Language Pack Zips,下面选自己版本点进去,找到如下类似的中文包: Ba ...

  3. JS基础——ATM机终端程序编写(3.0)

    利用函数进行代码实现,要点:将每一项操作单独写成一个函数,在需要时进行调用,弄清参数的传递. 创建模拟账户 使用数组创建账户 let user = ["xiaohei", 1234 ...

  4. [校内训练20_01_20]ABC

    1.问有多少个大小为N的无标号无根树,直径恰好为L.$N,L \leq 200$ 2.问一个竞赛图中有多少个长度为3.4.5的环.$N \leq 2000$ 3.给出一些直线和单个点A,问这些直线的交 ...

  5. javascript的对象、类和方法

    1.类和对象的概念: 1.所有的事物都是一个对象,而类就是具有相同属性和行为方法的事物的集合 2.在JavaScript中建立对象的目的就是将所有的具有相同属性的行为的代码整合到一起,方便使用者的管理 ...

  6. 关于Windows Server 服务器 安装tomcat部署Java Web 项目的问题

    我遇到的问题是:不知道怎么配置,感觉在服务器上部署一个web项目,应该是很高大上,步骤应该很繁琐,但是,事实却不是那样.配置反而挺简单. tomcat配置:在tomcat安装目录中的conf文件夹下有 ...

  7. 使用.NET Core优雅获取并展示最新疫情数据

    前言 新型冠状病毒的出现,着实让人紧张.我每天一大早都会去查看今天的最新数据,可是每次的数据都挺让人揪心的.今天突然间很想看看过去的历史的数据,结果查了很多资料都不是很全.反正国家让我们待在家里做贡献 ...

  8. Java并发编程(一):线程基础知识以及synchronized关键字

    1.线程与多线程的概念:在一个程序中,能够独立运行的程序片段叫作“线程”(Thread).多线程(multithreading)是指从软件或者硬件上实现多个线程并发执行的技术. 2.多线程的意义:多线 ...

  9. 非常NB的一款快捷启动软件--Merry

    Merry 被设计为了能将日常重复性操作简化为一个快捷键或者命令.Merry 采用完全开放的体系, 可以使用 Lua 或者外部程序来扩展 Merry 的功能. 另附一个自己扩展的LUA脚本: --启动 ...

  10. 通过欧拉计划学Rust编程(第54题)

    由于研究Libra等数字货币编程技术的需要,学习了一段时间的Rust编程,一不小心刷题上瘾. 刷完欧拉计划中的63道基础题,能学会Rust编程吗? "欧拉计划"的网址: https ...