首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Curl下载到HDFS

Curl下载到HDFS
EN

Stack Overflow用户
提问于 2017-07-06 05:23:40
回答 1查看 1.9K关注 0票数 4

我有这样的代码:

代码语言:javascript
运行
复制
curl -o fileName.csv url | xargs hdfs dfs -moveFromLocal $1 /somePath/

当我执行这段代码时,curl将request中的值放入fileName.csv中,文件被移动到HDFS中。我想知道我是否可以,在内存中维护curl输出,发送到管道,然后在HDFS中写入值?

如下所示(这是可行的):

代码语言:javascript
运行
复制
curl url | xargs hdfs dfs -put $1 /somePath
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-06 06:11:43

hdfs dfs -put命令可以接受来自标准输入的文件输入,使用熟悉的习惯用法指定-表示标准输入:

代码语言:javascript
运行
复制
> curl -sS https://www.google.com/robots.txt | hdfs dfs -put - /robots.txt
> hdfs dfs -ls /robots.txt
-rw-r--r--   3 cnauroth supergroup       6880 2017-07-06 09:07 /robots.txt

另一种选择是使用外壳process substitution,以允许将curl的标准输出(或者实际上是您选择的任何命令)视为另一个命令的文件输入:

代码语言:javascript
运行
复制
> hdfs dfs -put <(curl -sS https://www.google.com/robots.txt) /robots.txt
> hdfs dfs -ls /robots.txt
-rw-r--r--   3 cnauroth supergroup       6880 2017-07-05 15:07 /robots.txt
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44936241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档