06 Spark SQL 及其DataFrame的基本操作
2021/5/10 19:29:31
本文主要是介绍06 Spark SQL 及其DataFrame的基本操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.Spark SQL出现的 原因是什么?
Spark SQL的前身是 Shark,Shark最初是美国加州大学伯克利分校的实验室开发的Spark生态系统的组件之一,它运行在Spark系统之上,Shark重用了Hive的工作机制,并直接继承了Hive的各个组件, Shark将SQL语句的转换从MapReduce作业替换成了Spark作业,虽然这样提高了计算效率,但由于 Shark过于依赖Hive,因此在版本迭代时很难添加新的优化策略,从而限制了Spak的发展,在2014年,伯克利实验室停止了对Shark的维护,转向Spark SQL的开发。
Shark Hive on Spark Hive即作为存储又负责sql的解析优化,Spark负责执行
SparkSQL Spark on Hive Hive只作为储存角色,Spark负责sql解析优化,执行
SparkSQL产生的根本原因是为了完全脱离Hive限制
2.用spark.read 创建DataFrame
spark.read.text(file)
spark.read.json(file)
3.观察从不同类型文件创建DataFrame有什么异同?
txt文件:创建的DataFrame数据没有结构
json文件:创建的DataFrame数据有结构
4.观察Spark的DataFrame与Python pandas的DataFrame有什么异同?
Spark SQL DataFrame的基本操作
文件路径:
file='url'
文本:
json:
创建:
spark.read.text(file)
spark.read.json(file)
打印数据
df.show()默认打印前20条数据,df.show(n)
文本:
json:
打印概要
df.printSchema()
文本:
json:
查询总行数
df.count()
df.head(3) #list类型,list中每个元素是Row类
文本:
json:
输出全部行
df.collect() #list类型,list中每个元素是Row类(文本与json数据差异与上df.head()同)
查询概况
df.describe().show()
文本:
json:
取列(仅json文件可使用以下命令)
df['name']
df.name
df.select()
df.filter()
df.groupBy()
df.sort()
这篇关于06 Spark SQL 及其DataFrame的基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-08如何在敏捷项目中实现高效测试?
- 2024-07-08用户故事一定要有 “So that...” 吗?
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt