Я пытаюсь написать содержимое объекта в файл в hdfs, используя python. Для этого я нашел hdfs API, реализованный в python под названием Pydoop. Читая API, я могу легко использовать метод pydoop dump()
для записи содержимого в файл по пути hdfs, но не видел никакого метода, например append()
, который мог бы добавить новый контент в старый файл. Я знаю, что это возможно, поскольку я нашел синтаксис командной строки для hdfs, который делает это, но думал об использовании pydoop для этого. Любая помощь будет оценена. СпасибоЕсть ли способ добавить данные в файл hdfs с помощью Pydoop?
0
A
ответ
0
Не использовали Pydoop, но это читается так же, как API Python для добавления в обычный файл.
from pydoop import hdfs
with hdfs.open('/path/to/file', 'a') as f:
f.write('bla')
+0
Я не совсем уверен, если разрешен режим «a» для метода open() pydoop hdfs api или нет. Документация не указывает ничего, кроме значения по умолчанию «r». – Ujwal
+0
Хорошо, дайте мне знать, что вы узнали. У меня нет машины, на которой я могу протестировать прямо сейчас –
Файлы HDFS на самом деле не предназначены для присоединения. Почему вы не можете извлечь файл, написать его локально, а затем оттолкнуть его? –
Ну, мои файлы должны быть большими. Поэтому, если я извлечу файл, напишите его локально и снова нажмите, будет много накладных расходов, связанных между собой из-за сети, которая может быть неэффективной. – Ujwal
Хорошо, а затем вызовите функцию командной строки из Python –