1

我正在尝试使用 python 2.7 将文件保存在 Hadoop 中。我在互联网上搜索。我有一些代码可以在 Hadoop 中保存文件,但它在保存时占用了整个文件夹(文件夹中的所有文件都保存在 Hadoop 中)。但我需要保存一个特定的文件。

这是在 Hadoop 中保存文件夹的链接: http ://www.hadoopy.com/en/latest/tutorial.html#putting-data-on-hdfs

现在我需要在 Hadoop 中保存一个特定文件,例如abc.txt.

这是我的代码:

import hadoopy
hdfs_path = 'hdfs://192.168.x.xxx:xxxx/video/py5'
def main():
   local_path = open('abc.txt').read()
   hadoopy.writetb(hdfs_path, local_path)


if __name__ == '__main__':
    main()

我在这里need more than one value to unpack

任何帮助,将不胜感激。

4

2 回答 2

1

hadoopy.writetb似乎期望双值的可迭代作为其第二个参数。尝试:

hadoopy.writetb(hdfs_path, [("abc.txt", open("abc.txt").read())])
于 2014-05-23T12:00:31.950 回答
0

http://www.hadoopy.com/en/latest/api.html?highlight=hadoopy.writetb#hadoopy.writetb

writedb 需要第二个 arg 作为 kvs – (key, value) 的迭代器

根据您提供的链接,您忘记read_local_dir在代码中复制该函数。

于 2014-05-23T12:00:50.507 回答