Как сохранить файл в hadoop с python
Я пытаюсь сохранить файл в Hadoop с Python 2.7. Я искал в интернете. У меня есть некоторый код для сохранения файла в Hadoop, но он сохраняет всю папку при сохранении (общее количество файлов в папке сохраняется в Hadoop). Но мне нужно сохранить конкретный файл.
Вот ссылка для сохранения папки в Hadoop: http://www.hadoopy.com/en/latest/tutorial.html
Теперь мне нужно сохранить определенный файл в 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 ответа
hadoopy.writetb
кажется, ожидает итеративный из двух значений в качестве второго аргумента. Пытаться:
hadoopy.writetb(hdfs_path, [("abc.txt", open("abc.txt").read())])
http://www.hadoopy.com/en/latest/api.html?highlight=hadoopy.writetb
writedb требует второго аргумента как kvs - итератор (ключ, значение)
По ссылке, которую вы дали, вы забыли скопировать функцию read_local_dir
в вашем коде.