Xiao Li created SPARK-16803: ------------------------------- Summary: SaveAsTable does not work when source DataFrame is built on a Hive Table Key: SPARK-16803 URL: https://issues.apache.org/jira/browse/SPARK-16803 Project: Spark Issue Type: Bug Components: SQL Affects Versions: 2.0.0 Reporter: Xiao Li
{{noformat}} scala> sql("create table sample.sample stored as SEQUENCEFILE as select 1 as key, 'abc' as value") res2: org.apache.spark.sql.DataFrame = [] scala> val df = sql("select key, value as value from sample.sample") df: org.apache.spark.sql.DataFrame = [key: int, value: string] scala> df.write.mode("append").saveAsTable("sample.sample") scala> sql("select * from sample.sample").show() +---+-----+ |key|value| +---+-----+ | 1| abc| | 1| abc| +---+-----+ {{noformat}} In Spark 1.6, it works, but Spark 2.0 does not work. The error message from Spark 2.0 is {{noformat}} scala> df.write.mode("append").saveAsTable("sample.sample") org.apache.spark.sql.AnalysisException: Saving data in MetastoreRelation sample, sample is not supported.; {{noformat}} So far, we do not plan to support it in Spark 2.0. Spark 1.6 works because it internally uses {{insertInto}}. But, if we change it back it will break the semantic of {{saveAsTable}} (this method uses by-name resolution instead of using by-position resolution used by {{insertInto}}). Instead, users should use {{insertInto}} API. We should correct the error messages. Users can understand how to bypass it before we support it. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org