Hive查询从文本文件中读取常量列表?

时间:2015-03-20 14:21:23

标签: hive

我想提取我感兴趣的userid列表的数据。如果列表很短,我可以直接输入查询:

SELECT * FROM mytable WHERE userid IN (100, 101, 102);

(这是一个例子,查询可能更复杂)。但userid列表可能很长,可以作为文本文件使用:

100
101
102

如何直接从userids.txt读取Hive来运行相同的查询?

1 个答案:

答案 0 :(得分:0)

一种方法是将数据放在另一个表格中INNER JOIN,以便记录必须匹配:

  1. 创建表格:CREATE TABLE users (userid INT);

  2. 加载数据文件:LOAD DATA LOCAL INPATH 'userids.txt' INTO TABLE users;

  3. 通过内部联接过滤:SELECT mytable.* FROM mytable INNER JOIN users ON mytable.userid = users.userid;