1.Spark SQL出现的 原因是什么?
spark sql是spark用来处理结构化数据的一个模块,与hive的hql不同,hive需要将hql转化成MapReduce然后提交执行,sparksql将sql语句转换成rdd然后提交集群执行,将执行效率大大提升
2.用spark.read 创建DataFrame
3.观察从不同类型文件创建DataFrame有什么异同?
4.观察Spark的DataFrame与Python pandas的DataFrame有什么异同?
Spark SQL DataFrame的基本操作
创建:
spark.read.text()
spark.read.json()
file=‘file:///usr/local/spark/examples/src/main/resources/people.txt‘ data = spark.read.text(file) file=‘file:///usr/local/spark/examples/src/main/resources/people.json‘ datas = spark.read.json(file)
打印数据
df.show()默认打印前20条数据,df.show(n)
打印概要
df.printSchema()
查询总行数
df.count()
df.head(3) #list类型,list中每个元素是Row类
输出全部行
df.collect() #list类型,list中每个元素是Row类
查询概况
df.describe().show()
取列
df[‘name’]
df.name
df.select() datas.select(datas[‘name‘],datas[‘age‘]+1).show()
df.filter() datas.filter(datas[‘age‘]>20).show()
df.groupBy() datas.groupBy(‘age‘).count().show()
df.sort() datas.sort(datas[‘age‘].desc()).show()