在Azure Synapse管道中,我调整了从临时表到Azure Synapse SQL专用池上DWH的加载。我有一个源表,其中一列的xml数据以文本形式存储在该列中(nvarchar(max))。我需要从列和行集中的每一行解析此xml,并加载到Azure Synapse SQL专用池中。xml函数在此处不适用,因为Azure Synapse不支持xml。
表是这样的:
source table
我需要这样的结果表:
needed result set
或类似:
needed result set another
我尝试使用Azure Synapse管道数据流解析转换,但对于第三行,仅返回来自xml的最后一个元素(其中CUSTOMERNO仅为122)。
请有人能告诉我如何将xml文本解析成一组行吗?提前感谢。
1条答案
按热度按时间r1zk6ea11#
我在Azure SQL数据库中创建了一个带有XML数据类型列的表,并将值插入其中。学生:
参考图片:
我创建了另一个表,并使用下面的代码将数据从xml数据类型列检索到该表中
表格输出:
我在Azure SQL数据库中执行此操作,因为Azure突触专用池不支持xml数据类型。我们可以使用Azure突触管道复制活动将上表复制到Azure突触专用池。我在Azure突触中创建了专用SQL池,并使用以下过程创建了管道和执行复制活动:已使用Azure SQL数据库链接服务创建Azure SQL数据库数据集。Azure SQL数据库链接服务:
Azure SQL数据库数据集:
复制活动的源:
我在SQL池中创建表-使用下面的代码:
正在创建SQL专用池链接服务:在链接服务选项中搜索synapse专用池。图片供参考:
选择并单击"继续",填写所需详细信息并单击"确定"。参考图像:
我通过启用批量插入选项将sink作为synapse专用池数据库。
我调试了管道,它运行成功。图片供参考:
表已成功复制到专用池。参考图像: