I can read the table just after it created, but how to read it again in another spark session?
Given code:
spark = SparkSession \
.builder \
.getOrCreate()
df = spark.read.parquet("examples/src/main/resources/users.parquet")
(df
.write
.saveAsTable("people_partitioned_bucketed"))
# retrieve rows from table as expected
spark.sql("select * from people_partitioned_bucketed").show()
spark.stop()
# open spark session again
spark = SparkSession \
.builder \
.getOrCreate()
# table not exist this time
spark.sql("select * from people_partitioned_bucketed").show()
```
Execution result:
+------+----------------+--------------+
| name|favorite_numbers|favorite_color|
+------+----------------+--------------+
|Alyssa| [3, 9, 15, 20]| null|
| Ben| []| red|
+------+----------------+--------------+
Traceback (most recent call last):
File "/home//workspace/spark/examples/src/main/python/sql/datasource.py", line 246, in <module>
spark.sql("select * from people_partitioned_bucketed").show()
File "/home//virtualenvs/spark/local/lib/python2.7/site-packages/pyspark/sql/session.py", line 603, in sql
return DataFrame(self._jsparkSession.sql(sqlQuery), self._wrapped)
File "/home//virtualenvs/spark/local/lib/python2.7/site-packages/py4j/java_gateway.py", line 1133, in __call__
answer, self.gateway_client, self.target_id, self.name)
File "/home//virtualenvs/spark/local/lib/python2.7/site-packages/pyspark/sql/utils.py", line 69, in deco
raise AnalysisException(s.split(': ', 1)[1], stackTrace)
pyspark.sql.utils.AnalysisException: u'Table or view not found: people_partitioned_bucketed; line 1 pos 14'