4
我正在使用spark 1.5。我想從HDFS中的文件創建一個dataframe
。 HDFS文件包含具有序列輸入文件格式的大量字段的json
數據。如何從sequenceFile創建火花DataFrame
有沒有辦法在java中優雅地做到這一點?我不提前知道json的結構/字段。
我能夠採取從序列文件輸入作爲RDD如下:
JavaPairRDD<LongWritable,BytesWritable> inputRDD = jsc.sequenceFile("s3n://key_id:[email protected]/path", LongWritable.class, BytesWritable.class);
JavaRDD<String> events = inputRDD.map(
new Function<Tuple2<LongWritable,BytesWritable>, String>() {
public String call(Tuple2<LongWritable,BytesWritable> tuple) {
return Text.decode(tuple._2.getBytes());
}
}
);
如何創建從這個RDD一個數據幀?
數據幀需要某種定義的結構/模式的,當您轉換的RDD數據幀。你能夠探索一下數據並確定JSON結構嗎?您能否與您的數據源提供商交談並就共同模式達成一致? –
你不能簡單地調用'sqlContext.createDataFrame(events)'嗎?你不必真正定義一個模式,如果你不這樣做,列將被簡單地命名爲C0,C1等。 –
@GlennieHellesSindholt:謝謝你的發帖。是的,我終於明白了。有用! – nish