我試圖在Amazon Elastic MapReduce系統中運行我的hadoop程序。我的程序從本地文件系統獲取輸入文件,其中包含程序運行所需的參數。但是,由於通常從FileInputStream
的本地文件系統讀取該文件,因此在AWS環境中執行任務時失敗,並顯示找不到參數文件。請注意,我已將該文件上傳到Amazon S3。我該如何解決這個問題?謝謝。下面是我用來讀取參數文件的代碼,因此讀取文件中的參數。閱讀亞馬遜Elastic MapReduce和S3中的參數文件
FileInputStream fstream = new FileInputStream(path);
FileInputStream os = new FileInputStream(fstream);
DataInputStream datain = new DataInputStream(os);
BufferedReader br = new BufferedReader(new InputStreamReader(datain));
String[] args = new String[7];
int i = 0;
String strLine;
while ((strLine = br.readLine()) != null) {
args[i++] = strLine;
}
你是怎麼最後呢? – Amar
請不要使用DataInputStream來讀取文本http://vanillajava.blogspot.co.uk/2012/08/java-memes-which-refuse-to-die.html –