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
>

Reply via email to