Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Drill >> mail # dev >> Re: Review Request 21165: DRILL-626: Project push down into HBase scan


Copy link to this message
-
Re: Review Request 21165: DRILL-626: Project push down into HBase scan

This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/21165/#review42453

exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushProjIntoScan.java
<https://reviews.apache.org/r/21165/#comment76260>

    Since the new Scan has the same rowtype as the original scan node, and we get the column count from RowType, when we compute the cost for this scan operator, I wonder if may lead to the same cost for the new scan and old scan operator. As a result, the new scan may not be chosen by optiq optimizer.
    
    Probably, we need modify the code of getting column count in DrillScanRel.computeSelfCost().

exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java
<https://reviews.apache.org/r/21165/#comment76259>

    Here, we override visitCall() in this visitor class.  Do you think we override  visitOver()?  RexOver extendes RexCall, and also contains operands, though currently we do not support window function yet.
    
    

exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java
<https://reviews.apache.org/r/21165/#comment76257>

    For RexLiteral, I think we had better use literal.getType().getSqlTypeName().
    
    literal.getTypeName() returns a broad type of the literal. For example, all exact numbers, including integers have typeName "Decimal". If we use getTypeName(), then  f[12.3] will also be pushed down into scan?
    

exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PrelUtil.java
<https://reviews.apache.org/r/21165/#comment76256>

    If we have a string literal in the query, then, this code will return a NamedSegment, and put the NamedSegment into the pushed column lists. For instance,
    
    select 'abc', 'cde', regular_column from cp.`data.parquet`
    
    if table happens to have column named 'abc', 'cde', then, the pushed columns means unnecessary scan cost.
    
    
    
- Jinfeng Ni
On May 7, 2014, 9:34 a.m., Aditya Kishore wrote: