美文网首页
通用的load和save操作

通用的load和save操作

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

    对于Spark SQL的DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作。load操作主要用于加载数据,创建出DataFrame;save操作,主要用于将DataFrame中的数据保存到文件中。

    Java版本

    DataFrame df = sqlContext.read().load("users.parquet");
    
    df.select("name", "favorite_color").write().save("namesAndFavColors.parquet");
    

    Scala版本

    val df = sqlContext.read.load("users.parquet")
    
    df.select("name", "favorite_color").write.save("namesAndFavColors.parquet")
    

    第一步上传user.parquet文件

    Hadoop fs -put user.parquest /
    

    第二步上传jar包

    Java代码如下:

    public class GenericLoadSave {
    
    ​public static void main(String[] args) {
    
    ​​SparkConf conf = new SparkConf()​​.setAppName("GenericLoadSave").setMaster("local");
    
    JavaSparkContext sc = new JavaSparkContext(conf);
    
    SQLContext sqlContext = new SQLContext(sc);
    
    DataFrame usersDF = sqlContext.read().load(​"hdfs://spark1:9000/users.parquet");
    
    usersDF.show();
    }
    }
    
    
    
    
     
    public class GenericLoadSave {
    
    ​public static void main(String[] args) {
    
    ​​SparkConf conf = new SparkConf()​​.setAppName("GenericLoadSave");
    
    JavaSparkContext sc = new JavaSparkContext(conf);
    
    SQLContext sqlContext = new SQLContext(sc);
    
    DataFrame usersDF = sqlContext.read().load(​"hdfs://spark1:9000/users.parquet");      
    usersDF.select("name","favorite_color").write().save("namesAndColors.parquet");
    
    }
    }
    

    Scala版本

    import org.apache.spark.SparkConf
    
    import org.apache.spark.sql.SQLContext
    
    import org.apache.spark.SparkContext
    
    object GenericLoadSave {
    
    def main(args: Array[String]){
    
    val conf = new SparkConf().setAppName("GenericLoadSave")
    
    val sc = new SparkContext(conf)
    
    val sqlContext = new SQLContext(sc)
    val usersDF = sqlContext.read.load("hdfs://spark1:9000/users.parquet")
    usersDF.select("name", "favorite_color").write.save("hdfs://spark1:9000/namesAndFavColors.parquet")
    }
    }
    

    相关文章

      网友评论

          本文标题:通用的load和save操作

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