前言
DataFrame是Spark中对带模式(schema)行列数据的抽象。DateFrame广泛应用于使用SQL处理大数据的各种场景。
DataFrame 创建
法一 、从不同类型的文件中加载数据创建DataFrame,spark.read
操作
- spark.read.json(“testJson.json”) 或者spark.read.format(“json”).load(“testJson.json”)
json文件
{"name":"min","age":20,}
{"name":"ho", "age":19}
{"name":"zi", "age":21}
代码:
val dfJson = spark.read.format("json").load("/Users/testJson.json")
dfJson.show()
- spark.read.csv(“testCsv.csv”) 或者spark.read.format(“json”).load(“testCsv.csv”)
csv文件
name,age,phone
min,20
ho,19
zi,21
代码
val dfCsv = spark.read.format("csv").option("header", true).load("/Users/testCsv.csv")
dfCsv.show()
- spark.read.parquet(“testParquet.parquet”) 或者spark.read.format(“parquet”).load(“testParquetparquet”)
parquet文件、代码
val dfCsv = spark.read.format("parquet").option("header", true).load("/Users/testParquet.parquet")
dfCsv.show()
法二、 通过Seq + oDF创建DataFrame
val spark = SparkSession
.builder()
.appName("test")
.master("local")
.getOrCreate()
val df = spark.createDataFrame(Seq(
("min", 20),
("ho", 19),
("zi", 21)
)) toDF("name", "age")
df.show()