小编Re'*_*'em的帖子

S3 批量操作:停留在使用数十亿 JSON 库存进行准备上

我使用 S3 库存 JSON 文件创建了一个 S3 批量操作,该文件指向我的 S3 存储桶中的数十亿个对象。

该操作已停留在“正在准备”状态 24 小时。

此类卷的准备时间是多少?

如果我将所有库存 CSV 加入到一个 uber-CSV 中,而不是提供 JSON 清单,准备时间会缩短吗?

我使用 awscli 创建请求,如下所示:

aws s3control create-job \
    --region ... \
    --account-id ... \
    --operation '{"S3PutObjectCopy":{"TargetResource":"arn:aws:s3:::some-bucket","MetadataDirective":"COPY"}}' \
    --manifest '{"Spec":{"Format":"S3InventoryReport_CSV_20161130"},"Location":{"ObjectArn":"arn:aws:s3:::path_to_manifest/manifest.json","ETag":"..."}}' \
    --report '{"Bucket":"arn:aws:s3:::some-bucket","Prefix":"reports", "Format":"Report_CSV_20180820", "Enabled":true, "ReportScope":"AllTasks"}' \
    --priority 42 \
    --role-arn ... \
    --client-request-token $(uuidgen) \
    --description "Batch request"
Run Code Online (Sandbox Code Playgroud)

amazon-s3 aws-cli

4
推荐指数
1
解决办法
1445
查看次数

使用 --round-robin 将 GNU Parallel 输出到 stdout

我正在尝试使用 GNU Parallel 来帮助我处理一些我不想在本地保存的远程文件。

我的命令看起来有点像:

python list_files.py | \
  parallel -j5 'aws s3 cp s3://s3-bucket/{} -' | \
    parallel -j5 --round --pipe -l 5000 "python process_and_print.py"
Run Code Online (Sandbox Code Playgroud)

process_and_print.py打印某些输入行的输出,但该输出并没有像我预期的那样立即到达标准输出,而是在该过程完成后才看到输出。如果我删除--round参数,一切都按预期工作。

所有这些数据都保存在哪里?我有没有办法将它逐行打印到标准输出,而无需缓冲?

gnu-parallel

2
推荐指数
1
解决办法
1606
查看次数

标签 统计

amazon-s3 ×1

aws-cli ×1

gnu-parallel ×1