【发布时间】:2022-08-13 20:45:06
【问题描述】:
我有一个过程可以下载文件,然后解压缩文件,然后将其发送到 HDFS。 我们看到了一种使用以下命令对其进行优化的方法--to-stdout它为我们创造了奇迹:
gunzip --to-stdout \"${FULLNAME}\" | hdfs dfs -put - \"${path_folder}/${PROCESS}\"
我的问题是关于标准输出:
是否可以用 sql 查询做类似的事情?也就是把你得到的结果扔出去,用文件名发送到HDFS?
我们有这样的东西可以生成一个文件,然后将其发送到 hdfs。
sqlplus -S user/password@dbname << EOF > file_name.txt
set feedback off trimspool on
select * from table_name;
exit;
EOF
hdfs dfs -put file_name.txt ${path_folder}
我想知道的是,是否有一种方法可以从输出中获取输出而不将其重定向到文件,而是直接,就像我解压缩的示例一样,将其发送到 HDFS?
-
不要忘记双引号
$path_folder
标签: linux bash shell unix hadoop