我正在尝试使用 python 将对象的内容写入 hdfs 中的文件。为此,我找到了一个用 python 实现的 hdfs API,名为 Pydoop。阅读 API,我可以轻松地使用 pydoop 的
dump()
方法将内容写入 hdfs 路径中的文件,但没有看到任何像 append()
这样可以将新内容附加到旧文件的方法。我知道这是可能的,因为我已经找到了执行此操作的 hdfs 命令行语法,但正在考虑使用 pydoop 来执行此操作。任何帮助将不胜感激。谢谢
还没有使用过 Pydoop,但这读起来就像用于附加到常规文件的 Python API 一样。
from pydoop import hdfs
with hdfs.open('/path/to/file', 'a') as f:
f.write('bla')
以防万一有人仍在寻找可使用追加模式的早期版本,Pydoop 自发布以来就开始支持它 0.7.0-rc2。
0.7.0-rc2 中的新增功能
支持HDFS追加打开模式
- 如果您的 Hadoop 版本和/或配置不支持,则会失败 HDFS 追加