我需要对配置单元表执行计数,并将结果输出到文本文件中,然后将其作为触发器放到另一个位置。
当前配置单元输出如下所示:
+-------------+----------+
| _c0 | _c1 |
+-------------+----------+
| 2020-03-01 | 3203500 |
+-------------+----------+
我尝试了以下选项:
hive -e 'select CURRENT_DATE, count(*) from db.table;' | sed 's/[[:space:]]\+/,/g' > /trigger/trigger_file.txt
但它并没有给出预期的结果。我还能试什么?
.txt文件中的预期结果如下:
2020-03-01,3203500
3条答案
按热度按时间rkttyhzu1#
配置单元提供了写入文件的内置命令
其他方式
8zzbczxx2#
你可以替换你的sed 命令
这个
-F'[| ]+'
将字段分隔符设置为[| ]+
匹配一个或多个空格或管道字符的正则表达式,然后获取第二个字段匹配类似日期模式的所有记录([0-9]{4}-[0-9]{2}-[0-9]{2}
,请参见演示),并在第二列和第三列值之间使用逗号和空格打印。o4hqfura3#
为了避免使用sed..等替换所有结果,请尝试使用以下方法
concat_ws(',',col1,col2...etc)
结果将有,
分离数据!