aboutsummaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorWenchen Fan <wenchen@databricks.com>2016-12-13 09:46:58 -0800
committerYin Huai <yhuai@databricks.com>2016-12-13 09:46:58 -0800
commitd53f18cae41c6c77a0cff3f1fd266e4c1b9ea79a (patch)
treeaa0bd298a7f5dec4855b24001238f87498585b19 /core/src
parent096f868b74d01c3dfc8f09e1e7dfc0ebab65226f (diff)
downloadspark-d53f18cae41c6c77a0cff3f1fd266e4c1b9ea79a.tar.gz
spark-d53f18cae41c6c77a0cff3f1fd266e4c1b9ea79a.tar.bz2
spark-d53f18cae41c6c77a0cff3f1fd266e4c1b9ea79a.zip
[SPARK-18675][SQL] CTAS for hive serde table should work for all hive versions
## What changes were proposed in this pull request? Before hive 1.1, when inserting into a table, hive will create the staging directory under a common scratch directory. After the writing is finished, hive will simply empty the table directory and move the staging directory to it. After hive 1.1, hive will create the staging directory under the table directory, and when moving staging directory to table directory, hive will still empty the table directory, but will exclude the staging directory there. In `InsertIntoHiveTable`, we simply copy the code from hive 1.2, which means we will always create the staging directory under the table directory, no matter what the hive version is. This causes problems if the hive version is prior to 1.1, because the staging directory will be removed by hive when hive is trying to empty the table directory. This PR copies the code from hive 0.13, so that we have 2 branches to create staging directory. If hive version is prior to 1.1, we'll go to the old style branch(i.e. create the staging directory under a common scratch directory), else, go to the new style branch(i.e. create the staging directory under the table directory) ## How was this patch tested? new test Author: Wenchen Fan <wenchen@databricks.com> Closes #16104 from cloud-fan/hive-0.13.
Diffstat (limited to 'core/src')
0 files changed, 0 insertions, 0 deletions