Ton*_*ony 5 python apache-spark pyspark
我有一个 pyspark 数据框df,想将其保存为持久视图。那可能吗?
我尝试执行以下操作:
df.createOrReplaceTempView("temp_view")
spark.sql('CREATE VIEW my_view AS SELECT * FROM temp_view'))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:“不允许my_view通过引用临时视图来创建永久视图temp_view”
Myk*_*tko -1
根据此拉取请求,不允许创建引用临时视图的永久视图。PySpark 也没有可以创建持久视图的方法,例如。createTempView和createOrReplaceTempView。您只能创建临时视图。例如:
df = spark.createDataFrame([[1, 2], [1, 2]], ['col1', 'col2'])
df.createOrReplaceTempView('view1')
spark.sql(
"""
CREATE TEMP VIEW view2 AS
SELECT col1
FROM view1
"""
)
spark.sql(
"""
SELECT *
FROM view2
"""
).show()
Run Code Online (Sandbox Code Playgroud)
输出:
+----+
|col1|
+----+
| 1|
| 1|
+----+
Run Code Online (Sandbox Code Playgroud)
您可以列出可用的视图:
spark.catalog.listTables()
Run Code Online (Sandbox Code Playgroud)
输出:
[Table(name='view1', database=None, description=None, tableType='TEMPORARY', isTemporary=True),
Table(name='view2', database=None, description=None, tableType='TEMPORARY', isTemporary=True)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1452 次 |
| 最近记录: |