簡體   English   中英

您如何使用 boto3 在 s3 中有效地移動和分區文件?

[英]How do you effectively move and partition files in s3 using boto3?

s3 位置中有大約 10k 個文件,這些文件從 dynamodb PITR 導出到 s3 選項中導出。 這些文件沒有以任何方式分區,它位於單個文件夾中,這對於用例來說是個問題。 我想在 s3 中移動所有這些文件並以隨機方式對其進行分區。 例如,我有 100 個文件,我想以 10 個為一組移動這些文件並創建 10 個這樣的分區(partition=1/10files,partition=2/10files,....)。 如何使用 boto3 有效地做到這一點?

  1. 從 AWS 存儲桶中獲取所有文件的列表並將其存儲在列表中。
  2. 將大列表分成大小為 10 的小列表。下面是相同的代碼。
list_partition_size = 10
data_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 01, 2, 2, 33, 3, 3, 4, 4, 54, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
records_list_chunk = [data_list[i:i + list_partition_size] for i in
                      range(0, len(data_list), list_partition_size)]
print records_list_chunk
  1. 在列表上添加一個 for 循環,您將獲得長度為 10 的塊,您可以將其傳遞給將移動它們的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM