t*********u 发帖数: 26311 | 1 【 以下文字转载自 DataSciences 讨论区 】
发信人: tingtingliu (Grand Cherokee Overland), 信区: DataSciences
标 题: 问个 hive的问题
发信站: BBS 未名空间站 (Fri Dec 19 21:03:43 2014, 美东)
有很多记录 大概12M个
a1 b1
a1 b2
a1 b3
a2 b1
a2 b4
这样的
想法是
如果给a1, a2 就把b1, b2,b3 ,b4找出来
但是a1,a2是动态的
有什么好方法么? | n******r 发帖数: 44 | | t*********u 发帖数: 26311 | 3 就是说是由参数给的
不能简单的写在select里面
【在 n******r 的大作中提到】 : 啥叫“动态”?
| n******r 发帖数: 44 | | l******b 发帖数: 39 | 5 可以采用动态SQL,
BEGIN
query_str := '(SELECT B FROM tableName where A=:a1) '
|| 'UNION '||
' (SELECT B FROM tableName where A=:a2) ';
EXECUTE IMMEDIATE query_str USING a1,a2;
END;
/
a1, a2为绑定变量.
另外, 对于12M的表, 肯定要建索引的. |
|