[
https://issues.apache.org/jira/browse/HIVE-549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770805#action_12770805
]
Zheng Shao commented on HIVE-549:
---------------------------------
Hive-549.patch: Overall the structure of the changes look good to me.
Utilities.java:
* gWorkContainer: this variable needs to be heavily commented - why do we need
it, why it's ThreadLocal, any alternatives (and optionally, why this is better
than alternatives).
* Where do we serialize data to "HIVE_PLAN"? Is that thread-safe?
InputStream in = new FileInputStream("HIVE_PLAN");
HiveInputFormat.java:
* Unnecessary white-space changes only.
Driver.java:
* It's a good idea to assign the job numbers statically - if the jobNo of the
same job can be different in different runs, it will be harder to debug.
* Shall we immediately stop all other running jobs if one of them have failed?
+ console.printError(errorMessage);
+ taskCleanup(runnable);
* I guess you mean "if the child has already started, or is NOT runnable"
+ // Check if the child has already started, or is runnable
+ if(checkLaunch(child)) {
* There are 2 places where we do "curJobNo++" in this function:
+ public int launchTask(Task<? extends Serializable> tsk, String queryId,
* Do we need to get a copy of "conf" object since we are modifying it in
launchTask?
+ tsk.initialize(conf, plan);
Can we add an option for the user to choose "sequential" or "parallel"
execution? The change could be simple - we just need to check the option in
launchTask to decide whether we should call TaskRunner.start() or
TaskRunner.run(). Please add the new option to HiveConf class, and
conf/hive-default.xml.
> Parallel Execution Mechanism
> ----------------------------
>
> Key: HIVE-549
> URL: https://issues.apache.org/jira/browse/HIVE-549
> Project: Hadoop Hive
> Issue Type: Wish
> Components: Query Processor
> Reporter: Adam Kramer
> Assignee: Chaitanya Mishra
> Attachments: Hive-549.patch
>
>
> In a massively parallel database system, it would be awesome to also
> parallelize some of the mapreduce phases that our data needs to go through.
> One example that just occurred to me is UNION ALL: when you union two SELECT
> statements, effectively you could run those statements in parallel. There's
> no situation (that I can think of, but I don't have a formal proof) in which
> the left statement would rely on the right statement, or vice versa. So, they
> could be run at the same time...and perhaps they should be. Or, perhaps there
> should be a way to make this happen...PARALLEL UNION ALL? PUNION ALL?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.