我正在Blob存储中获取连续的Blob文件。我必须加载Databricks并放入Azure SQL DB。数据工厂编排此管道

时间:2019-11-25 11:57:39

标签: azure apache-spark databricks azure-blob-storage azure-databricks

我在Blob存储中连续接收数据。我最初在Blob存储中有5个Blob文件,我能够使用Databricks将其从blob加载到Azure SQL DB,并使用Data Factory将其自动化,但是问题是,当新文件进入Blob存储时,Databrick会将这些文件与旧文件一起加载文件并将其发送到Azure SQL DB。每当我只想要较新的文件时,我都不需要这些旧文件,这样就不会在Azure SQL数据库中一次又一次地加载相同的数据。

1 个答案:

答案 0 :(得分:1)

最简单的方法是将刚刚读取的文件存档到一个名为archiveFolder的新文件夹中。说,您的数据块正在从以下目录中读取:

mnt
  sourceFolder
    file1.txt
    file2.txt
    file3.txt

运行代码,提取文件并将其加载到SQL Server中。然后,您可以简单地将这些文件存档(将它们从sourceFolder移到archiveFolder中。只需使用以下命令在数据砖中完成此操作

dbutils.fs.mv(sourcefilePath, archiveFilePath, True)

因此,下次您的代码运行时,您的sourceFolder中将只包含新文件。