zoukankan      html  css  js  c++  java
  • load、save方法、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

  • 相关阅读:
    C# 中的高性能计时器(Daniel Strigl著,野比译)(转)
    C#中SerialPort类 随笔
    迭代器
    枚举数与可枚举类型(笔记)
    jQuery的关注与学习
    敏捷开发的4句宣言 大数据
    bat脚本
    c++动态库中回调函数使用
    C++中遍历lua table
    vs2010编译release版本却依赖debug版本库msvcrd100.dll
  • 原文地址:https://www.cnblogs.com/key1309/p/5352365.html
Copyright © 2011-2022 走看看