Amazon web services s3存储桶的默认块大小是多少
我正在s3中编写一个拼花文件。我必须知道s3块的大小,所以我可以根据行组大小进行相应的设置。as 1行组大小=默认s3块大小。(拼花地板中的默认行组大小为128MB,但如果尝试从行组元中获取行偏移量,则我得到每个行组消耗约116MB。为什么会这样 例如:148.7 MB文件组成两个行组Amazon web services s3存储桶的默认块大小是多少,amazon-web-services,amazon-s3,amazon-ec2,parquet,Amazon Web Services,Amazon S3,Amazon Ec2,Parquet,我正在s3中编写一个拼花文件。我必须知道s3块的大小,所以我可以根据行组大小进行相应的设置。as 1行组大小=默认s3块大小。(拼花地板中的默认行组大小为128MB,但如果尝试从行组元中获取行偏移量,则我得到每个行组消耗约116MB。为什么会这样 例如:148.7 MB文件组成两个行组 row group 1: RC:2870100 TS:429678457 OFFSET:4 row group 2: RC:759588 TS:108434365 OFFSET:12372938
row group 1: RC:2870100 TS:429678457 OFFSET:4
row group 2: RC:759588 TS:108434365 OFFSET:123729384
每个行组消耗大约116MB的数据。如前所述,S3并不固有地将文件大小限制在此级别 虽然您没有提到如何编写S3,但您的编写方式可能是这里的疑点 一个简单的例子是,如果您使用Spark编写,并并行执行此操作 虽然我还没有测试spark是否会自动并行写入,但简单的第一步是将并行度设置为1,而不管您使用哪个应用程序来编写
有两件事可以帮助验证这是正确的解决方案:
S3是一种基于对象的存储,因此唯一适用的限制是文件大小为5TB。您使用S3试图实现什么?我试图读取每个任务中的每个行组,以便提高并行性。但事实并非如此。我已将每个行组的默认大小设置为128MB。但我发现行组大小可能小于此值。为什么是这样吗?