DataFrame:1.3版本以前叫做SchemaRDD后来改名为DataFrame
1.分布式的数据集
2.按列进行组织的数据集
3.等于关系型数据库
4.等于DateSet[Row]
Dataset:A Dataset is a distributed collection of data.
DataFrame vs Dataset(1.6出现)
支持的编程语言:
DS: Java Scala
DF: Java Scala Pathon R
DataFrame vs RDD vs Dataset
RDD、DataFrame、Dataset的区别和各自的优势
Spark SQL入口点(版本对比)
<2(版本号): SQLContext HiveContext
>=2(版本号): SparkSession
SparkSession示例:SparkSession详解
val spark = SparkSession.builder()
.master("local[2]")
.appName("SparkSessionZipsExample")
.enableHiveSupport()//支持Hive
.getOrCreate()
DataFrame基本操作:
读取文件:
spark.read.format("json").load(path)
简写:spark.read.json(path)//底层调用的上述方法
spark.read.format("text").load(path)
spark.read.format("parquet").load(path)
spark.read.format("orc").load(path)
查询字段:
df.select("name") .show
df.select('name") .show
df.select($"name", $"age" + 1) .show
DataFrame常用命令
API RDD to DF:
Spark将RDD转换成DataFrame的两种方式
DF to SQL:
df.createOrReplaceTempView("table")
spark.sql("select * from table").show()