我的 Azure Data Lake Storage Gen2 (ADLS Gen2) 帐户中存储了一个 Delta 表。当 Synapse 管道更新此 Delta 表时,我想在最新版本的 Delta 表之上自动创建一个 View 。该 View 应该允许我直接查询数据,而无需依赖笔记本中的手动时间旅行操作。如何在 Azure Synapse 中设置此自动 View 创建? 场景:我不允许使用任何 Synapse 笔记本或 Databricks
我创建了一个数据流来更新我的增量表并最终创建最新版本的 View ,但找不到这样的功能。
最佳答案
要在 Delta 表上创建最新版本的 View ,您需要使用突触管道调用存储过程,该存储过程将在最新版本上创建 View 。
首先创建一个存储过程来在增量表上创建 View 。
示例存储过程:
create PROCEDURE crdeview
AS
BEGIN
exec ('DROP VIEW IF EXISTS samplev1;')
exec ('CREATE VIEW samplev1 AS
SELECT *
FROM OPENROWSET(
BULK ''https://stacc name.dfs.core.windows.net/fsnp2/'',
FORMAT = ''delta''
)
WITH (
[Id] Int,
[name] VARCHAR(100)
) AS [r];')
End
上述过程将删除以前的 View 并使用新版本的增量文件创建新 View 。
然后使用存储过程事件从突触管道到突触池调用此存储过程。
并将存储事件触发器添加到管道中,以在新版本添加到增量文件时触发管道。
输出:
关于azure - 我需要在特定版本的 Delta 表之上创建一个 View 。有没有办法在 Synapse 中并使用 T-SQL 来完成此操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77040406/