如何将echo/redirect大文本放到hdfs中?
How to echo/redirect large text to hdfs put?
我正在尝试使用以下方法通过 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 个字符exact (我想写的字符串),我得到一个空文件。
这是怎么回事?
文字大小有限制吗?我可以调整它吗?
我不确定您是否可以回显字符串并放入输入流。
我觉得你应该写一个文件,然后把那个
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)
我正在尝试使用以下方法通过 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 个字符exact (我想写的字符串),我得到一个空文件。
这是怎么回事? 文字大小有限制吗?我可以调整它吗?
我不确定您是否可以回显字符串并放入输入流。
我觉得你应该写一个文件,然后把那个
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)