Criar um esquema único 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 são do mesmo formato (por exemplo, JSON), do 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.
Para ajudar a ilustrar essa opção, suponha que você defina um crawler com um caminho de inclusão s3://bucket/table1/
. Quando o crawler é executado, ele localiza dois arquivos JSON 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
.