azure 使用synapse analytics pipeline将Blob文件数据插入现有SQL表的预复制脚本

xyhw6mcr  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(137)

我在Blob存储中有一个文件,我想从它添加数据到我的数据集(使用synapse analytics pipeline 'Copy data'活动)。通常我会使用预复制脚本TRUNCATE TABLE a.Table,但这将重写表。
我需要保留旧数据并在表中追加数据,而不是清除和重新填充它。我尝试使用复制前脚本INSERT INTO a.TableINSERT INTO a.Table SELECT * FROM folder/x.csv,因为源已经在复制数据活动中声明,但两种方法都给我一个错误。
这是错误:

{
    "errorCode": "2200",
    "message": "ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed with the following error: 'Parse error at line: 2, column: 32: Incorrect syntax near 'csv'.',Source=,''Type=System.Data.SqlClient.SqlException,Message=Parse error at line: 2, column: 32: Incorrect syntax near 'csv'.,Source=.Net SqlClient Data Provider,SqlErrorNumber=103010,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=103010,State=1,Message=Parse error at line: 2, column: 32: Incorrect syntax near 'csv'.,},],'",
    "failureType": "UserError",
    "target": "Append",
    "details": []
}

我需要使用什么预拷贝脚本来将数据追加到表中,并添加来自Blob文件的数据?

knpiaxh1

knpiaxh11#

如果要使用ADF追加SQL表中的数据,请不要添加任何复制前脚本,默认情况下,数据会随已有数据一起插入表中。

  • 从复制活动中的blob存储中获取源数据集。
  • 如下图所示,给予Flume设置。

  • 当您第一次运行带有复制活动的管道时,数据将被插入到空表中。
  • 当管道再次运行第二次时,数据将被复制到接收器,并且接收器中的现有数据也将保留在那里。

相关问题