我正在使用AWS Glue爬行器来爬行大约170 GB的avro数据,以创建一个数据目录表。
avro数据中有几个不同的模式版本,但爬虫程序仍然能够将数据合并到一个表中(我启用了“按数据兼容性和模式相似性分组-模式”)。
这就是事情出现问题的时候。
我只能使用雅典娜从
GENERIC_INTERNAL_ERROR: Unknown object inspector category: UNION
一个简短的Google检查让我相信这与avro文件中的模式有关。
通常,这是我集中精力的地方,但是:我已经能够做完全相同的程序(AVRO-
转换作业之前需要大约一个小时。现在,当在170 GB的数据上运行相同的作业时,作业会在一分钟内完成,因为glueContext.create_dynamic_frame.from_catalog
现在返回一个空帧——没有错误,什么都没有。混乱是真实的,因为我能够在Athena中对作业使用的同一表运行COUNT查询,返回520M对象的计数。
有人知道问题出在哪里吗?
以下几点可能与此相关:
我们遇到了同样的问题,可以通过以下方式解决。
在我们的avro模式中,有一个字段类型混合的记录,即一些字段类型为“”type“:[“string”]
,另一些字段类型为“”type“:[“null”,“string”]
”。
将此手动更改为随处可见,我们可以在雅典娜中使用该表,没有任何问题。
我每天都有csv文件被传递到S3,这些文件在当月是增量的。所以file1包含第1天的数据,file2包含第1天和第2天的数据,等等。每天我都想对该数据运行一个ETL并将其写入不同的S3位置,这样我就可以使用Athena查询它,而不会出现重复的行。本质上,我只想查询聚合数据的最新状态(这只是最近交付给S3的文件的内容)。 我认为书签不会起作用,因为增量交付包含以前文件中的数据,因此会产生重复。我知道
我已经创建了一个成功执行的AWS胶水作业。但是,我无法在作业中放置任何自定义日志记录。 如何在AWS S3存储桶中创建日志文件,以便跟踪日常作业执行情况? 目前,当我的工作执行时,它会创建默认日志(即火花日志),我可以在AWS云手表中看到它。在AWS胶水中记录事件的最佳实践是什么?
我能够以拼花格式写入,并通过如下列进行分区: 但我无法用Glue的DynamicFrame做到这一点。 我试图通过作为的一部分,因为AWS文档说拼花胶不支持任何格式选项,但这不起作用。 这有可能吗?怎么可能?至于这样做的原因,我认为工作书签是必要的,因为这对我目前不起作用。
我正在尝试使用AWS胶水将大约1.5 GB的Gzip CSV转换为拼花地板。下面的脚本是自动生成的粘合作业,用于完成该任务。这似乎需要很长时间(我已经等了10个dpu好几个小时了,从来没有看到它结束或产生任何输出数据) 我想知道是否有人有任何经验将1.5 GB GZIPPED CSV转换为镶木地板-是否有更好的方法来完成此转换? 我有TB的数据要转换。值得关注的是,转换GBs似乎需要很长时间。 我
当我试图提取1个表时,我使用AWS Glue从EC2(Postgre)提取要转换的数据,并将其放在S3上。我得到一个错误,如下所示: 有什么我能做的吗?我试图删除null字段或fillna,但这些都不起作用。
我们有一个以红移方式处理数据的用例。但我想在S3中创建这些表的备份,以便使用Spectrum查询这些表。 为了将表从Redshift移动到S3,我使用了一个胶水ETL。我已经为AWS红移创建了一个爬虫程序。胶水作业将数据转换为拼花地板,并将其存储在S3中,按日期进行分区。然后,另一个爬虫会对S3文件进行爬行,以再次对数据进行编目。 如何消除第二个爬虫并在作业本身中执行此操作?