小编J.H*_*J.H的帖子

如何在 AWS EMR 上设置 Hadoop fs.s3a.acl.default?

我有一个在 AWS EMR 上运行的 map-reduce 应用程序,它将一些输出写入不同的(aws 帐户)s3 存储桶。我有权限设置并且作业可以写入外部存储桶,但所有者仍然root来自运行 Hadoop 作业的帐户。我想将其更改为拥有存储桶的外部帐户。

我发现我可以设置fs.s3a.acl.defaultbucket-owner-full-control,但这似乎不起作用。这就是我正在做的:

conf.set("fs.s3a.acl.default", "bucket-owner-full-control");
FileSystem fileSystem = FileSystem.get(URI.create(s3Path), conf);
FSDataOutputStream fsDataOutputStream = fileSystem.create(new Path(filePath));
PrintWriter writer  = new PrintWriter(fsDataOutputStream);
writer.write(contentAsString);
writer.close();
fsDataOutputStream.close();
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

hadoop scala amazon-s3 amazon-emr apache-spark

3
推荐指数
1
解决办法
2929
查看次数

与 CompletablFuture 和 ExecutorService 并行调用方法

我正在尝试对中的getPrice每个方法进行并行调用。我有这段代码并验证了 getPrice 正在单独的线程中运行,但它们是按顺序运行的,而不是并行运行的。谁能指出我在这里缺少什么吗?productproducts

非常感谢你的帮助。

   ExecutorService service = Executors.newFixedThreadPool(THREAD_POOL_SIZE);
   Set<Product> decoratedProductSet = products.stream()
   .map(product -> CompletableFuture
                             .supplyAsync(() -> getPrice(product.getId(), date, context), service))
   .map(t -> t.exceptionally(throwable -> null))
   .map(t -> t.join())
   .collect(Collectors.<Product>toSet());
Run Code Online (Sandbox Code Playgroud)

executorservice java-8 completable-future

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

S3 库存:包括 S3 对象元数据?

AWS S3 Inventory 文档称该报告包含相应的元数据

...列出您的对象及其相应的元数据...

但是,我没有看到转储 csv 文件中导出任何对象元数据。我向 S3 存储桶 (x-amz-meta) 中的对象添加了一些自定义元数据。

我是否必须在某处启用某些选项才能获取报告中的元数据?还是我理解错了?

amazon-s3 amazon-web-services

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