我正在使用Azure Data Factory将数据从Azure Data Lake Store复制到Cosmos DB中的集合。我们将在数据湖中有几千个JSON文件,每个JSON文件大约是。 3 GB。我正在使用数据工厂的复制活动,在初始运行中,一个文件需要3.5小时才能加载,集合设置为10000 RU / s,数据工厂使用默认设置。现在我将其扩展到50000 RU / s,将cloudDataMovementUnits设置为32并将writeBatchSize设置为10以查看它是否提高了速度,同一文件现在需要2.5小时才能加载。加载数千个文件的时间仍然需要很长时间。
有没有办法以更好的方式做到这一点?
答案 0 :(得分:0)
最重要的是,尝试复制数百万个Json文件需要时间。如果它是有组织的GB数据,你可以通过更短的时间批量传输而不是数百万个不同的文件来逃避。
我不知道你是否打算经常从Data Lake转移这种类型的文件,但一个好的策略可能是写一个专门用来做这件事的应用程序。使用Microsoft.Azure.DocumentDB客户端库,您可以轻松创建管理传输的C#Web应用程序。
通过这种方式,您可以自动执行这些转移,限制它们,安排它们等。您还可以在虚拟机或应用服务上托管此应用,而不必考虑它。