在 Data Crawler 中使用 gzip 文件

using gzip files in Data Crawler

我在 S3 存储桶中有 gzip 文件。它们不是 CSV 文件,它们是用 space 分隔的列的文本文件。我是 Glue 的新手,它是使用 Glue - Data Crawler 读取此内容的某种方式吗?

Glue 只是引擎盖下的 Spark。因此,您可以只使用相同的 spark 代码来处理 space 分隔文件,即 splitBy 等。Glue Crawler 将通过解析数据为 table 创建元数据。如果您的数据是 space 分隔的,那么 Glue 爬虫将无法解析它。它基本上会将整行视为一个文本列。要处理它,您需要使用 Grok 模式编写自定义分类器。不幸的是,AWS 文档中没有提供明确的示例。我在下面举个例子:

假设您的数据如下所示:(它也可以在 gzip 文件中)

qwe 123 22.3 2019-09-02

asd 123 12.3 2019-09-02

de3 345 23.3 2019-08-22

we3 455 12.3 2018-08-11

ccc 543 12.0 2017-12-12

  1. 首先你必须创建一个自定义分类器

Grok 模式

%{NOTSPACE:name} %{INT:class_num} %{BASE10NUM:balance} %{CUSTOMDATE:balance_date}

自定义图案

自定义日期 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}

  1. 现在使用您刚刚创建的自定义分类器创建一个爬虫。 运行 爬虫。然后检查在您的数据库中创建的元数据,看它是否已正确识别数据。

如有任何问题,请告诉我。您还可以共享您尝试处理的文件中的几行。

如果您是 Glue 的新手并且热衷于尝试,您可能会喜欢阅读我在 LinkedIn 上写的关于 Glue 的博客。请点击这个link