zoukankan      html  css  js  c++  java
  • Spark向HDFS中存储数据

    程序如下:

    import org.apache.spark.sql.Row;
    import org.apache.spark.SparkConf;
    import org.apache.spark.api.java.JavaRDD;
    import org.apache.spark.api.java.JavaSparkContext;
    import org.apache.spark.api.java.function.VoidFunction;
    import org.apache.spark.sql.DataFrame;
    import org.apache.spark.sql.SQLContext;
    
    
    public class QueryAndStoreHDFSData {
        static SparkConf sparkConf = new SparkConf().setAppName("HDFSQuery").setMaster("local[2]");
        static JavaSparkContext sc = new JavaSparkContext(sparkConf);
        static SQLContext sqlContext = new SQLContext(sc);
        public static void main(String[] args){
    //        JavaRDD<String> poi = sc.textFile("hdfs://node2:9000/user/flume/events/2015-11-27-21/events-.1448629506841");
            DataFrame df = sqlContext.read().json("hdfs://node2:9000/user/flume/events/2015-11-26-21/events-.1448543965316");
            // 打印模式
            df.printSchema();
            // 将数据框架注册成一个表
            df.registerTempTable("poi");
            // 使用sql语句从表中读取数据
            DataFrame poi = sqlContext.sql("SELECT * FROM poi WHERE cid=57425749418");
            JavaRDD<Row> row = poi.javaRDD();
            
            //将RDD中的数据存入HDFS(也可以指定其他目录和格式)
            row.saveAsTextFile("hdfs://node2:9000/user/poi.txt");
            
            row.foreach(new VoidFunction<Row>(){
                @Override
                public void call(Row r) throws Exception {
                    System.out.println(r.mkString());        
                }
                
            });
        }
    }
  • 相关阅读:
    JavaScript与OC的交互
    通过修改自动布局的约束实现键盘弹出后view上推
    Foundation框架之NSArray
    Foundation框架之NSString
    Foundation框架之常用结构体
    C语言中的预处理指令
    C语言指针使用总结
    C语言中函数的使用及多文件团队开发
    Foundation框架简介
    文件的输入与输出
  • 原文地址:https://www.cnblogs.com/gaopeng527/p/5003290.html
Copyright © 2011-2022 走看看