SparkSQL介绍及使用

文章目录

  • [1. SparkSQL介绍及使用](#1. SparkSQL介绍及使用)
    • [1.1 SparkSQL介绍](#1.1 SparkSQL介绍)
    • [1.2 数据结构的形式](#1.2 数据结构的形式)
    • [1.3 Spark SQL 特点](#1.3 Spark SQL 特点)
    • [1.4 Spark SQL 和 Hive 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,有数据的描述信息,但是对数据内容的类型无法约束。
pytohn 复制代码
{
    "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服务,管理表的元数据。
相关推荐
大大大大晴天1 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB2 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI2 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI2 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop
WhoAmI2 天前
MapReduce框架原理解析二:Shuffle
大数据·hadoop
大大大大晴天3 天前
Hudi技术内幕:Key Generation原理与实践
大数据
得物技术6 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子6 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1237 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch