1

我正在熟悉 AWS Glue 中的爬虫。我从 Athena 导入了一个数据库目录,并希望每天爬取这些表的数据位置,以便在添加数据时自动更新它们的分区。

但是,我的爬虫似乎只创建新表,与从 Athena 导入的表不同。他们似乎没有更新我现有的表格。有没有办法做到这一点?在他们的文档中没有看到任何提及它。

4

3 回答 3

1

尚未对此进行测试,但请尝试更新导入表中的以下字段:

"CreatedBy": "arn:aws:sts::000000000000:assumed-role/YOUR_CLAWLER_ROLE/AWS-Crawler"
"Parameters": {
        "CrawlerSchemaDeserializerVersion": "1.0",
        "compressionType": "none",
        "UPDATED_BY_CRAWLER": "you_crawler_name_for_this_table",
        "CrawlerSchemaSerializerVersion": "1.0"
    }

我跳过了与爬虫无关的属性。这个想法是更新您的表,使其看起来像“由爬虫创建”。可能在这个爬虫之后会更新它。:)

要获得完整的表定义,请使用get-table但请记住此输出与update-table几乎没有区别

如果发布你的结果会很好,因为我不能在最近的时间尝试这个。:(

希望能帮助到你。

于 2018-01-23T14:08:59.437 回答
1

您可能需要添加一个自定义分类器,其工作是将数据分类到数据目录中的单独表中。您可能正在使用不知道如何唯一标识您的架构的默认分类器。

什么是分类器: http: //docs.aws.amazon.com/glue/latest/dg/add-classifier.html

于 2017-12-04T06:03:21.840 回答
1

您所要做的就是将UPDATED_BY_CRAWLER设置为您的爬虫的名称,爬虫会从下次开始拾取它。请注意,如果您定义了任何自定义字段,它们将被爬虫删除。

于 2018-01-30T22:13:09.270 回答