抱歉,问题不清楚,我是hadoop研究的新手。我又修改了问题。
我用python编写了两个hadoopmapreduce程序:map.py和red.py。然后在hdfs上编写run.sh以继续使用hadoop流的mapreduce。
我需要读半年的hdfs数据,文件named:20170101-20170630.
hdfs中的文件路径:
/user/name/20161231
/user/name/20170101
/user/name/20170102
.....
/user/name/20170630
/user/name/20170701
如何编写run.sh来读取所需文件?
run.sh中的脚本部分:
# ! /bin/bash
HPHOME=/opt/cloudera/parcels/CDH
JAR_PACKAGE=/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-streaming.jar
# it dosen't work, how to read selected file:20170101-20170630
IN_PATH=/user/name/20170[101-630]
OUT_PATH=/user/out
MAP_FILE=/home/map.py
RED_FILE=/home/red.py
非常感谢你!
1条答案
按热度按时间s5a0g9ez1#
不确定,你是否在尝试阅读
local
文件或hdfs
文件夹。但我会提出两种解决方案。从本地unix系统读取6个月的文件。
从hdfs系统读取6个月的文件。