是否有可能通过 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
}
}