【发布时间】:2012-07-04 00:51:46
【问题描述】:
下面是两张表-
CREATE EXTERNAL TABLE IF NOT EXISTS Table1 (This is the MAIN table through which comparisons need to be made)
(
ITEM_ID BIGINT,
CREATED_TIME STRING,
BUYER_ID BIGINT
)
CREATE EXTERNAL TABLE IF NOT EXISTS Table2
(
USER_ID BIGINT,
PURCHASED_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>>
)
作为 BUYER_ID 和 USER_ID,它们都是同一个东西。
我需要通过比较表 1 来找到表 2 中不存在的总 COUNT 和所有那些 BUYER_ID。所以我认为这是一种左外连接查询。我是 HiveSql 的新手,所以我很难弄清楚在 HiveQL 中执行此操作的实际语法应该是什么。我写了下面的 SQL 查询。谁能告诉我下面的 SQL 查询是否可以实现我的场景?
SELECT COUNT(BUYER_ID), BUYER_ID
FROM Table1 dw
LEFT OUTER JOIN Table2 dps ON (dw.BUYER_ID = dps.USER_ID)
GROUP BY BUYER_ID;
【问题讨论】:
-
USER_ID在Table2中是唯一的吗?