Shark,SparkSQL
Hive是Shark的前身,Shark是SparkSQL的前身
相对于Shark,SparkSQL有什么优势呢?
– SparkSQL产生的根本原因,其完全脱离了Hive的限制
– SparkSQL支持查询原生的RDD,这点就极为关键了。RDD是Spark平台的核心概念,是Spark能够高效的处理大数据的各种场景的基础
– 能够在Scala中写SQL语句。支持简单的SQL语法检查,能够在Scala中写Hive语句访问Hive数据,并将结果取回作为RDD使用
最近出来另个组合名称:
– Spark on Hive
• Hive只是作为了存储的角色
• SparkSQL作为计算的角色
– Hive on Spark
• Hive承担了一部分计算(解析SQL,优化SQL…)的和存储
• Spark作为了执行引擎的角色
DataFrame
与RDD类似,DataFrame也是一个分布式数据容器。然而DataFrame更像传统数据库的二维
表格,除了数据以外,还掌握数据的结构信息,即schema。同时,与Hive类似,
DataFrame也支持嵌套数据类型(struct、array和map)。从API易用性的角度上 看,
DataFrame API提供的是一套高层的关系操作,比函数式的RDD API要更加友好,门槛更低
DataFrame的底层封装的是RDD,只不过RDD的泛型是Row类型。

本文详细介绍了Spark SQL的发展历程,从Shark到Spark SQL的优势,以及DataFrame的特性。讨论了Spark SQL的底层架构,包括逻辑计划、物理计划和谓词下推。还阐述了DataFrame的创建、读取JSON、Parquet文件的方法,以及Spark SQL在1.6和2.0版本的区别。此外,对比了DataFrame与RDD的区别,并提供了将DataFrame保存至MySQL的示例。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



