AlluxioをローカルのSparkにインストールし、Alluxioのメモリに1000個のファイルを挿入しました。
ただし、読み込みファイルが非常に遅いため、Alluxioメモリからのファイル読み込み時間はディスクからの読み込み時間と同等です。私は、ファイルAPIを使用してデータを読む...なぜAlluxioのSpark javaで複数のファイルを読むのが遅い
File Name Size Block Size In-Memory Persistence State Pin Creation Time Modification Time
file1 54.73KB 512.00MB 100% NOT_PERSISTED NO 08-16-2016 12:52:31:278 08-16-2016 12:52:31:372
file2 54.73KB 512.00MB 100% NOT_PERSISTED NO 08-16-2016 12:52:31:377 08-16-2016 12:52:31:384
file3 54.72KB 512.00MB 100% NOT_PERSISTED NO 08-16-2016 12:52:31:386 08-16-2016 12:52:31:393
file4 54.71KB 512.00MB 100% NOT_PERSISTED NO 08-16-2016 12:52:31:394 08-16-2016 12:52:31:400
file5 54.72KB 512.00MB 100% NOT_PERSISTED NO 08-16-2016 12:52:31:401 08-16-2016 12:52:31:407
...
をunderstantません:
FileSystem fs = FileSystem.Factory.get();
AlluxioURI path = new AlluxioURI(/partition0);
List<URIStatus> status = fs.listStatus(path);
for (int i=0; i<status.size(); i++)
{
path = new AlluxioURI(status.get(i).getPath());
if(fs.exists(path)==true)
{
FileInStream in = fs.openFile(path);
String file = "";
InputStreamReader ipsr = new InputStreamReader(in);
BufferedReader br=new BufferedReader(ipsr);
String line;
line=br.readLine();
while (line != null){
//System.out.println(line);
file = file + line;
line=br.readLine();
}
byte[] cfv = file.getBytes();
br.close();
// Close file relinquishing the lock
in.close();
}
}
千個のファイルでパーティションを読み込むためのテストがあるので、私は本当に今のSparkは使用しないでください非常に遅い...(私はfuturでSparkとパーティションでファイルを読みたい)。
誰かにアイデアを教えてください。その理由は読書がとても遅いのですか?
ありがとうございました、私は間違いなく私の間違いを理解しています。ブロックのサイズに応じて最適なブロックサイズを選択するルールはありますか? – TiGi