如何在 presto elasticsearch 中按子句 pushdpown order
How to pushdpown order by clause in presto elasticsearch
我是 运行 starburst-presto 中的 SQL 查询。它使用相关连接器连接到 elasticsearch。
SQL 有一个“order by”子句。这个子句没有下推到 elasticsearch。基本上,我想根据特定字段和 return 结果对 elasticsearch 中的数据进行排序。带有“order by”的查询使用 presto 会花费大量时间。是否有可能以某种方式管理以获得最佳性能?
SQL: select e.employee_id from elasticsearch.es."employee:id:""2390571"" && (doj_timestamp:(>=15965454 && <=15972366)) sort=employee_id:desc" e offset 0 limit 5;
以上查询是 returning 随机结果。
有人可以帮忙吗?
您的查询同时包含 ORDER BY 和 LIMIT,因此在 Presto 中称为 Top N 查询。
Presto 目前不提供 Top N 下推,但此功能正在开发中。
- 连接器下推的伞式问题:https://github.com/prestosql/presto/issues/18
- Top N 下推的 PR 草案(引擎和 SPI 支持):https://github.com/prestosql/presto/pull/4784
请提交 Elasticsearch 连接器 TopN 下推的问题。无论如何我们都会实施它,但直接的用户反馈有助于理解问题的优先级。
您可以在 Presto community slack 上的 #pushdown
频道了解更多信息。
我是 运行 starburst-presto 中的 SQL 查询。它使用相关连接器连接到 elasticsearch。
SQL 有一个“order by”子句。这个子句没有下推到 elasticsearch。基本上,我想根据特定字段和 return 结果对 elasticsearch 中的数据进行排序。带有“order by”的查询使用 presto 会花费大量时间。是否有可能以某种方式管理以获得最佳性能?
SQL: select e.employee_id from elasticsearch.es."employee:id:""2390571"" && (doj_timestamp:(>=15965454 && <=15972366)) sort=employee_id:desc" e offset 0 limit 5;
以上查询是 returning 随机结果。
有人可以帮忙吗?
您的查询同时包含 ORDER BY 和 LIMIT,因此在 Presto 中称为 Top N 查询。 Presto 目前不提供 Top N 下推,但此功能正在开发中。
- 连接器下推的伞式问题:https://github.com/prestosql/presto/issues/18
- Top N 下推的 PR 草案(引擎和 SPI 支持):https://github.com/prestosql/presto/pull/4784
请提交 Elasticsearch 连接器 TopN 下推的问题。无论如何我们都会实施它,但直接的用户反馈有助于理解问题的优先级。
您可以在 Presto community slack 上的 #pushdown
频道了解更多信息。