2017-07-12 19 views
1

我试图将我的cosmosDB集合中的所有文档下载到本地目录。我想使用python修改所有JSON文档中的一些内容,然后将它们上传到另一个Azure帐户。什么是最简单,最快捷的方式来下载我收藏中的所有文件?我应该使用CosmosDB模拟器吗?我被告知要查看Azure的数据工厂?这将有助于本地下载文件吗?我也被提到了CosmosDB的数据迁移工具,我发现它有助于将数据导入CosmosDB,但我无法在导出时找到太多内容。我的收藏中有大约6GB的Json文件。Azure CosmosDB - 将集合中的所有文档下载到本地目录

谢谢。

回答

2

在过去,我使用了DocumentDb(CosmosDb)数据迁移工具which is available for download from Microsoft

当运行需要指定源和目标,如下面的截图

enter image description here

确保您选择从DocumentDb导入并指定你想从出口连接字符串和收集应用程序。如果你想甩掉你收藏的全部内容查询也只是

SELECT * FROM c 

然后根据目标信息,您可以选择将保存到本地硬盘驱动器一个JSON文件。您可以以任何方式自由修改该文件的内容,并稍后在准备好将其导回到另一个集合时将其用作源信息。

+0

使用数据迁移工具,而不是将整个集合下载到一个巨大的JSON文件中,是否可以将集合下载到20MB的一组较小的JSON文件中?巨大的JSON文件是一个字典列表,所以如果它在较小的JSON文件中分开,我想确保较小的文件包含这些字典中的一个。我的意思是,如果其中一个大列表中的字典在两个JSON文件中被分离出来,那么它会有问题。 –

+0

@RonyAzrak可以将它们下载为多个JSON文件,您只需提供覆盖整个集合的多个查询,并针对多个输出目标多次运行导入 –

1

我使用了迁移工具,发现它很棒,如果你有一个合理大小的数据库,因为它在相当长的一段时间内使用了处理和带宽。我不得不大块10GB的数据库,这花了太长时间,所以最终使用Data Lake Analytics通过脚本传输到SQL服务器和Blob存储。它为您提供很多灵活性来转换数据并存储在其他分布式系统的Data Lake中。此外,如果需要,它可以帮助您使用cosmos进行分级,并且需要通过任何清理算法来运行数据。

其他优点是,您可以设置批处理,并获得大量处理统计信息以确定如何优化大数据转换。希望这可以帮助。干杯。

+0

使用数据迁移工具,而不是下载整个集合在一个巨大的JSON文件中,是否可以将集合下载到20MB的一组较小的JSON文件中?巨大的JSON文件是一个字典列表,所以如果它在较小的JSON文件中分开,我想确保较小的文件包含这些字典中的一个。我的意思是,如果其中一个大列表中的字典在两个JSON文件中被分离出来,那么它会有问题。 –

相关问题