python - 在 hdfs 中运行顺序代码

标签 python hadoop

我目前正在学习使用 Hadoop 的“来龙去脉”。这是

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

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

使用

"hdfs dfs -python preprocess.py" 

返回“未知命令”错误,因此这显然不起作用。感谢您的时间!

最佳答案

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

关于python - 在 hdfs 中运行顺序代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39706713/

相关文章:

hadoop - 结果中没有列的排序依据或排序依据

python - 如何使用 Python/Opencv 分割二值图像中的附近元素

python - 在 Python 中删除 HTML 文件中的前导空格

python - 在 Django 中跨列聚合

java - pig 前端在Oozie上设置自定义类路径

python - 将数据增量写入 parquet 文件

python - 在heroku上部署geodjango的问题

python - 请求后中止 404 在 flask 中不起作用

hadoop - 时髦的时间戳格式

hadoop - Hbase - 写操作