Hive 配置单元查询从文本文件读取常量列表?

Hive 配置单元查询从文本文件读取常量列表?,hive,Hive,我想为我感兴趣的userid列表提取数据。如果列表较短,我可以直接键入查询: SELECT * FROM mytable WHERE userid IN (100, 101, 102); (这是一个示例,查询可能更复杂)。但是userid的列表可能很长,可以作为文本文件使用: 100 101 102 如何使用从userids.txt直接读取的配置单元运行相同的查询?一种方法是将数据放在另一个表中,并将内部联接到该表中,这样记录就必须进行匹配: 创建表:创建表用户(userid INT) 加载

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

SELECT * FROM mytable WHERE userid IN (100, 101, 102);
(这是一个示例,查询可能更复杂)。但是
userid
的列表可能很长,可以作为文本文件使用:

100
101
102

如何使用从
userids.txt
直接读取的配置单元运行相同的查询?

一种方法是将数据放在另一个表中,并将
内部联接到该表中,这样记录就必须进行匹配:

  • 创建表:
    创建表用户(userid INT)

  • 加载数据文件:
    将数据本地INPATH'userids.txt'加载到表用户中

  • 通过内部联接进行筛选:
    从mytable.userid=users.userid上的mytable内部联接用户中选择mytable.*


  • 如果不希望原始文件从其当前位置移动,可以使用外部表。