将 S3 上的数百万个小文件存档到 S3 Glacier Deep Archive

     2023-03-06     273

关键词:

【中文标题】将 S3 上的数百万个小文件存档到 S3 Glacier Deep Archive【英文标题】:Archiving millions of small files on S3 to S3 Glacier Deep Archive 【发布时间】:2021-08-03 12:44:57 【问题描述】:

我在 S3 (4TB) 上有大约 80,000,000 个 50KB 文件,我想将它们传输到 Glacier DA。 我开始意识到将大量小文件传输到 Glacier 的成本效率低下。

假设我不介意将我的文件归档到单个(或多个)tar/zip 中 - 将这些文件转换到 Glacier DA 的最佳做法是什么?

需要注意的是,我只有在 S3 上拥有这些文件,而不是在任何本地机器上。

【问题讨论】:

【参考方案1】:

最有效的方法是:

在与存储桶相同的区域中启动 Amazon EC2 实例。选择具有高带宽网络的实例类型(例如 t3 系列)。以现货定价启动它,因为您可以承受它被停止的小机会。分配大量 EBS 磁盘空间。 (或者,您可以选择存储优化实例,因为磁盘空间是免费的,但实例更昂贵。您的选择!) 通过指定要复制的路径(子目录),使用AWS Command-Line Interface (CLI)将文件子集下载到实例。不要一次尝试全部完成! 在 EC2 实例上压缩/压缩文件 使用--storage-class DEEP_ARCHIVE上传压缩文件到 S3 检查一切是否正常,然后重复另一个子集!

上述费用很少,因为您可以在不再需要 EC2 时终止它,并且 EBS 仅在卷存在时才收费。

如果列出文件子集的时间过长,您可以考虑使用Amazon S3 Inventory,它可以提供列出所有对象的每日或每周 CSV 文件。然后,您可以使用此列表专门复制文件,或确定要复制的路径/子目录。

作为一个额外的建议...如果您的系统继续收集甚至更多个文件,您可能会考虑以不同的方式收集数据(例如流式传输到 Kinesis Firehose 以一起批处理数据),或者定期组合数据,而不是让它再次爬到这么多文件。如果可能的话,更少、更大的文件更容易在进程中使用。

【讨论】:

在 S3 上更新数百万图像标题的最快方法

】在S3上更新数百万图像标题的最快方法【英文标题】:QuickestwaytoupdateheadersofmillionsofimagesonS3【发布时间】:2016-08-0917:28:01【问题描述】:我有几百万个文件夹,其中包含这样的图像s3://test/1000/s3://test/1001/...每个文件夹包含5-10张... 查看详情

从 s3 迁移到谷歌云存储和 ACL

...可。例如,如果一个文件在amazons3上公开读取,那么g-c-s上的acl将是什么。谢谢【问题讨论】:如果您有数 查看详情

高效地将数百万个 JSON 文件附加到单个文件中

】高效地将数百万个JSON文件附加到单个文件中【英文标题】:AppendmillionsofJSONfilesintoasinglefileefficiently【发布时间】:2016-10-1315:21:55【问题描述】:我有数百万个json文件,我需要将它们作为jsondicts列表附加到单个json文件中:每个... 查看详情

S3将对象标记为批量,但不覆盖

...标签值。我怎样才能实现它?我需要将此解决方案应用于数百万个对象。【问题讨论】:【参考方案1】:我会 查看详情

将数百万个文件从根 AZStorageBlob 复制到子文件夹

】将数百万个文件从根AZStorageBlob复制到子文件夹【英文标题】:CopymillionsoffilesformrootAZStorageBlobtosubfolders【发布时间】:2020-04-1409:07:47【问题描述】:我有多个Azure存储blob容器,每个容器都有超过100万个JSON文件,包括根。无法使... 查看详情

将 zip 文件 obj 上传到 S3 - KeyError:存档中没有名为 8388608 的项目

】将zip文件obj上传到S3-KeyError:存档中没有名为8388608的项目【英文标题】:UploadingazipfileobjtoS3-KeyError:Thereisnoitemnamed8388608inthearchive【发布时间】:2018-03-2314:31:25【问题描述】:我正在尝试制作一个内存中的zip文件,其中包含一堆J... 查看详情

从 S3 将嵌套文本文件读入 spark 时出现内存错误

