1.Spark SQL出现的 原因是什么?
尽管数据库的事务和查询机制较好胡满足胃各类商业公司胡业务数据管理需求,但关系数据库在大数据时代不能满足各类新增的用户需求,用户需要从不同胡数据源执行各种操作,用户需要执行高级分析,比如机器学习和图像处理,而spark sql的出现填补了这个鸿沟,spakr可以提供DataFrame API,可以对内部以及外部胡数据源执行各种关系操作,支持大量胡数据源和数据分析算法,组合使用SQL和Spark MLlib,有效的满足各种复杂的应用需求。
2.用spark.read 创建DataFrame
spark.read.text(‘people.txt‘),spark.read.json(‘people.json‘),spark.read.format(‘people.parquet‘),spark.read.format(‘text‘).load(‘people.txt‘),spark.read.format(‘json‘).load(‘people.json‘),spark.read.format(‘parquet‘).load(‘people.parquet‘‘)
3.观察从不同类型文件创建DataFrame有什么异同?
使用txt文件创建的DataFrame数据没有结构,使用json文件创建的DataFrame数据有结构
4.观察Spark的DataFrame与Python pandas的DataFrame有什么异同?
Spark SQL DataFrame的基本操作
创建:
spark.read.text()
spark.read.json()
打印数据
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()
df.filter()
df.groupBy()
df.sort()