欢迎光临散文网 会员登陆 & 注册

什么是SparkSQL?为什么要学习SparkSQL?

2023-03-03 16:08 作者:ingemar-  | 我要投稿

1 什么是SparkSQL


SparkSQL 是Spark的一个模块, 用于处理海量结构化数据

限定: 结构化数据处理

第一、针对结构化数据处理,属于Spark框架一个部分

schema信息,包含字段的名称和字段的类型,比如:JSON、XML、CSV、TSV、MySQL Table、ORC、Parquet,ES、MongoDB等都是结构化数据;

第二、抽象数据结构:DataFrame

DataFrame = RDD + Schema信息;

第三、分布式SQL引擎,类似Hive框架

从Hive框架继承而来,Hive中提供bin/hive交互式SQL命令行及HiveServer2服务,SparkSQL都可以;

Spark SQL模块架构示意图如下

备注:Catalog就是Spark 2.0之后提供的访问元数据的类:Catalog提供一些API用来对数据库、表、视图、缓存、列、函数(UDF/UDAF)进行操作



2 为什么学习SparkSQL


由于MapReduce这种计算模型执行效率比较慢,rdd原生代码较为复杂,所以Spark SQL应运而生,它是将Spark SQL转换成RDD,然后提交到集群中去运行,执行效率非常快!(查看官网学习)

SparkSQL是非常成熟的 海量结构化数据处理框架.

学习SparkSQL主要在2个点:

1. SparkSQL本身十分优秀, 支持SQL语言\性能强\可以自动优化\API简单\兼容HIVE等等

2. 企业大面积在使用SparkSQL处理业务数据

· 离线开发

· 数仓搭建

· 科学计算、数据分析



3 SparkSQL的特点

融合性

SQL可以无缝集成在代码中, 随时用SQL处理数据

统一数据访问

一套标准API可读写不同数据源

Hive兼容

可以使用SparkSQL直接计算并生成Hive数据表

标准化连接

支持标准化JDBC\ODBC连接, 方便和各种数据库进行数据交互.

SparkSQL模块官方文档:

http://spark.apache.org/docs/3.1.2/sql-programming-guide.html


什么是SparkSQL?为什么要学习SparkSQL?的评论 (共 条)

分享到微博请遵守国家法律