4

是否有可能通过 Spark API 将 GRIB2 文件从 HDFS 读取到 RDD 中?我找到JavaContext.binaryFiles了,但是返回的 RDD 包含神秘的数据(不是人类可读的)。我正在使用 Spark 1.6.1 和 Java API。谢谢!

String inputFile = "hdfs://hdfs:8020/data/testdata.bin";
SparkConf sparkConf = SparkConfFactory.createSparkConf("WeatherData");
JavaSparkContext sc = new JavaSparkContext(sparkConf);
JavaPairRDD<String, PortableDataStream> inputRdd = sc.binaryFiles(inputFile);

List<Tuple2<String, PortableDataStream>> asList = inputRdd.collect();       
for(Tuple2<String, PortableDataStream> a : asList) {
    System.out.println(a._1());                                             // Key = File path
    DataInputStream in = new DataInputStream(a._2().open()); 
    BufferedReader d = new BufferedReader(new InputStreamReader(in));

    while(d.ready()) {
        System.out.println(d.readLine());                                   // Cryptic output
    }
}
4

0 回答 0