SparkSQL介绍及使用

devtools/2024/10/19 3:11:29/

文章目录

  • 1. SparkSQL介绍及使用
    • 1.1 SparkSQL介绍
    • 1.2 数据结构的形式
    • 1.3 Spark SQL 特点
    • 1.4 Spark SQL 和 Hive SQL关系

1. SparkSQL介绍及使用

在这里插入图片描述

1.1 SparkSQL介绍

Spark SQL是Apache Spark 用于处理结构化数据DataFrameDatasets)的模块。
在Spark1.0版本时引入了Spark SQL。
在这里插入图片描述

1.2 数据结构的形式

  • 结构化数据
    • 表,DataFrame,Datasets
    • 构成
      • 元数据 描述数据的数据(描述信息,类型约束)
      • 数据本身
身高
179
173
170
163
  • 半结构化数据
    • json,xml,有数据的描述信息,但是对数据内容的类型无法约束。
{"name":"lxyxp"
}
  • 非结构化数据
    • 文本文件
    • 图片文件
    • 视频文件
    • 音频文件
      总结
  • Spark SQL 可以将非结构化,半结构化数据统一转化为结构化数据处理。
  • Spark中使用的结构化数据有DataFrame,映射表(离线数仓开发使用)。

1.3 Spark SQL 特点

  • 易整合
    • 使用sql配合Spark一起使用,封装了不同语言的DSL方法。
  • 统一数据访问
    • 使用read方法可以读取HDFS数据,MySQL数据,不同类型的文件数据(json、csv、orc)
    • 使用write方法可以写入HDFS、MySQL不同类型的文件
  • 兼容hive
    • 使用Hive SQL方法
  • 标准的数据连接
    • 使用JDBC和ODBC连接方式连接Spark SQL

1.4 Spark SQL 和 Hive SQL关系

  • shark
    • 运行的模式是Hive on Spark
    • 会将Hive SQL 转换为Spark的RDD
    • shark是基于Hive开发的,维护麻烦,2015年停止维护。
  • Spark SQL
    • 是Spark团队独立开发的工具,2014年发布1.0版本。
    • Spark SQL工具对Spark的兼容性更好,优化性能得到提升。
    • Spark SQL本质也是将SQL语句转化为RDD执行,catalyst引擎负责将sql转化为rdd。
    • sparkSQL可以连接使用hive的metastore服务,管理表的元数据。

http://www.ppmy.cn/devtools/126899.html

相关文章

git clone卡在Receiving objects

git clone卡在Receiving objects 一直卡主 $ git clone gitxxx.git Cloning into xxx... remote: Enumerating objects: 75926, done. remote: Counting objects: 100% (18844/18844), done. remote: Compressing objects: 100% (6566/6566), done. Receiving objects: 60% (…

【MYSQL】数据库基本操作----DQL(Data Query Language)---基本查询

1、排序查询 (1)介绍 如果我们需要对读取的数据进行排序,我们就可以使用Mysql的order by字句来设定你想按哪个字段、哪中方式来进行排序,再返回搜索结果。 语法: select 字段名1,字段名2... from …

【C语言】main函数乘积函数

函数是C语言源程序的基本单位 C语言程序包含三种函数:main函数、库函数、用户自定义函数。 每个C程序有且仅有一个main()函数。注意不要遗漏return 0;库函数是编译器中自带的函数,已经写好,加上相应的头文件可直接调用&#xff0…

Redis和Jedis的区别

目录 含义与用途 Jedis案例 总结 含义与用途 Redis: 概念:Redis是一个基于内存的键值存储数据库,支持丰富的数据结构。比如:字符串功能:除了基础的数据存储,Redis还提供了丰富的高级功能。如持久化&…

同三维T80001HK4 四路4K30HDMI H.264编码器

4路同时编码,带4路3.5外置音频 同三维T80001HK4四路4K30HDMI H.264编码器 同三维T80001HK4用于高清视频信号(4K30Hz)编码及网络传输的硬件设备,采用最新高效H.264高清数字视频压缩技术,具备稳定可靠、高清晰度、低码率…

使用 python 下载 bilibili 视频

本文想要达成的目标为:运行 python 代码之后,在终端输入视频链接,可自动下载高清 1080P 视频并保存到相应文件夹。 具体可分为两大步:首先,使用浏览器开发者工具 F12 获取请求链接相关信息(根据 api 接口下…

第十三章 RabbitMQ之消息幂等性

目录 一、引言 二、消息幂等解决方案 2.1. 方案一 2.2. 方案二 一、引言 幂等是一个数学概念,用函数表达式来描述是这样的:f(x) f(f(x)) 。在程序开发中,则是指同一个业务,执行一次或多次对业务状态的影响是一致的。有些业务…

韩信走马分油c++

韩信走马分油c 题目算法代码 题目 把油桶里还剩下的10斤油平分,只有一个能装3斤的油葫芦和一个能装7斤的瓦罐。如何分。 算法 油壶编号0,1,2。不同倒法有:把油从0倒进0(本壶到本壶,无效)&…