Ryan Blue created SPARK-14459:
---------------------------------

             Summary: SQL partitioning must match existing tables, but is not 
checked.
                 Key: SPARK-14459
                 URL: https://issues.apache.org/jira/browse/SPARK-14459
             Project: Spark
          Issue Type: Bug
          Components: SQL
            Reporter: Ryan Blue


Writing into partitioned Hive tables has unexpected results because the table's 
partitioning is not detected and applied during the analysis phase. 

For example, if I have two tables, {{source]} and {{partitioned}}, with the 
same column types:

{code}
CREATE TABLE source (id bigint, data string, part string);
CREATE TABLE partitioned (id bigint, data string) PARTITIONED BY (part string);

// copy from source to partitioned
sqlContext.table("source").write.insertInto("partitioned")
{code}

Copying from {{source}} to {{partitioned}} succeeds, but results in 0 rows. 
This works if I explicitly partition by adding 
{{...write.partitionBy("part").insertInto(...)}}. This work-around isn't 
obvious and is prone to error because the {{partitionBy}} must match the 
table's partitioning, though it is not checked.

I think when relations are resolved, the partitioning should be checked and 
updated if it isn't set.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to