Spark SQL关于数据源的操作可以查看$SPARK_HOME/examples/src/main/python/sql/datasource.py
默认的数据源是parquet,当然可以通过spark.sql.sources.default
设置数据源。
加载parquet
df = spark.read.load("examples/src/main/resources/users.parquet")
存储parquet
df.select("name", "favorite_color").write.save("namesAndFavColors.parquet")
指定数据源
数据源可以以全名指定,例如org.apache.spark.sql.parquet
,对于内建的数据源可以使用短名,如json、parquet、jdbc、orc、libsvm、csv、text。
df = spark.read.load("examples/src/main/resources/people.json", format="json")
df.select("name", "age").write.save("namesAndAges.parquet", format="parquet")
执行SQL
可以直接通过SQL在文件上查询
df = spark.sql("SELECT * FROM parquet.`examples/src/main/resources/users.parquet`")