首页 > 解决方案 > 运行 curl 命令通过 python/jython 将数据加载到 hdfs

问题描述

执行 jython/python 时如果 url 包含空格,则无法下载文件到 hdfs 例如: URL 文件名和目录路径中包含空格

> http://www.example.com/a bc/def/c h.csv

我通过使用 %20 或 + 符号转义空格来尝试使用 url 的命令都不起作用。

通过在 python 中打开 shell 来执行下面的命令,如下所示。如果 url 不包含空格,它会正确发生。

curl http://www.example.com/a bc/def/c h.csv | hadoop fs -put -f - /xyz/c h.csv

标签: pythoncurljython-2.7streamsets

解决方案


用反斜杠转义空格怎么样?还是用引号将 URL 括起来?尝试:

http://www.example.com/a\ bc/def/c\ h.csv或者"http://www.example.com/a bc/def/c h.csv"


推荐阅读