是否可以在Spark中创建持久视图?

时间:2018-01-31 22:39:09

标签: apache-spark pyspark

我正在学习Spark并发现我可以通过调用以下pySpark API之一在Spark中创建临时视图:

df.createGlobalTempView("people")
df.createTempView("people")
df.createOrReplaceTempView'("people")

我是否可以为我的spark群集的每个用户创建一个永久视图?如果已经为他们定义了视图,那么认为这将节省人们的时间。

谢谢, 詹姆斯

2 个答案:

答案 0 :(得分:2)

是的,但您必须使用SQL:

spark.sql("CREATE VIEW persistent_people AS SELECT * FROM people")

答案 1 :(得分:0)

按照范式,Spark不具有任何持久性功能,因为它是数据处理引擎,而不是数据仓库。

如果要提供一些独立于会话的视图,则需要使用现有的Hive部署或对Spark拥有的元存储库使用某种方法。有关更多详细信息,请参阅Spark doc有关Hive交互。