无法访问 AWS Glue 中的 jar 文件生成的 csv 文件
Unable to access csv file generated by a jar file in AWS Glue
这是我的第一个问题!
所以我们正在研究一些与 MDM 相关的东西,其中我们需要 运行 我们的 MDM 合作伙伴提供的 jar 文件来合并记录。我们可以在我们的 AWS Glue 脚本中调用 subprocess() 方法来 运行 jar 文件。到目前为止一切都很好。我们需要在 属性 文件中写入位置和文件名,但不幸的是它不接受除 Windows/Linux 样式文件链接之外的任何 S3 存储桶链接。
我们确实尝试过这个:
MERGE_OUTPUT_FILE_LOCATION:./filename
我们试图通过它指向 Glue 作业中的临时目录(TempDir/filename 不被接受),以上是 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 instance/EMR 并通过漫长而艰难的方式来实现?
原来 AWS Glue 临时目录的工作方式与 AWS Lambda 一样。可以从此目录写入和读取所有临时文件。
/tmp/
tmp是临时文件夹的位置,可以在jar属性文件中指定为文件所在的位置read/written.
由于 AWS Glue 在类 Unix 平台上运行,因此读写命令应为 Unix 类型。
这是我的第一个问题!
所以我们正在研究一些与 MDM 相关的东西,其中我们需要 运行 我们的 MDM 合作伙伴提供的 jar 文件来合并记录。我们可以在我们的 AWS Glue 脚本中调用 subprocess() 方法来 运行 jar 文件。到目前为止一切都很好。我们需要在 属性 文件中写入位置和文件名,但不幸的是它不接受除 Windows/Linux 样式文件链接之外的任何 S3 存储桶链接。
我们确实尝试过这个:
MERGE_OUTPUT_FILE_LOCATION:./filename
我们试图通过它指向 Glue 作业中的临时目录(TempDir/filename 不被接受),以上是 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 instance/EMR 并通过漫长而艰难的方式来实现?
原来 AWS Glue 临时目录的工作方式与 AWS Lambda 一样。可以从此目录写入和读取所有临时文件。
/tmp/
tmp是临时文件夹的位置,可以在jar属性文件中指定为文件所在的位置read/written.
由于 AWS Glue 在类 Unix 平台上运行,因此读写命令应为 Unix 类型。