0
JSON 파일을 CSV로 변환하려고합니다.HDFS에서 JSON에서 CSV로 변환
UNIX 파일 시스템과 로컬 파일 시스템에서 완벽하게 수행 할 수있는 JAVA 코드가 있습니다. 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는 변환 및 쓰기 작업을 수행하는 메소드입니다.
나는 명령 아래 사용하여이 항아리를 실행하고 있습니다 :
hadoop jar json-csv-hdfs.jar com.nishant.ClassMain /nishant/large.json /nishant/output
문제는, 그것은/nishant/출력에 아무것도 기록하지 않습니다. 0 크기/nishant/출력 파일을 만듭니다.
아마도 copyBytes
의 사용법은 좋은 생각이 아닙니다.
유닉스 FS 및 로컬 FS에서 제대로 작동하는 경우 HDFS에서이를 수행하는 방법.
여기에 내가 CSV로 JSON 파일을 변환하려고하지 그 값 파일 시스템이 성공적으로 HDFS에 연결하는 하나의 구성 키를 필요로
아니요. 비슷한 문제는 없습니다. 여기에 JSON 파일을 CSV로 변환하려고합니다. 언급 한 링크에서 JSON 객체를 해당 값에 매핑하려고합니다. – earl
Spark SQL, Hive와 같은 SQL 유틸리티를 사용하지 않는 이유는 무엇입니까? – mrsrinivas