0

这是我在这里的第一个问题!

因此,我们正在研究一些与 MDM 相关的东西,其中我们需要运行 MDM 合作伙伴提供的 jar 文件来合并记录。我们可以在 AWS Glue 脚本中调用 subprocess() 方法来运行 jar 文件。到目前为止一切都很好。我们需要在属性文件中写入位置和文件名,但不幸的是,它不接受除 Windows/Linux 样式文件链接之外的任何 S3 存储桶链接。

我们确实尝试过:

MERGE_OUTPUT_FILE_LOCATION:./filename

我们试图通过它指向 Glue 作业中的临时目录(不接受 TempDir/文件名),以上是 jar 文件开始执行的唯一方式。然后我们尝试从 TempDir 中引用这个文件名来创建一个 DynamicFrame,但由于实际上不存在这样的文件而失败。

create_jar_frame = glueContext.create_dynamic_frame.from_options(connection_type="s3",connection_options = {"paths": ["TempDir/filename.csv"], "recurse": True},format="csv")

当给定位置刚刚存在时,任何想法将文件保存在 AWS Glue 中

./filename

知道如何引用临时目录中生成的文件并将其拉入动态框架吗?或者我们应该创建一个 EC2 实例/EMR 并以漫长而艰难的方式来完成它?

4

1 回答 1

0

事实证明,AWS Glue 临时目录就像 AWS Lambda 一样工作。可以从此目录写入和读取所有临时文件。

/tmp/

tmp是临时文件夹的位置,可以在 jar 属性文件中指定为可以读取/写入文件的位置。

由于 AWS Glue 在类 Unix 平台上工作,因此读取和写入命令应为 Unix 类型。

于 2021-08-05T04:05:32.187 回答