HDFS上的單檔案:
-bash-3.2$ hadoop fs -ls /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category
Found 1 items
-rw-r--r-- 2 deploy supergroup 520 2014-08-14 17:03 /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category/repeatRecCategory.txt
檔案內容:
-bash-3.2$ hadoop fs -cat /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category/repeatRecCategory.txt | more
8104
960985
5472
971917
5320
971895
971902
971922
958261
972047
972050
Java API使用FileSystem方式 讀取HDFS單檔案的方法
/**
* 獲取可反覆推薦的類目。以英文逗號分隔
* @param filePath
* @param conf
* @return
*/
public String getRepeatRecCategoryStr(String filePath) {
final String DELIMITER = "\t";
final String INNER_DELIMITER = ",";
String categoryFilterStrs = new String();
BufferedReader br = null;
try {
FileSystem fs = FileSystem.get(new Configuration());
FSDataInputStream inputStream = fs.open(new Path(filePath));
br = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
while (null != (line = br.readLine())) {
String[] strs = line.split(DELIMITER);
categoryFilterStrs += (strs[0] + INNER_DELIMITER);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return categoryFilterStrs;
}