如何将大文本回显/重定向到hdfs put?

时间:2019-12-03 19:03:19

标签: python hadoop hdfs

我正在尝试使用以下方法通过pyspark将一些文本写入HDFS上的文件中:

command = (" echo '{0}' | HADOOP_USER_NAME=admin hadoop dfs -put - "+root+"/configs.txt").format(dump)
os.system(command)

dump是一个字符串变量。 root+"/configs.txt"个文件路径 现在,我面临的问题是,当dump字符串的长度小时,写入文件configs.txt时不会出现任何打,,但是当dump较大时,将要写入12132个字符精确(我要写的字符串),我得到一个空文件。

这是怎么回事? 文字大小是否有限制?我可以调整吗?

1 个答案:

答案 0 :(得分:0)

我不确定您可以回显字符串并放入输入流。

我认为您应该写一个文件,然后放入

with open('config.txt', 'w') as f:
    f.write(dump)

command = "HADOOP_USER_NAME=admin hadoop dfs -put {} {}/configs.txt").format('config.txt', root)
os.system(command)