我想提取我感兴趣的userid
列表的数据。如果列表很短,我可以直接输入查询:
SELECT * FROM mytable WHERE userid IN (100, 101, 102);
(这是一个例子,查询可能更复杂)。但userid
列表可能很长,可以作为文本文件使用:
100
101
102
如何直接从userids.txt
读取Hive来运行相同的查询?
答案 0 :(得分:0)
一种方法是将数据放在另一个表格中INNER JOIN
,以便记录必须匹配:
创建表格:CREATE TABLE users (userid INT);
加载数据文件:LOAD DATA LOCAL INPATH 'userids.txt' INTO TABLE users;
通过内部联接过滤:SELECT mytable.* FROM mytable INNER JOIN users ON mytable.userid = users.userid;