0
我試圖將JSON文件轉換爲CSV。HDS上的JSON轉換爲CSV
我有一個JAVA代碼,它能夠在UNIX文件系統和本地文件系統上完美實現它。 我已經在主類下面寫了在HDFS上執行這個轉換。
public class ClassMain {
public static void main(String[] args) throws IOException {
String uri = args[1];
String uri1 = args[2];
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);
FSDataInputStream in = null;
FSDataOutputStream out = fs.create(new Path(uri1));
try{
in = fs.open(new Path(uri));
JsonToCSV toCSV = new JsonToCSV(uri);
toCSV.json2Sheet().write2csv(uri1);
IOUtils.copyBytes(in, out, 4096, false);
}
finally{
IOUtils.closeStream(in);
IOUtils.closeStream(out);
}
}
}
json2sheet和write2csv是其中執行轉換和寫入操作的方法。
我使用下面的命令運行這個jar:
hadoop jar json-csv-hdfs.jar com.nishant.ClassMain /nishant/large.json /nishant/output
的問題是,它並沒有寫在/ NISHANT /輸出任何東西。它創建一個0大小/ nishant /輸出文件。
也許在這裏使用copyBytes
不是一個好主意。
如何在HDFS上實現這一點,如果它在unix FS和本地FS上工作正常。
在這裏,我試圖JSON文件轉換爲CSV,而不是試圖JSON對象映射到它們的值
不,它不是類似的問題。這裏我試圖將JSON文件轉換爲CSV。在你提到的鏈接中,它試圖將JSON對象映射到它們的值。 – earl
爲什麼你不像Spark SQL,Hive這樣的SQL工具? – mrsrinivas