Spark dataset and dataframe 深入分析
Spark Dataset和DataFrame深入分析知识点: 1. Spark Catalyst优化器框架:Catalyst是Spark中用于操作关系运算符树的优化器框架,它为执行Spark中的关系查询(SQL)提供了原生支持。这个框架将SQL查询转换为可执行的物理计划。 2. Spark SQL:这是一个几乎从头开始重写的工作,它借鉴了Shark的优秀部分。其中包含了Hive数据加载代码的引入,以及对Spark执行引擎的增强和对RDD感知的优化器,实现了内存列式存储的表示。 3. Spark SQL的功能和设计:支持写HQL查询,拥有与Hive MetaStore交互的Catalog,以及使用Hive SerDes的表扫描操作符,并且包含了Hive UDFs, UDAFs, UDTFs的包装器。 4. Parquet支持:Spark原生支持读取存储在Parquet格式中的数据,利用列式存储避免读取不必要的数据。可以将RDD写入Parquet文件中,同时保留数据的schema。目前只支持扁平结构的数据,对于嵌套数据的支持已在短期内提上日程。 5. SQLContext:这是Spark SQL功能的入口点,它封装或扩展了现有的SparkContext。使用SQLContext可以执行所有SQL功能,并且它提供了所有SQL函数和转换的访问入口。 6. RDD和DataFrame:Spark中的核心抽象是RDD,即弹性分布式数据集(Resilient Distributed Datasets),它们提供了分布式粗粒度转换。Dataset是带有schema信息的RDD,它将数据的类型和名称纳入考虑。可以将RDD转换为Relation,通过定义case类来指定schema,创建一个Person类的对象的RDD并注册为表。 7. 使用SQL查询:可以使用sqlContext提供的sql方法来运行SQL语句,执行后的查询结果是SchemaRDD,并且支持正常的RDD操作。查询结果的行的列可以按顺序访问。 8. Spark SQL执行引擎:执行引擎负责物理计划的执行,它经过强化,以实现对执行计划的调度和执行。 9. Spark SQL语言接口:提供了多种语言接口来访问Spark SQL的功能,使得Spark可以在多种编程语言环境中被使用。 10. Hive兼容性:为了确保与Hive生态系统的兼容性,Spark提供了接口来访问Hive环境中的数据和代码,包括支持HQL查询、Hive元数据存储接口以及Hive SerDes和UDF的封装。 11. 性能优化:因为Parquet的列式存储可以避免读取不需要的数据,所以对性能有显著提升。同时,RDD在写入Parquet文件时可以保留数据的schema,这为数据处理带来了灵活性。 通过以上知识点,我们可以看到Spark在处理大数据时的灵活性和高效性,特别是通过Spark SQL的引入,能够更加方便地处理结构化数据,同时,Catalyst框架则提供了强大的查询优化能力,进一步提升了Spark在数据处理方面的竞争力。
剩余26页未读,继续阅读
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三菱PLC项目案例学习之PLC控制伺服或步进电机带动丝运行案例 器件:三菱FX1SPLC,威纶通触摸屏,48步进驱动器,伺服电机,丝杆滑台等 控制方式:PLC发脉冲给步进驱动器控制步进电机带动丝杆
- 北航智能自主系统.7z
- 开源风噪 matlab 代码及仿真数据
- 北航软件体系架构.7z
- “预防夏季中暑”知识讲座教案课件.pptx
- 幼儿园老师与家长的沟通技巧培训讲座教案课件.pptx
- 企业新员工职业道德培训教案课件.pptx
- “构建高效课堂,展现课堂魅力”教师培训教案课件.pptx
- “幼儿园教师礼仪”培训教案课件资料.pptx
- “夏季行车安全”讲座教案课件资料.pptx
- 昆仑通泰暖通空调中央空调控制组态程序,适用于绝大多数西门子方案暖通空调自控系统
- mongodb-windows-x86-64-6.0.19-signed.msi
- spring-series
- java大题啊实打实的
- java大题txt格式
- 基于CSS绘制的圣诞树网页元素