You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by GitBox <gi...@apache.org> on 2021/10/17 00:37:30 UTC

[GitHub] [pinot] fritzb opened a new issue #7586: Presto connector is performing full table scan on IS NULL predicate

fritzb opened a new issue #7586:
URL: https://github.com/apache/pinot/issues/7586


   presto-connector is doing full table scan on `IS NULL` predicate.
   
   Here is the query example:
   `SELECT tool_version, tool_name, feature_type, operation_type_name 
   FROM map_labeling_logs
   WHERE tool_name is null`
   
   Here is the output of EXPLAIN query output:
   
   `- Output[tool_version, tool_name, feature_type, operation_type_name] => [tool_version:varchar, tool_name:integer, feature_type:integer, operation_type_name:varchar]
           Estimates: {rows: ? (?), cpu: ?, memory: 0.00, network: ?}
       - RemoteStreamingExchange[GATHER] => [operation_type_name:varchar, tool_version:varchar, tool_name:integer, feature_type:integer]
               Estimates: {rows: ? (?), cpu: ?, memory: 0.00, network: ?}
           - ScanFilter[table = TableHandle {connectorId='pinot', connectorHandle='PinotTableHandle{connectorId=pinot, schemaName=default, tableName=map_labeling_logs, isQueryShort=Optional[false], expectedColumnHandles=Optional[[PinotColumnHandle{columnName=operation_type_name, dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_version, dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_name, dataType=integer, type=REGULAR}, PinotColumnHandle{columnName=feature_type, dataType=integer, type=REGULAR}]], pinotQuery=Optional[GeneratedPinotQuery{query=SELECT operation_type_name, tool_version, tool_name, feature_type FROM map_labeling_logs__TABLE_NAME_SUFFIX_TEMPLATE____TIME_BOUNDARY_FILTER_TEMPLATE__ LIMIT 2147483647, format=SQL, table=map_labeling_logs, expectedColumnIndices=[], groupByClauses=0, haveFilter=false, isQueryShort=false}]}', layout='Optional[PinotTableHandle{connectorId=pinot, schemaName=default, tableName=map_labeling_logs, isQueryShort=Opti
 onal[false], expectedColumnHandles=Optional[[PinotColumnHandle{columnName=operation_type_name, dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_version, dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_name, dataType=integer, type=REGULAR}, PinotColumnHandle{columnName=feature_type, dataType=integer, type=REGULAR}]], pinotQuery=Optional[GeneratedPinotQuery{query=SELECT operation_type_name, tool_version, tool_name, feature_type FROM map_labeling_logs__TABLE_NAME_SUFFIX_TEMPLATE____TIME_BOUNDARY_FILTER_TEMPLATE__ LIMIT 2147483647, format=SQL, table=map_labeling_logs, expectedColumnIndices=[], groupByClauses=0, haveFilter=false, isQueryShort=false}]}]'}, filterPredicate = IS_NULL(tool_name)] => [operation_type_name:varchar, tool_version:varchar, tool_name:integer, feature_type:integer]
                   Estimates: {rows: ? (?), cpu: ?, memory: 0.00, network: 0.00}/{rows: ? (?), cpu: ?, memory: 0.00, network: 0.00}
                   tool_version := PinotColumnHandle{columnName=tool_version, dataType=varchar, type=REGULAR}
                   tool_name := PinotColumnHandle{columnName=tool_name, dataType=integer, type=REGULAR}
                   operation_type_name := PinotColumnHandle{columnName=operation_type_name, dataType=varchar, type=REGULAR}
                   feature_type := PinotColumnHandle{columnName=feature_type, dataType=integer, type=REGULAR}`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] xiangfu0 commented on issue #7586: Presto connector is performing full table scan on IS NULL predicate

Posted by GitBox <gi...@apache.org>.
xiangfu0 commented on issue #7586:
URL: https://github.com/apache/pinot/issues/7586#issuecomment-946001044


   This `is null` predicate is not pushed down to pinot, so it falls back to the full table scan and let presto to do `is null` check.
   
   Need to modify presto connector to incorporate the changes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


[GitHub] [pinot] kriti-sc commented on issue #7586: Presto connector is performing full table scan on IS NULL predicate

Posted by GitBox <gi...@apache.org>.
kriti-sc commented on issue #7586:
URL: https://github.com/apache/pinot/issues/7586#issuecomment-979320371


   @xiangfu0 Added possible fix. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org