ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

06 Spark SQL 及其DataFrame的基本操作

2021-05-10 12:36:23  阅读:198  来源: 互联网

标签:Shark 06 df DataFrame json Hive 基本操作 Spark


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()

标签:Shark,06,df,DataFrame,json,Hive,基本操作,Spark
来源: https://www.cnblogs.com/baozi666/p/14750564.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有