You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Chao (JIRA)" <ji...@apache.org> on 2014/09/23 19:46:36 UTC

[jira] [Updated] (HIVE-8233) multi-table insertion doesn't work with ForwardOperator [Spark Branch]

     [ https://issues.apache.org/jira/browse/HIVE-8233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chao updated HIVE-8233:
-----------------------
    Description: 
Right now, for multi-table insertion, we will start from multiple FileSinkOperators, and break from their lowest common ancestor, adding temporary FileSinkOperator and TableScanOperators. A special case is when the LCA is a ForwardOperator, in which case we don't break it, since it's already been optimized.

However, there's a issue, considering the following plan:

{noformat}
   ...
       |
      FOR
       |
      RS_0
     /   \
   RS_1  RS_2
    |     |
   ...   ...
    |     |
   FS_1  FS_2
{noformat}

In this case, {{FOR}} is the LCA, and the plan will still be a single one. However, {{RS_0}} leads to both {{RS_1}} and {{RS_2}}. Because of the issue in HIVE-7731 and HIVE-8118, both downstream branches will get duplicated (and same) results.

  was:
Right now, for multi-table insertion, we will start from multiple FileSinkOperators, and break from their lowest common ancestor, adding temporary FileSinkOperator and TableScanOperators. A special case is when the LCA is a ForwardOperator, in which case we don't break it, since it's already been optimized.

However, there's a issue, considering the following plan:

{{noformat}}
   ...
       |
      FOR
       |
      RS_0
     /   \
   RS_1  RS_2
    |     |
   ...   ...
    |     |
   FS_1  FS_2
{noformat}

In this case, {{FOR}} is the LCA, and the plan will still be a single one. However, {{RS_0}} leads to both {{RS_1}} and {{RS_2}}. Because of the issue in HIVE-7731 and HIVE-8118, both downstream branches will get duplicated (and same) results.


> multi-table insertion doesn't work with ForwardOperator [Spark Branch]
> ----------------------------------------------------------------------
>
>                 Key: HIVE-8233
>                 URL: https://issues.apache.org/jira/browse/HIVE-8233
>             Project: Hive
>          Issue Type: Bug
>          Components: Spark
>            Reporter: Chao
>
> Right now, for multi-table insertion, we will start from multiple FileSinkOperators, and break from their lowest common ancestor, adding temporary FileSinkOperator and TableScanOperators. A special case is when the LCA is a ForwardOperator, in which case we don't break it, since it's already been optimized.
> However, there's a issue, considering the following plan:
> {noformat}
>    ...
>        |
>       FOR
>        |
>       RS_0
>      /   \
>    RS_1  RS_2
>     |     |
>    ...   ...
>     |     |
>    FS_1  FS_2
> {noformat}
> In this case, {{FOR}} is the LCA, and the plan will still be a single one. However, {{RS_0}} leads to both {{RS_1}} and {{RS_2}}. Because of the issue in HIVE-7731 and HIVE-8118, both downstream branches will get duplicated (and same) results.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)