如何用python在hadoop中保存文件

时间:2014-05-23 11:55:50

标签: python hadoop hadoopy

我正在尝试使用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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

hadoopy.writetb(hdfs_path, [("abc.txt", open("abc.txt").read())])

答案 1 :(得分:0)

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

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

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