gpt4 book ai didi

hadoop - 是否需要有关 hive 中的交叉连接的建议以从具有1.6亿行的大表中获取通配符单词?

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

我有一个巨大的表,该表具有1.6亿行(诸如家装,廉价住房改善,廉价房屋等字眼)和一个具有约2万行(家装改善)的小表,我试图在大表中查找诸如'%homeimprovement%'之类的词表。所以我想要的输出会把我还给我

homeimprovment homeimprovement
homeimprovement cheaphomeimprovement
homeimprovement homeimprovementcheap

这是我当前的查询,这是一个交叉联接!
zd.domain给了我“家装”
lt.domain给了我类似的域名
create table tmp_val_words
as
select /*+ MAPJOIN(zd) */
zd.domain, lt.domain as zdd_domain,
from large_table lt, small_table zd
where
lt.sld like
concat('%', zd.sld ,'%');

当子集很小(例如100〜)时,这非常有用,但是当我尝试以3K或4K运行它时,它达到约99%并停留在HOURS位置,最终我将其杀死了。
有没有办法通过一次取100个名字来循环?

最佳答案

您正在交叉连接两个表。你为什么要那样做请显示表格结构,以便我们提供更多帮助。

索引 lt.sld 也会减少时间,但由于它是大表的一部分,因此会占用巨大的空间,但仍然有很大的改进。
另一件事,例如子句很慢,如果您知道任何特定的模式,请尝试使用该模式而不是在完整的句子中搜索。

关于hadoop - 是否需要有关 hive 中的交叉连接的建议以从具有1.6亿行的大表中获取通配符单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34243130/

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