SparkSQL介绍及使用

news/2024/10/17 18:08:00/

文章目录

  • 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/news/1539769.html

相关文章

二叉树最小深度(递归)

111. 二叉树的最小深度 - 力扣(LeetCode) 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root [3,…

微信小程序 - 供应链系统设计

文章目录 一、系统概述二、系统架构设计三、系统安全设计四、系统性能优化五、系统部署与维护 在当今数字化时代,供应链管理对于企业的高效运营至关重要。微信小程序作为一种便捷的移动应用形式,为供应链系统的开发提供了新的机遇。本文将从系统架构设计…

Embedding实现GPT回答和知识库内容相关的内容

现在的gpt应用基本都实现了这个场景的应用,比如: 联网搜索,根据网上找到的内容来回答你的内容,像bing和kimi或者其他AI搜索引擎智能客服,把网站里的内容或者相关的其他什么资料预置到系统中,提高回答的质量…

扫雷(C 语言)

目录 一、游戏设计分析二、各个步骤的代码实现1. 游戏菜单界面的实现2. 游戏初始化3. 开始扫雷 三、完整代码四、总结 一、游戏设计分析 本次设计的扫雷游戏是展示一个 9 * 9 的棋盘,然后输入坐标进行判断,若是雷,则游戏结束,否则…

MySQL-11.DQL-基本查询

一.DQL语句 -- DQL:基本查询 -- 1.查询指定字段 name,entrydate并返回 select name , entrydate from tb_emp;-- 2.查询返回所有字段 select id, username, password, name, gender, image, job, entrydate, create_time, update_time from tb_emp;select * from tb…

农合生活平台用户量已突破5万人大关。

回顾走来的这一路,农合生活一直在成长的路上,从未停歇。 2024年1月,农合生活小程序1.0推出,上线1个月GMV破百万; 2024年4月,农合生活APP上线,注册用户破万; 2024年4月,…

Excelize 开源基础库 2.9.0 版本正式发布

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel、WPS、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式&#xf…

重构长方法之保留整个对象

在开发中我们会遇到需要从同一个对象中获取多个值的情况,例如从对象rectangle 中获取长方形的宽width和高height,然后将这个两个值传递给方法GetArea去计算面积: public class Demo {public void Method(){//---------------//more code//--…