当前位置: 首页 > news >正文

SparkSQL的分布式执行引擎-Thrift服务:学习总结(第七天)

系列文章目录

SparkSQL的分布式执行引擎
1、启动Thrift服务
2、beeline连接Thrift服务
3、开发工具连接Thrift服务
4、控制台编写SQL代码

文章目录

  • 系列文章目录
  • 前言
    • 一、SparkSQL的分布式执行引擎(了解)
      • 1、启动Thrift服务
      • 2、beeline连接Thrift服务
      • 3、开发工具连接Thrift服务
      • 4、控制台编写SQL代码


前言

本文主要讲述SparkSQL的分布式执行引擎-Thrift服务


一、SparkSQL的分布式执行引擎(了解)

分布式执行引擎 == Thrift服务 == ThriftServer == SparkSQL中的Hiveserver2

1、启动Thrift服务

​ 前提:已经完成Spark集成Hive的配置。但是目前集成后,如果需要连接Hive,此时需要启动一个Spark的客户端(spark-sql、代码)才可以。这个客户端底层相当于启动服务项,用于连接Hive的metastore的服务,进行处理操作。一旦退出客户端,相当于这个服务也就没有了,无法再使用

​ 目前的情况非常类似于在Hive部署的时候,有一个本地模式部署(在启动Hive客户端的时候,内部自动启动一个Hive的hiveserver2服务项)

大白话: 目前在Spark后台,并没有一个长期挂载的Spark的服务(Spark HiveServer2服务)。导致每次启动Spark客户端,都需要在内部启动一个服务项。这种方式,不适合测试使用,不合适后续的快速开发

​ 如何启动Spark 提供的分布式的执行引擎呢? 这个引擎大家完全可以将其理解为Spark的HiveServer2服务,实际上就是Spark的Thrift服务项

# 注意: 要启动sparkThriftServer2服务,必须要保证先启动好Hadoop以及Hive的metastore,不能启动Hive的hiveserver2服务!
# 启动 hadoop集群
start-all.sh# 启动hive的metastore
nohup /export/server/hive/bin/hive --service metastore &# 最后执行以下命令启动sparkThriftServer2:
/export/server/spark/sbin/start-thriftserver.sh \
--hiveconf hive.server2.thrift.port=10000 \
--hiveconf hive.server2.thrift.bind.host=node1 \
--hiveconf spark.sql.warehouse.dir=hdfs://node1:8020/user/hive/warehouse \
--master local[2]

校验是否成功:

在这里插入图片描述

访问界面:默认4040

在这里插入图片描述

2、beeline连接Thrift服务

启动后,可以通过spark提供beeline的方式连接这个服务。连接后,直接编写SQL即可

相当于模拟了一个Hive的客户端,但是底层执行的是Spark SQL,最终将其转换为Spark RDD的程序

启动命令:/export/server/spark/bin/beeline然后输入:!connect jdbc:hive2://node1:10000继续输入用户名: root
注意密码: 不需要写,直接回车

在这里插入图片描述

3、开发工具连接Thrift服务

如何通过DataGrip或者PyCharm连接Spark进行操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

博主已经上传资源:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、控制台编写SQL代码

进入以下页面就可以愉快的编写sql了,再也不用担心在spark.sql()中编写没有提示了:)

在这里插入图片描述

http://www.lryc.cn/news/380223.html

相关文章:

  • 联华集团:IT团队如何实现从成本中心提升至价值中心|OceanBase 《DB大咖说》(十)
  • 计算机系统基础实训五—CacheLab实验
  • PHP框架之CodeIgniter框架
  • 714. 买卖股票的最佳时机含手续费
  • Linux系统查看程序内存及CPU占用
  • 数据结构7---图
  • Excel 如何复制单元格而不换行
  • 前端 CSS 经典:mix-blend-mode 属性
  • OpenCV--滤波器(一)
  • MK的前端精华笔记
  • 低代码平台框架:开源选型、实践与应用深度解析
  • 深度学习500问——Chapter12:网络搭建及训练(3)
  • Android使用DevRing框架搭建数据库实体类以及使用
  • 高效BUG管理:定级、分类和处理流程
  • 服务器数据恢复—raid5热备盘同步失败导致阵列崩溃如何恢复数据?
  • Ubuntu iso 镜像下载 步骤截图说明
  • git拉取gitee项目到本地
  • 力扣42.接雨水
  • 国产数据库与MYSQL兼容性?开发应该怎么选择?
  • Spring框架中Bean的生命周期
  • 从零到一学FFmpeg:avformat_alloc_output_context2 函数详析与实战
  • Lua 绕过元表
  • pip方法总结(极简快速掌握)
  • aigc基础概念(一)
  • USB学习——12、usb初始化和插拔驱动软件流程大致框架描述
  • 【ARMv8/ARMv9 硬件加速系列 2.4 -- ARM NEON Q寄存器与V寄存器的关系】
  • Oracle中递归查询(START WITH……CONNECT BY……)
  • 【云原生|K8S系列】如何创建Kubernetes job和Cronjobs 入门指南
  • 力扣每日一题 6/23 字符串/模拟
  • Google trend搜索关键词