我想从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读取?
答案 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
。