处理具有不同名称文件夹时,应该使用哪种正确的排除模式和表级别?

0

【以下的问题经过翻译处理】 您好,

我有一个S3 Bucket,路径如下:“s3://a/b/c”。

在“c”文件夹内,我有每个表的一个文件夹。对于每个这样的表文件夹,我都有每个版本的文件夹。每个版本都是定期进行的数据库快照,由工作流程运行获得。为澄清起见,“c”内部的结构如下:

  1. 产品
    1. /version_0
      1. _temporary
        1. 0_$folder$
      2. part-00000-c5... ...c000.snappy.parquet
    2. /version_1
      1. _temporary
        1. 0_$folder$
      2. part-00000-c5... ...c000.snappy.parquet
  2. 地点
    1. /version_0
      1. _temporary
        1. 0_$folder$
      2. part-00000-c5... ...c000.snappy.parquet
    2. /version_1
      1. _temporary
        1. 0_$folder$
      2. part-00000-c5... ...c000.snappy.parquet

我创建了一个爬虫(包含路径设置为上述相同的路径-“s3://a/b/c”),以合并每个表(产品,地点)的所有版本成为一个表。不同分区的模式始终相同。不同分区的结构也始终相同。

“_temporary”文件夹是由工作流程自动生成的。

我应该设置哪个实际的正确排除路径(忽略_temporary文件夹中的所有内容)和可能设置任何表级别,以使我仅创建每个表(产品,地点)合并所有版本的一个表?

总结一下,我应该有两张桌子:

  1. 产品(包含version_0和version_1行)
  2. 地点(包含
profile picture
专家
已提问 5 个月前1 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好。我为s3://a/b/c/productss3://a/b/c/locations路径分别创建了两个爬虫,并使用以下排除模式:

version*/_temporary**

生成的表按版本_*正确分区。通常,如果包含路径中的数据模式不同,则Glue爬虫会生成多个表。您可以检查“为每个S3路径创建单个模式”选项以对模式进行分组-爬虫分组

目前没有沙盒环境来测试模式。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则