Hive 在regexp\u like中组合like和not like以优化Amazon Athena中的配置单元查询

Hive 在regexp\u like中组合like和not like以优化Amazon Athena中的配置单元查询,hive,amazon-athena,Hive,Amazon Athena,我需要以优化的方式重写配置单元查询。我查询的where子句是 其中计数器不为空 和信息,如“%sub-page type=ext-rlol\uu1%” 以及类似“%page type=Faceout%”的信息 与“%page type=FaceoutRAW%”不同的信息 雅典娜博士说我们可以优化蜂巢查询。请参阅第9点 有人能帮我写一个更优化的查询吗。此查询超时(超过30分钟)我会选择一个正则表达式,并使用正/负的先行模式。理论上,这将使文本数据的读取量减少3倍: WHERE counters

我需要以优化的方式重写配置单元查询。我查询的where子句是

其中计数器不为空
和信息,如“%sub-page type=ext-rlol\uu1%”
以及类似“%page type=Faceout%”的信息
与“%page type=FaceoutRAW%”不同的信息

雅典娜博士说我们可以优化蜂巢查询。请参阅第9点


有人能帮我写一个更优化的查询吗。此查询超时(超过30分钟)

我会选择一个正则表达式,并使用正/负的
先行模式。理论上,这将使文本数据的读取量减少3倍:

WHERE 
counters is NOT null
AND info RLIKE 
'(?=.*sub-page-type=ext-rlol_)(?=.*page-type=Faceout)(?!.*page-type=FaceoutRAW)'
编辑: 显然,您的amazon文档声明您使用的不是HIVE而是presto。然后,同样的语法也适用于其他语法:

WHERE 
counters is NOT null
AND  regexp_like (info,
'(?=.*sub-page-type=ext-rlol_)(?=.*page-type=Faceout)(?!.*page-type=FaceoutRAW)')