You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Ning Zhang (JIRA)" <ji...@apache.org> on 2011/05/13 22:37:47 UTC

[jira] [Created] (HIVE-2165) variable to be assigned with an atomic value from a query

variable to be assigned with an atomic value from a query
---------------------------------------------------------

                 Key: HIVE-2165
                 URL: https://issues.apache.org/jira/browse/HIVE-2165
             Project: Hive
          Issue Type: Sub-task
            Reporter: Ning Zhang


Currently variable can only be assigned by a constant. There are cases where a query generate a single value that should be used by the second query. It would be nice to assign this value to a variable and pass it to the second query. For exmaple:

{code}
hive> set x_avg = `select avg(x) from T`;
hive> select my_udf(${hiveconf:x_avg}, y) from T2;
{code}


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HIVE-2165) variable to be assigned with an atomic value from a query

Posted by "Edward Capriolo (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-2165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13033277#comment-13033277 ] 

Edward Capriolo commented on HIVE-2165:
---------------------------------------

I was thinking about this. Getting 1 row result is simple enough. We can tap the the result set as it streamed back to it and store it and provide access with something like: ${LASTROW}[0]. The question is how many of these type of features do we need before should tackle a stored procedure like language.

> variable to be assigned with an atomic value from a query
> ---------------------------------------------------------
>
>                 Key: HIVE-2165
>                 URL: https://issues.apache.org/jira/browse/HIVE-2165
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Query Processor
>            Reporter: Ning Zhang
>
> Currently variable can only be assigned by a constant. There are cases where a query generate a single value that should be used by the second query. It would be nice to assign this value to a variable and pass it to the second query. For exmaple:
> {code}
> hive> set x_avg = `select avg(x) from T`;
> hive> select my_udf(${hiveconf:x_avg}, y) from T2;
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HIVE-2165) variable to be assigned with an atomic value from a query

Posted by "Ning Zhang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-2165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13033332#comment-13033332 ] 

Ning Zhang commented on HIVE-2165:
----------------------------------

Yeah, I think we should draw a line between a necessary feature and a whole SP language. This small feature can solve some cases that prevent hive from being a data flow processing language itself, but I don't think a lot of features in SP language is necessary because they can be implemented by Hive's UDFs (transform etc.). And UDFs have the benefits of pushing down computation close to data. So I think implementing a full-blown SP's control flow is an overkill and unnecessary, but some small feature like this has its value. 

> variable to be assigned with an atomic value from a query
> ---------------------------------------------------------
>
>                 Key: HIVE-2165
>                 URL: https://issues.apache.org/jira/browse/HIVE-2165
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Query Processor
>            Reporter: Ning Zhang
>
> Currently variable can only be assigned by a constant. There are cases where a query generate a single value that should be used by the second query. It would be nice to assign this value to a variable and pass it to the second query. For exmaple:
> {code}
> hive> set x_avg = `select avg(x) from T`;
> hive> select my_udf(${hiveconf:x_avg}, y) from T2;
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira