Hive中的复杂网络-优化代码

时间:2018-12-14 18:20:17

标签: hadoop optimization hive complex-networks

我对如何优化我的Hive代码有疑问。 我有一张巨大的桌子,如下所示:

Customer_id     Product_id     Date     Value
     1               1         02/28    100.0 
     1               2         02/02    120.0 
     1               3         02/10    144.0 
     2               2         02/15    120.0 
     2               3         02/28    144.0 
    ...             ...         ...     ... 

我想创建一个复杂的网络,在这里我可以通过购买者链接产品。该图不必定向,我必须计算它们之间的链接数。 最后,我需要这个:

Product_x     Product_y     amount
    1             2           1
    1             3           1
    2             3           2

有人可以帮我吗? 我需要一种优化的方式来做到这一点。表本身的联接不是解决方案。我真的需要在此= /

上的最佳方法
CREATE TABLE X AS
SELECT 
     a.product_id as product_x,
     b.product_id as product_y,
     count(*) as amout
FROM table as a
JOIN table as b
ON a.customer_id = b.customer_id
WHERE a.product_id < b.product_id
GROUP BY product_x, product_y;

0 个答案:

没有答案