如何让我的 Scalding 作业在其输入桶上递归运行?
How can I make my Scalding job operate recursively on its input bucket?
我有一份 Scalding 工作,运行 在 EMR 上。它 运行 在包含多个文件的 S3 存储桶上。来源看起来像这样:
MultipleTextLineFiles("s3://path/to/input/").read
/* ... some data processing ... */
.write(Tsv("s3://paths/to/output/))
我想 运行 在嵌套存储桶上创建它,即包含本身包含文件的存储桶的存储桶。它应该处理内部存储桶中的所有文件。如果我尝试在不更改源代码的情况下执行此操作,则会出现此错误:
java.io.IOException: Not a file: s3://path/to/innerbucket
我如何更改此作业以使其 运行 在嵌套存储桶上?
使用通配符:
s3://path/to/input/*
如果您有多层嵌套,请使用多个通配符来访问文件:
s3://path/to/input/*/*/*
我有一份 Scalding 工作,运行 在 EMR 上。它 运行 在包含多个文件的 S3 存储桶上。来源看起来像这样:
MultipleTextLineFiles("s3://path/to/input/").read
/* ... some data processing ... */
.write(Tsv("s3://paths/to/output/))
我想 运行 在嵌套存储桶上创建它,即包含本身包含文件的存储桶的存储桶。它应该处理内部存储桶中的所有文件。如果我尝试在不更改源代码的情况下执行此操作,则会出现此错误:
java.io.IOException: Not a file: s3://path/to/innerbucket
我如何更改此作业以使其 运行 在嵌套存储桶上?
使用通配符:
s3://path/to/input/*
如果您有多层嵌套,请使用多个通配符来访问文件:
s3://path/to/input/*/*/*