You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Alexander Behm (JIRA)" <ji...@apache.org> on 2017/04/17 22:57:41 UTC

[jira] [Commented] (KUDU-1694) C++ client support for specifying tuple memory layout

    [ https://issues.apache.org/jira/browse/KUDU-1694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15971779#comment-15971779 ] 

Alexander Behm commented on KUDU-1694:
--------------------------------------

It would be great to have a way to make Kudu's and Impala's row layout identical, and not just "close enough". Today, Impala can scan from Kudu without copying the fixed-length portion of rows because Impala re-creates Kudu's layout:
https://github.com/apache/incubator-impala/blob/master/fe/src/main/java/org/apache/impala/analysis/TupleDescriptor.java#L61

The current state of affairs makes it difficult for Impala to support additional plan optimizations like "passthrough unions" (IMPALA-3586) when scanning Kudu tables:
Example:
{code}
select * from kudu_tbl
union all
select * from kudu_tbl
{code}

The main difference in the row formats is that Kudu allocates one null bit for all columns if there is at least one nullable column in the projection. Unnecessary bits are allocated.

> C++ client support for specifying tuple memory layout
> -----------------------------------------------------
>
>                 Key: KUDU-1694
>                 URL: https://issues.apache.org/jira/browse/KUDU-1694
>             Project: Kudu
>          Issue Type: New Feature
>          Components: client
>    Affects Versions: 1.0.0
>            Reporter: Matthew Jacobs
>              Labels: impala
>
> Transforming Kudu's tuples to another tuple format (e.g. Impala's tuple format) is expensive. The client should allow the output tuple format to be specified so that conversions aren't necessary.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)