理解Spark中SparkSQL模块DataSource使用

Spark SQL支持通过DataFrame接口对各种数据源进行操作。 DataFrame可以使用关系转换进行操作,也可以用于创建临时视图。 将DataFrame注册为临时视图允许您对其数据运行SQL查询。 本节介绍使用Spark数据源加载和保存数据的一般方法,然后介绍可用于内置数据源的特定选项。

1.Generic Load/Save Functions

在最简单的形式中,默认数据源(parquet除非另外由spark.sql.sources.default配置)将用于所有操作。

val userDF = spark.read.load("examples/src/main/resources/users.parquet")

usersDF.select("name", "favorite_color").write.save("namesAndFavColors.parquet”)

1.1.Manually Specifying Options

 

可以手动指定将要使用的数据源以及要传递给数据源的任何其他选项。 数据源由其完全限定名称(即org.apache.spark.sql.parquet)指定,

但对于内置源,可以使用其短名称(json,parquet,jdbc,orc,libsvm,csv,text)。 从任何数据源类型加载的DataFrame都可以使用此语法转换为其他类型。

要加载JSON文件,您可以使用:

* json的例子如下:

val peopleDF = spark.read.format("json").load("examples/src/main/resources/people.json")

peopleDF.select("name", "age").write.format("parquet").save("nameAndAges.parquet”)

你可能感兴趣的:(Scala,大数据挖掘与大数据应用案例)