...:2016-07-2520:24:42【问题描述】:我正在尝试从S3将大约一百万个压缩文本文件读入spark。每个文件的压缩大小在50MB到80MB之间。总共大约有6.5TB的数据。不幸的是,我遇到了不知道如何解决的内存不足异常。一些简单的事情:raw_fil 查看详情

如何让 s3distcp 与换行符合并

...wlines【发布时间】:2015-07-1321:20:21【问题描述】:我有数百万个小的单行s3文件,我希望将它们合并在一起。我有s3distcp语法,但是,我发现在合并文件后,合并集中不包含换行符。我想知道s3distcp是否包含任何强制换行的选项,... 查看详情

从C#中的数据中删除特殊字符后如何将dbf文件中的数百万行数据上传到SQL Server

】从C#中的数据中删除特殊字符后如何将dbf文件中的数百万行数据上传到SQLServer【英文标题】:HowtouploadmillionsofrowsofdatafromdbffiletoSQLServerafterremovingspecialcharactersfromthedatainC#【发布时间】:2021-01-1815:38:05【问题描述】:我的任务是... 查看详情

使用 S3DistCp 将文件从 HDFS 复制到 EMR 集群上的 S3

】使用S3DistCp将文件从HDFS复制到EMR集群上的S3【英文标题】:CopyingfilesfromHDFStoS3onEMRclusterusingS3DistCp【发布时间】:2018-06-2610:59:42【问题描述】:我在从HDFS复制800个avro文件,大​​小约为136MB到S3>EMR集群,但我得到了这个异常... 查看详情

如何将 EMR 生成的 S3 上的小文件与数千个 reducer 合并

】如何将EMR生成的S3上的小文件与数千个reducer合并【英文标题】:HowtomergethesmallfilesonS3generatedbyEMRwiththousandsofreducers【发布时间】:2013-04-0615:10:07【问题描述】:我的cascalogEMR作业在S3存储桶上生成了数千个小文件。它生成的文件... 查看详情

我可以在交付到 S3 之前在 Kinesis Firehose 中自定义分区吗?

...有一个Firehose流,旨在从不同来源和不同事件类型中提取数百万个事件。流应将所有数据传送到一个S3存储桶,作为原始\\未更改数据的存储。我正在考虑根据嵌入在事 查看详情

火花中止火花作业中打开的文件太多

...airrdd在spark中每行创建xml文件。对于40GB的输入,它将创建数百万个小xml文件,这是我的要求。一切正常,但是当spark在S3中保存文件时, 查看详情

无法从 S3 存储桶(镶木地板文件)将数据加载到 EMR 上的猪中

】无法从S3存储桶(镶木地板文件)将数据加载到EMR上的猪中【英文标题】:NotabletoloaddataintopigonEMRfromS3bucket(parquetfile)【发布时间】:2018-11-1317:26:56【问题描述】:我想在EMR上的Pig中从s3存储桶加载数据,我的源文件格式是parquet... 查看详情

将 s3 中跨 CSV 文件的数十亿条记录推送到 MongoDb

】将s3中跨CSV文件的数十亿条记录推送到MongoDb【英文标题】:PushbillionsofrecordsspreadacrossCSVfilesins3toMongoDb【发布时间】:2019-02-1916:22:44【问题描述】:我有一个s3存储桶,每天可以获取近14-150亿条记录,分布在26000个csv文件中。我... 查看详情

在 OpenGL 中实例化数百万个对象

...屏幕上移动相机。我已经修改了thispageofthetutorialIamstudying上的代码以尝试实例化100万个立方体。我已经能够实例化多达90,000个立方体,但 查看详情

将数百万份文档传输到外部硬盘驱动器

】将数百万份文档传输到外部硬盘驱动器【英文标题】:Transferringmillionsofdocumentstoanexternalharddrive【发布时间】:2021-12-2723:46:32【问题描述】:我在AzureBlob存储中有1300万个文档,我可以在24小时内将它们复制到我的桌面内存中。... 查看详情

处理 AWS S3 文件的架构

...510:17:57【问题描述】:我正在开发一个POC,其中我们有数百万个现有的S3压缩json文件(未压缩的3+MB,带有嵌套对象和数组),并且每隔几分钟就会添加更多文件。我们需要在未压缩数据(基于每个文件)之上执行计算并将其存... 查看详情