首页 > 解决方案 > 在 aws athena 中将行与日期相乘

问题描述

我是aws athena的新手。

有没有办法从这个输入中获得预期的输出?

输入(csv 文件有以下输入)

DATE (yyyymmdd) | ip  | FINISHED ( 1:finished; 0: not finish)
2017-01-01      | 111 | 1    
2017-01-01      | 222 | 1    
2017-01-02      | 333 | 1    
2017-01-03      | 444 | 1

预期输出

DATE (yyyymmdd) | ip  | FINISHED ( 1:finished; 0: not finish)    
2017-01-01      | 111 | 1    
2017-01-01      | 222 | 1    
2017-01-01      | 333 | 0    
2017-01-01      | 444 | 0    
2017-01-02      | 111 | 1    
2017-01-02      | 222 | 1    
2017-01-02      | 333 | 1    
2017-01-02      | 444 | 0   
2017-01-03      | 111 | 1    
2017-01-03      | 222 | 1    
2017-01-03      | 333 | 1    
2017-01-03      | 444 | 1

标签: amazon-athena

解决方案


这是示例查询如何做到这一点:

select t1."DATE (yyyymmdd)",t2.ip from
(SELECT "DATE (yyyymmdd)" FROM tab1 group by "DATE (yyyymmdd)") t1,
(SELECT ip FROM tab2 group by ip) t2

在此“选择”中使用了笛卡尔连接,因此您不能将其应用于大数据集,因为会出现性能问题。


推荐阅读