python - 运行 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
解决方案
用反斜杠转义空格怎么样?还是用引号将 URL 括起来?尝试:
http://www.example.com/a\ bc/def/c\ h.csv
或者"http://www.example.com/a bc/def/c h.csv"
推荐阅读
- django - 错误:Django-Social-Auth LinkedIn 客户端错误
- python - 遍历行时如何使用掩码更新 DataFrame 中的值
- android - Gradle 同步失败 - 升级到 gradle 5.1 后出现 MissingPropertyException
- javascript - 如何让时刻时区始终以提供的时区为基准?
- node.js - 如何使用nodejs中的请求模块通过put请求发送带有其他表单数据的文件
- java - 使用java查询数据库时控制台没有输出
- android - 为什么当我使用 setDisplayName() 时,结果有时为空,有时不是?
- python - 如何从 python 创建网格和实体,以导入 CAD 软件
- meteor - Meteor mongo DB 正在插入子文档
- go - 编组/解组后本地时间损失 52 秒