如何在Spark SQL中创建临时表(而非临时视图)
从T-SQL迁移至Spark SQL:临时表等效方案的替代思路
我们正将代码从T-SQL迁移至Spark SQL,亟需找到与临时表等效的实现方案。此前了解到可使用临时视图作为替代,对应的Spark SQL代码如下:
CREATE OR ALTER TEMP VIEW MyTmpView AS...
临时视图本质就是视图,多数场景下可替代SQL临时表,但并非所有场景都适用。举个实际场景的例子:
- 创建临时视图
MyTmpView,包含所有不在DimEmployee中的员工数据 - 将
MyTmpView中的所有行插入DimEmployee表 - 此时无法再次使用
MyTmpView进行二次插入、关联等操作,因为插入操作完成后,视图逻辑上已无数据返回
注:我们的运行环境为Azure Synapse Spark。
编辑补充:实际上Spark SQL中没有与SQL临时表完全等效的对象,可借助PySpark DataFrame实现类似功能,但我们更倾向于通过变通方案处理这类有限场景,而非切换至DataFrame。
内容的提问来源于stack exchange,提问作者Pingyao
相关产品推荐
相关产品推荐

