0
ruby 스크립트를 사용하여 freebase 덤프를 더 작은 압축 파일로 나눈 다음 freebase-rdf-2014-10-26-00-00으로 작업을 중단하고 조기에 종료합니다. 오늘 저는 루비와 같은 방식으로 작동하는 자바 프로그램을 작성했습니다. 압축과 관련하여 freebase 덤프가 변경 되었습니까?최신 freebase 덤프를 분할 할 수 없습니다.
package splitfreebase;
import java.io.*;
import java.util.zip.GZIPInputStream;
/**
*
* @author ron
*/
public class SplitFreebase {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(
new GZIPInputStream(
new FileInputStream(args[0]))));
BufferedWriter out = null;
long cnt = 0;
int file_cnt = 0;
while (in.ready()) {
if ((cnt % 10000000) == 0) {
String name = args[0].substring(0, args[0].length() - 3)
+ "_" + file_cnt + ".gz";
if (out != null) {
out.close();
}
out = new BufferedWriter(
new OutputStreamWriter(
new GZIPOutputStream(
new FileOutputStream(name))));
file_cnt++;
}
if (out != null) {
out.write(in.readLine());
out.newLine();
}
cnt++;
}
if (out != null) {
out.close();
}
in.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(SplitFreebase.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(SplitFreebase.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
분할 방법이나 실패 모드에 관한 정보는 포함하지 않지만 묻지 말아야 할 질문이나 Freebase 팀에보고해야하는 버그와 관련이 없습니다 Google. –
프로그램 문제라고 생각하지 않습니다. 루비와 자바가 동일한 알고리즘을 사용하고 파일이 커지면 자바가 깨지기 쉽다. 28425065218 Aug 10 14:40 freebase-rdf-2014-08-10-00-00.gz 작동, 최신 버전은 29498770878 11 월 2 일 18:13 freebase-rdf-2014-11-02-00-00.gz – ron