Criação de um único esquema para cada caminho de inclusão do Amazon S3 - AWS Glue

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação de um único esquema para cada caminho de inclusão do Amazon S3

Por padrão, quando um crawler define tabelas para dados armazenados no Amazon S3, ele considera a compatibilidade dos dados e a similaridade do esquema. Os fatores de compatibilidade de dados que ele considera incluem se os dados têm o mesmo formato (por exemplo,JSON), o mesmo tipo de compactação (por exemplo,GZIP), a estrutura do caminho do Amazon S3 e outros atributos de dados. Similaridade de esquema é uma medida de até que ponto os esquemas de objetos do Amazon S3 separados são semelhantes.

Você pode configurar um crawler para CombineCompatibleSchemas em uma definição de tabela comum quando possível. Com essa opção, o crawler ainda considera a compatibilidade dos dados, mas ignora a semelhança dos esquemas específicos ao avaliar objetos do Amazon S3 no caminho de inclusão especificado.

Se você estiver configurando o crawler no console, para combinar esquemas, selecione a opção de crawler Create a single schema for each S3 path (Criar um único esquema para cada caminho do S3).

Ao configurar o rastreador usando oAPI, defina a seguinte opção de configuração:

  • Defina o Configuration campo com uma representação em sequência do seguinte JSON objeto no rastreadorAPI; por exemplo:

    { "Version": 1.0, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }

Para ajudar a ilustrar essa opção, suponha que você defina um crawler com um caminho de inclusão s3://bucket/table1/. Quando o rastreador é executado, ele encontra dois JSON arquivos com as seguintes características:

  • Arquivo 1: S3://bucket/table1/year=2017/data1.json

  • Conteúdo do arquivo: {“A”: 1, “B”: 2}

  • Esquema: A:int, B:int

  • Arquivo 2: S3://bucket/table1/year=2018/data2.json

  • Conteúdo do arquivo: {“C”: 3, “D”: 4}

  • Esquema: C: int, D: int

Por padrão, o crawler cria duas tabelas, chamadas year_2017 e year_2018, porque os esquemas não são suficientemente semelhantes. No entanto, se a opção Create a single schema for each S3 path (Criar um único esquema para cada caminho do S3) for selecionada, e se os dados forem compatíveis, o crawler criará uma tabela. A tabela tem o esquema A:int,B:int,C:int,D:int e partitionKey year:string.