Как отправить данные, хранящиеся в переменной в HDFS в Python - PullRequest
0 голосов
/ 28 августа 2018

Пример:

data = "my first program"

Как я могу записать данные этой переменной в файл hdfs, используя python?

Я пытался использовать:

command = 'echo $data | hdfs dfs -put - /user/test/abc.txt'
os.system(command)`

1 Ответ

0 голосов
/ 28 августа 2018

Используйте модуль подпроцесса для запуска команды bash из python.

import subprocess
process = subprocess.Popen("echo $data | hdfs dfs -put - /user/test/abc.txt", 
shell="TRUE" , stdout=subprocess.PIPE)
process.wait()
print(process.returncode)

Но в идеале используйте родной коннектор pythonhdfs. Выезд.

Вот фрагмент из документации.

from pyarrow import HdfsClient
# Using libhdfs
hdfs = HdfsClient(host, port, username, driver='libhdfs') 
# Using libhdfs3
hdfs_alt = HdfsClient(host, port, username, driver='libhdfs3')
path = '/user/test/abc.txt'
with hdfs.open(path, 'wb') as f:
    f.write(data)`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...