美文网首页
手动指定数据源类型

手动指定数据源类型

作者: 一个人一匹马 | 来源:发表于2019-02-21 21:33 被阅读0次

也可以手动指定用来操作的数据源类型。数据源通常需要使用其全限定名来指定,比如parquet是org.apache.spark.sql.parquet。但是Spark SQL内置了一些数据源类型,比如json,parquet,jdbc等等。实际上,通过这个功能,就可以在不同类型的数据源之间进行转换了。比如将json文件中的数据保存到parquet文件中。默认情况下,如果不指定数据源类型,那么就是parquet。

Java版本

DataFrame df = sqlContext.read().format("json").load("people.json");
df.select("name", "age").write().format("parquet").save("namesAndAges.parquet");

Scala版本

val df = sqlContext.read.format("json").load("people.json")
df.select("name", "age").write.format("parquet").save("namesAndAges.parquet")

Java版本

public class ManuallySpecifyOptions {

public static void main(String[] args) {
​​SparkConf conf = new SparkConf()​​.setAppName("ManuallySpecifyOptions");
​​JavaSparkContext sc = new JavaSparkContext(conf);
​​SQLContext sqlContext = new SQLContext(sc);
DataFrame peopleDF = sqlContext.read().format("json")​​​​.load("hdfs://spark1:9000/people.json");
​​peopleDF.select("name").write().format("parquet")​​​.save("hdfs://spark1:9000/peopleName_java");  
​}
}

Scala版本

import org.apache.spark.sql.SQLContext
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext

object ManuallySpecifyOptions {

def main(args: Array[String]): Unit = {
val conf = new SparkConf()
   .setAppName("ManuallySpecifyOptions")  
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)

val peopleDF = sqlContext.read.format("json").load("hdfs://spark1:9000/people.json")
 peopleDF.select("name").write.format("parquet").save("hdfs://spark1:9000/peopleName_scala")  
 }

}

相关文章

网友评论

      本文标题:手动指定数据源类型

      本文链接:https://www.haomeiwen.com/subject/eqcjyqtx.html