在hdfs中运行顺序代码

时间:2016-09-26 15:26:40

标签: python hadoop

我目前正在学习"来回"与Hadoop合作。

当前设置:我使用顺序代码创建.txt文件,我将用它作为我的映射器的输入数据。我目前一直在运行这个顺序代码" preprocess.py"在本地计算机上然后将生成的文件移动到hdfs,但是生成了许多文件,并且移动所需的时间比它们生成的要多得多。

我想知道是否复制了" preprocess.py"代码到hdfs,有任何方法可以在那里运行它,允许在hdfs上创建生成的文件而不需要移动。

使用

"hdfs dfs -python preprocess.py" 

返回"未知命令"错误,这样显然是行不通的。谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

有可能。只需确保将所有生成的文件推送到python代码中的单个unix位置。一旦它们在那里,您可以使用subprocess模块运行以将生成的文件转移到HDFS。在代码中,它必须等到文件传输。另外,为确保不再复制同一文件,请考虑以不同方式命名文件(尝试这样会产生Hadoop错误)并在HDFS传输成功后删除该文件。