gpt4 book ai didi

python - 是否可以在Hive中按列表查询?

转载 作者:行者123 更新时间:2023-12-02 21:37:12 25 4
gpt4 key购买 nike

我有一个身份证 list

[id1, id2, id3.......]

我想查询所有行,以使ID匹配列表中的ID之一

现在我正在以一种怪异的方式
# This is a python script
id_list_str = "`_id` = '" + str(_id[0]) + "' "

for m_id in _id[1:]:
id_list_str += " OR `_id` = '" + str(m_txn_id) + "' "


hive_query = "SELECT" \
" `_id`, " \
" time, " \
" state " \
"FROM " \
" transaction " \
"WHERE " \
" %s " \
% (id_list_str)

我认为这不会随着列表中id数量的增加而扩展,还有另一种方法吗?

谢谢

最佳答案

在 hive 中,尝试展开侧 View 以扩展列表。如果您还有很多列表,也可以使用。

  select a.id
, a.time
, a.state
from transaction a
left semi join
(SELECT distinct id
from list_of_ids LATERAL VIEW explode(id_list_Str) idTable as id
)
t on a.id = t.id

关于python - 是否可以在Hive中按列表查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31275122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com