我正在尝试使用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
任何帮助都将不胜感激。
答案 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
。