设置正确的表级别、包含路径和排除路径。

0

【以下的问题经过翻译处理】 我有一个s3存储桶,路径如下:s3://a/b/c/products

在products文件夹中,每个版本都有一个文件夹(每个版本都是产品表的数据库快照,每周由工作流程获得)。

  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-29... ...c000.snappy.parquet

我创建了一个爬虫(Include Path设置为上述相同的路径-s3://a/b/c/products),旨在将所有版本合并为1个表。不同分区的模式始终相同。不同分区的结构也总是相同的。我尝试过不同的表级别(4、5和6)在“S3数据分组行为”部分的爬虫设置中,但它总是创建多个表(每个版本一个表)。

_temporary文件夹是工作流自动生成的东西,所以我不知道是否必须将其包含在排除路径中才能使其工作。

为了创建仅合并所有版本的一个表,正确的包含路径、排除路径和表级别应该是什么?

我已经检查了所有关于此问题的常规文档链接,但是否可以为此问题提供实际解决方案?

profile picture
EXPERTE
gefragt vor 5 Monaten3 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 排除模式在这里非常有帮助: 尝试使用 version*/_temporary** 作为排除模式。

这将排除所有不必要的文件,而不是parquet文件。

对于包含模式,请使用 s3://a/b/c/products/'

在此情况下,您不需要提供级别。

检查“为每个S3路径创建单个模式”。

这将创建一个以“version \ *”为分区的表。

参考:https://docs.aws.amazon.com/glue/latest/dg/crawler-s3-folder-table-partition.html

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen