我需要以优化的方式重写Hive查询。我的查询条款是
WHERE counters is NOT null
AND info LIKE '%sub-page-type=ext-rlol_%'
AND info LIKE '%page-type=Faceout%'
AND info NOT LIKE '%page-type=FaceoutRAW%'
雅典娜医生说,我们可以优化Hive查询https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tuning-tuning-tuning-tips-for-amazon-azon-athena/。请参阅第9点。
有人可以帮助我编写更优化的查询。此查询正在计时(超过30分钟(
我会选择一个正则表达式,并使用正/负lookahead patterns
。从理论上讲,这将读取文本数据的3倍:
WHERE
counters is NOT null
AND info RLIKE
'(?=.*sub-page-type=ext-rlol_)(?=.*page-type=Faceout)(?!.*page-type=FaceoutRAW)'
编辑:显然,您的亚马逊文档指出您不使用Hive,而是使用Presto。然后在其他语法时使用同样的应用:
WHERE
counters is NOT null
AND regexp_like (info,
'(?=.*sub-page-type=ext-rlol_)(?=.*page-type=Faceout)(?!.*page-type=FaceoutRAW)')