hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raghotham Murthy (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HIVE-385) Split Driver.run() into compile() + exec()
Date Mon, 06 Apr 2009 02:00:12 GMT

    [ https://issues.apache.org/jira/browse/HIVE-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12695953#action_12695953

Raghotham Murthy commented on HIVE-385:

Couple comments:

You might want to return the actual plan from the Driver.compile() and use exceptions to deal
with errors. That will allow you later to accumulate plans from several queries when you want
to do mqo. Maybe for now, just create a dummy QueryPlan class which contains only the sem
object. Then you can use this class to retrieve the actual plan.

Also, looks like you should initialize the session variables before compiling the query since
the queryid is used while writing out the plan for the query.

> Split Driver.run() into compile() + exec()
> ------------------------------------------
>                 Key: HIVE-385
>                 URL: https://issues.apache.org/jira/browse/HIVE-385
>             Project: Hadoop Hive
>          Issue Type: Improvement
>          Components: Query Processor
>            Reporter: Neil Conway
>            Assignee: Neil Conway
>         Attachments: hive_driver_compile.patch
> Currently, Driver.run() parses, analyzes, and then executes a given query string. This
isn't very flexible: it would be nice to be able to parse and analyze a query to get a query
plan, and then execute that query plan at a later time (zero or more times). This would also
be a necessary prerequisite for supporting server-side prepared statements.
> I'd like to change Driver as follows:
> * Add a new method Driver.compile(String), which parses and analyzes the given query
string, and returns an object representing the planned query
> * Add a new method Driver.execute(Plan), which runs the given planned query
> * Reimplement run(String) as { p = compile(String); execute(p); }
> Comments welcome; I should have a candidate patch ready soon.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message