Sorry for the confusion. SQLContext doesn't have a persistent metastore so its not possible to save data as a table. If anyone wants to contribute, I'd welcome a new query planner strategy for SQLContext that gave a better error message.
On Thu, May 7, 2015 at 8:41 AM, Judy Nash <judyn...@exchange.microsoft.com> wrote: > Figured it out. It was because I was using HiveContext instead of > SQLContext. > > FYI in case others saw the same issue. > > > > *From:* Judy Nash > *Sent:* Thursday, May 7, 2015 7:38 AM > *To:* 'user@spark.apache.org' > *Subject:* RE: saveAsTable fails on Python with "Unresolved plan found" > > > > SPARK-4825 <https://issues.apache.org/jira/browse/SPARK-4825> looks like > the right bug, but it should’ve been fixed on 1.2.1. > > > > Is a similar fix needed in Python? > > > > *From:* Judy Nash > *Sent:* Thursday, May 7, 2015 7:26 AM > *To:* user@spark.apache.org > *Subject:* saveAsTable fails on Python with "Unresolved plan found" > > > > Hello, > > > > I am following the tutorial code on sql programming guide > <https://spark.apache.org/docs/1.2.1/sql-programming-guide.html#inferring-the-schema-using-reflection> > to try out Python on spark 1.2.1. > > > > SaveAsTable function works on Scala bur fails on python with “Unresolved > plan found”. > > > > *Broken Python code:* > > from pyspark.sql import SQLContext, Row > > sqlContext = SQLContext(sc) > > lines = sc.textFile("data.txt") > > parts = lines.map(lambda l: l.split(",")) > > people = parts.map(lambda p: Row(id=p[0], name=p[1])) > > schemaPeople = sqlContext.inferSchema(people) > > schemaPeople.saveAsTable("peopletable") > > > > saveAsTable fails with Unresolved plan found. > > org.apache.spark.sql.catalyst.errors.package$TreeNodeException: Unresolved > plan found, tree: > > 'CreateTableAsSelect None, pytable, false, None > > > > > > *This scala code works fine:* > > from pyspark.sql import SQLContext, Row > > sqlContext = SQLContext(sc) > > lines = sc.textFile("data.txt") > > parts = lines.map(lambda l: l.split(",")) > > people = parts.map(lambda p: Row(id=p[0], name=p[1])) > > schemaPeople = sqlContext.inferSchema(people) > > schemaPeople.saveAsTable("peopletable") > > > > > > Is this a known issue? Or am I not using Python correctly? > > > > Thanks, > > Judy >