我可以逐行阅读hadoop文件吗?

时间:2014-04-08 18:42:07

标签: linux shell unix hadoop

我想从hadoop文件系统中读取unix框中的逐行记录:

示例 -

while read line

do 

echo "input record " $line
###some other logic i have here....
done < /user/want/to/read/from/hadoop/part00

以上代码段显示错误 -

**: cannot open [No such file or directory]**

如何使用Unix工具从Hadoop读取?

1 个答案:

答案 0 :(得分:7)

使用hadoop fs命令访问这些文件的内容:

while IFS= read -r line; do
  echo "Read: $line"
done < <(hadoop fs -cat hdfs://nodename/filename)

请注意<()构造需要bash;因此,您的脚本需要以#!/bin/bash开头,而不是#!/bin/sh