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

31moq8wy  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(443)

我正试图通过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个字符(我要写的字符串),我得到一个空文件。
这是怎么回事?文字大小有限制吗?我能调整一下吗?
6vl6ewon

6vl6ewon1#

我不确定你能不能回显一个字符串并输入一个流。
我想你应该写个文件,然后把它放进去

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)

相关问题