《spark实战》笔记07--应用库--Spark SQL

来源:《spark实战》讲义


在这里插入图片描述
[1 ]Spark SQL

  • SparkSQL提供了完整的数据写入支持,从而补全了多数据源互操作的最后一块重要拼图。可以与Hive、 Parquet、 JSON、 Pandas等多种数据源间的任意转换,正是这一增强的直接成果。

Spark SQL的特点:

  • 引入了新的RDD类型SchemaRDD,可以象传统数据库定义表一样来定义SchemaRDD,
    SchemaRDD由定义了列数据类型的行对象构成。
  • SchemaRDD可以从RDD转换过来,也可以从Parquet文件读入,也可以使用HiveQL从Hive中获取。
  • 在应用程序中可以混合使用不同来源的数据,如可以将来自HiveQL的数据和来自SQL的数据进行join操作。
  • 内嵌catalyst优化器对用户查询语句进行自动优化

在这里插入图片描述


[2 ]SparkSQL vs DataFrame
在这里插入图片描述


[3 ]catalyst优化器
在这里插入图片描述
SparkSQL1.x 总体上由四个模块组成: core、 catalyst、 hive、 hiveThriftserver:
1) core处理数据的输入输出,从不同的数据源获取数据(RDD、Parquet、 json等),将查询结果输出成schemaRDD;
2) catalyst处理查询语句的整个处理过程,包括解析、绑定、优化、物理计划等,说其是优化器,还不如说是查询引擎;
3) hive对hive数据的处理
4) hive-ThriftServer提供CLI和JDBC/ODBC接口


[4 ]SparkSQL vs DataFrame

  • DataFrames and SQL提供一通用的方式访问多种数据源, 包含 Hive, Avro, Parquet, ORC, JSON, and JDBC. 甚至还可以join数据用这些数据源的数据
  • Spark SQL 重用Hive的 frontend and metastore, 可以访问、分析在Hive里面的数据, 查询, and UDFs.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值