【发布时间】:2017-07-20 14:16:57
【问题描述】:
抱歉问题不清楚,我是 Hadoop 研究的新手。 我再次编辑了问题。
我用 Python 编写了两个 Hadoop MapReduce 程序:map.py 和 red.py。 然后在 HDFS 上编写 run.sh 以继续使用 Hadoop 流的 MapReduce。
我需要在HDFS上读取半年的数据,文件名为: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
非常感谢!
【问题讨论】:
-
删除了“python”标签,这是一个 bash 问题而不是 python 问题。
-
先将想要的文件移动或复制到一个目录中如何?
标签: shell hadoop mapreduce streaming