考虑下面的2个数据流
1. Front End Box ----> S3 Bucket-1
2. Front End Box ----> Kafka --> Storm ---> S3 Bucket-2来自这些箱子的日志正在被转移到S3桶中。所需的是用流程2代替流程1。
现在,需要在Bucket-1和Bucket-2之间验证数据,以确保可以使用流2。
尝试了以下技术选择:
1. Python : boto3 Apis
2. Qubole两者都在有限的数据集上工作,qubole比python脚本具有更高的可伸缩性。但它仍然需要很长的时间去做(从来没有完成,不得不杀死后跑了一夜)。我们将在这里看到5亿个条目。
查询
SELECT
count(*)
FROM
TableA LEFT OUTER JOIN TableB
ON TableA.id = TableB.id
WHERE
TableB.id IS NULL
AND TableA.id IS NOT NULL问题
对工具有什么建议吗?如何更快地实现这一点?
有什么方法可以避免加入吗?
发布于 2017-05-02 17:55:56
终于避免了加入。下面的解决方案很好
select sum_cat, count(*)
FROM
(
select id, sum(category) as sum_cat
from
(
select distinct id, 1 as category
from Table-1
UNION ALL
select distinct id, 1 as category
from Table-2
UNION ALL
select distinct id, 2 as category
from Table-3
UNION ALL
select distinct id, 2 as category
from Table-4
)all_ids
group by log_id
)a
group by sum_cat;解释
Table-1和Table-2的数据与Table-3和Table-4中的数据进行比较。category分配给id。category = 1,而设置B的记录将具有category = 2https://stackoverflow.com/questions/43620891
复制相似问题