loadsave方法spark sql的几种数据源

Posted 永不停歇—胡章诚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loadsave方法spark sql的几种数据源相关的知识,希望对你有一定的参考价值。

load、save方法的用法 
        DataFrame usersDF = sqlContext.read().load("hdfs://spark1:9000/users.parquet");
        
        usersDF.select("name""favorite_color").write()
                .save("hdfs://spark1:9000/namesAndFavColors.parquet");  


  //load、save方法~指定文件格式
        DataFrame peopleDF = sqlContext.read().format("json")
                .load("hdfs://spark1:9000/people.json");
        peopleDF.select("name").write().format("parquet")

                .save("hdfs://spark1:9000/peopleName_java"); 

parquet数据源:
 -》加载parquet数据

DataFrame usersDF = sqlContext.read().parquet("hdfs://spark1:9000/spark-study/users.parquet");

 

-》parquet分区自动推断

将只有两个字段的user.parquet存到 /users/gender=male/country=us/ 目录下(如下), 

 

使用如下代码加载users.parquet的数据后,得到的usersDF中将会有4个字段 

DataFrame usersDF = sqlContext.read().parquet("hdfs://spark1:9000/spark-study/users/gender=male/country=us/users.parquet");

 其中gender字段的值为male,country的值为us

 

-》合并元数据

parquet合并元数据: http://www.cnblogs.com/key1309/p/5332089.html

json数据源: 

DataFrame studentScoresDF = sqlContext.read().json("hdfs://spark1:9000/spark-study/students.json");

 

//json数据源的格式要求:

 

 

 

Hive数据源

// 待续。。。

 

 

JDBC数据源:

 http://www.cnblogs.com/key1309/p/5350179.html

 

以上是关于loadsave方法spark sql的几种数据源的主要内容,如果未能解决你的问题,请参考以下文章

Spark SQL实战(07)-Data Sources

spark创建DataFrame的几种方式

hive使用spark引擎的几种情况

Spark读取Hbase数据的几种方法

spark连接关系型数据库的几种方法

Spark SQL初始化和创建DataFrame的几种方式