我们正在为一个大数据项目评估 AWS Glue,其中包含一些 ETL。我们添加了一个爬虫,它可以正确地从 S3 中获取一个 CSV 文件。最初,我们只是想将该 CSV 转换为 JSON,然后将文件放到另一个 S3 位置(相同的存储桶,不同的路径)。
我们使用了 AWS 提供的脚本(此处没有自定义脚本)。并且只是映射了所有的列。
目标文件夹为空(作业刚刚创建),但作业失败并显示“文件已存在”: 此处为快照。在开始工作之前 ,我们假装丢弃输出的 S3 位置是空的。但是在错误之后我们确实看到了两个文件,但那些似乎是部分文件: 快照
关于可能发生什么的任何想法?
这是完整的堆栈:
容器:ip-172-31-49-38.ec2.internal_8041 上的 container_1513099821372_0007_01_000001
日志类型:标准输出
日志上传时间:2017 年 12 月 12 日星期二 19:12:04 +0000
日志长度:8462
日志内容:
回溯(最近一次调用最后一次):
文件“script_2017-12-12-19-11-08.py”,第 30 行,在
datasink2 =glueContext.write_dynamic_frame.from_options(frame = applymapping1, connection_type = "s3", connection_options =
{
“路径”:“s3://primero-viz/output/tcw_entries”
}
, format = "json",transformation_ctx = "datasink2")
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/PyGlue.zip/awsglue/dynamicframe.py”,第523行,来自_options
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/PyGlue.zip/awsglue/context.py”,第175行,来自write_options_frame,来自write_options_frame
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/PyGlue.zip/awsglue/context.py”,第198行,在write_from_options
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/PyGlue.zip/awsglue/data_sink.py”,在第32行中写入
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/PyGlue.zip/awsglue/data_sink.py”,在第 28 行中写入
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/py4j-0.10.4-src.zip/py4j/java_line1__13call, in__line1__3”
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/pyspark.zip/pyspark/sql/utils.py”,第63行,deco
文件“/mnt/yarn/usercache/root/appcache/application_1513099821372_0007/container_1513099821372_0007_01_000001/py4j-0.10.4-src.zip/py4j/protocol_return_value”, in line get
py4j.protocol.Py4JJavaError:调用 o86.pyWriteDynamicFrame 时出错。 …