当我使用内置分类器解析文件时,为何 AWS Glue 爬网程序会将该定宽数据文件分类为“未知”?

1 分钟阅读
0

当我使用内置分类器解析固定宽度的 .dat 文件时,我的 AWS Glue 爬网程序将该文件归类为“未知”。

简短描述

内置分类器无法解析固定宽度的数据文件。请改用 grok 自定义分类器。

解决方法

创建 grok 自定义分类器

1.    打开 AWS Glue 控制台

2.    在导航窗格中,选择分类器

3.    选择添加分类器,然后输入以下内容:
分类器名称中输入唯一名称。
对于分类器类型,请选择 Grok
对于分类,请输入对分类数据的格式或类型的说明,例如“special-logs”。
对于 Grok 模式,请输入您希望 AWS Glue 用于在数据中查找匹配项的内置模式。要解析 .dat 文件,字段之间不需要分隔符。由于每个字段都具有已知长度,因此您可以使用正则表达式模式来查找匹配项。
例如:

(?<col0>.{7})(?<col1>.{8})(?<col2>.{14})(?<col3>.{52})

(可选)对于自定义模式,请输入要使用的任何自定义模式。这些模式由对数据进行分类的 grok 模式引用。每个自定义模式必须位于单独的行上。有关更多信息,请参阅 AWS Glue 中的自定义分类器值

4.    选择 Create(创建)。

创建并运行爬网程序

1.    在导航窗格中,选择爬网程序

2.    选择添加爬网程序

3.    对于爬网程序名称,请输入唯一名称。

4.    选择标签、说明、安全配置和分类器 (可选) 部分旁边的箭头,然后找到自定义分类器部分。

5.    选择您之前创建的客户分类器旁边的添加,然后选择下一步

6.    在指定爬网程序源类型页面上,选择数据存储,然后选择下一步

7.    在添加数据存储页面上,输入以下内容:
对于选择数据存储,请选择首选数据存储。
对于包含路径,请输入您的 .dat 文件的路径。

8.    选择下一步,然后确认是否要添加另一个数据存储。

9.    在选择 IAM 角色页面上,选择现有 AWS Identity and Access Management (IAM) 角色或创建新角色。选择下一步

10.    对于频率,请选择按需运行,然后选择下一步

11.    在配置爬网程序的输出页面上,对于数据库,选择要在其中创建表的数据库。选择下一步

12.    选择完成以创建爬网程序。

13.    当爬网程序状态更改为就绪时,选中爬网程序名称,然后选择运行爬网程序

14.    等待爬网程序完成,然后在导航窗格中选择。该分类须与您为 grok 自定义分类器输入的分类相匹配(例如,“special-logs”)。


相关信息

在 AWS Glue 控制台上使用分类器

编写 Grok 自定义分类器

向爬网程序中添加分类器

AWS 官方
AWS 官方已更新 3 年前