我在Blob存储中连续接收数据。我最初在Blob存储中有5个Blob文件,我能够使用Databricks将其从blob加载到Azure SQL DB,并使用Data Factory将其自动化,但是问题是,当新文件进入Blob存储时,Databrick会将这些文件与旧文件一起加载文件并将其发送到Azure SQL DB。每当我只想要较新的文件时,我都不需要这些旧文件,这样就不会在Azure SQL数据库中一次又一次地加载相同的数据。
答案 0 :(得分:1)
最简单的方法是将刚刚读取的文件存档到一个名为archiveFolder
的新文件夹中。说,您的数据块正在从以下目录中读取:
mnt
sourceFolder
file1.txt
file2.txt
file3.txt
运行代码,提取文件并将其加载到SQL Server中。然后,您可以简单地将这些文件存档(将它们从sourceFolder
移到archiveFolder
中。只需使用以下命令在数据砖中完成此操作
dbutils.fs.mv(sourcefilePath, archiveFilePath, True)
因此,下次您的代码运行时,您的sourceFolder
中将只包含新文件。