У вас есть несколько вариантов:
Присоединиться. Поместить все идентификаторы в файл в HDFS, создать таблицу поверх файловой директории.
CREATE EXTERNAL TABLE table_ids(item_id int)
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
location '/hive/data' --location(directory) in hdfs where the file is
;
select item_name from table a
inner join table_ids b on a.item_id=b.item_id
Использование in_file: Поместить все идентификаторы в файл, один идентификатор в строке.
select item_name from table where in_file(item_id, '/tmp/myfilename'); --local file
Использование объединения со стеком, если оно умещается в памяти:
select item_name from table a
inner join
(
select stack(10, --the number of IDs, add more IDs
0, 1, 2, 3, 4, 5, 6, 7, 8, 9) as (item_id)
) b
on a.item_id=b.item_id