Definir opções de configuração do crawler - AWS Glue

Definir opções de configuração do crawler

Quando um crawler é executado, ele pode encontrar alterações em seu armazenamento de dados que resultam em um esquema ou partição diferente de um rastreamento anterior. Você pode usar o AWS Management Console ou a API do AWS Glue para configurar como o seu crawler processa determinados tipos de alterações.

Definir opções de configuração do crawler no console do AWS Glue

Quando você define um crawler usando o console do AWS Glue, tem várias opções para configurar o comportamento desse crawler. Para obter mais informações sobre como usar o console do AWS Glue para adicionar um crawler, consulte Trabalhar com crawlers no console do AWS Glue.

Quando um crawler é executado em um armazenamento de dados previamente rastreado, ele pode descobrir que um esquema foi alterado ou que alguns objetos no armazenamento de dados foram excluídos. O crawler registra as alterações em um esquema. Dependendo do tipo de origem do crawler, novas tabelas e partições podem ser criadas independentemente da política de alteração do esquema.

Para especificar o que o crawler faz quando encontra alterações no esquema, você pode escolher uma das seguintes ações no console:

  • Update the table definition in the Data Catalog (Atualizar a definição da tabela no Data Catalog): adicione novas colunas, remova colunas ausentes e modifique as definições de colunas existentes no AWS Glue Data Catalog. Remova todos os metadados não definidos pelo crawler. Essa é a configuração padrão.

  • Add new columns only (Adicionar somente novas colunas): para tabelas que são mapeadas para um armazenamento de dados do Amazon S3, inclua novas colunas conforme elas são descobertas, mas não remova ou altere o tipo de colunas existentes no Data Catalog. Escolha essa opção quando as colunas atuais no Data Catalog estiverem corretas e você não quiser que o crawler remova ou altere o tipo das colunas existentes. Se um atributo de tabela fundamental do Amazon S3 for alterado, como uma classificação, tipo de compactação ou um delimitador de CSV, marque a tabela como defasada. Mantenha os formatos de entrada e de saída existentes no Data Catalog. Atualize os parâmetros de SerDe somente se o parâmetro for definido pelo crawler. For all other data stores, modify existing column definitions (Para todos os outros armazenamentos de dados, modifique as definições de coluna existentes).

  • Ignore the change and don't update the table in the Data Catalog (Ignorar a alteração e não atualizar a tabela no Data Catalog): somente novas tabelas e partições são criadas.

    Essa é a configuração padrão para crawls incrementais.

Um crawler também pode descobrir partições novas ou alteradas. Por padrão, novas partições são adicionadas e as partições existentes são atualizadas se houver mudanças. Além disso, você pode definir uma opção de configuração de crawler como Update all new and existing partitions with metadata from the table (Atualizar todas as partições novas e existentes com metadados da tabela) no console do AWS Glue. Quando essa opção é definida, as partições herdam da tabela pai as propriedades dos metadados, como classificação, formato de entrada, formato de saída, informações de SerDe e esquema. Todas as alterações nessas propriedades em uma tabela são propagadas para suas respectivas partições. Quando essa opção de configuração é definida em um crawler existente, as partições existentes são atualizadas para corresponder às propriedades da tabela pai na próxima vez que o crawler for executado.

Para especificar o que o crawler faz quando encontra um objeto excluído no armazenamento de dados, escolha uma das seguintes ações:

  • Excluir tabelas e partições do Data Catalog

  • Ignorar a alteração e não atualizar a tabela no Data Catalog

    Essa é a configuração padrão para crawls incrementais.

  • Mark the table as deprecated in the Data Catalog (Marcar a tabela como defasada no Data Catalog): essa é a configuração padrão.

Definir opções de configuração do crawler usando a API

Quando você define um crawler usando a API do AWS Glue, é possível escolher entre vários campos para configurar o crawler. A SchemaChangePolicy na API do crawler determina o que o crawler faz quando descobre um esquema alterado ou um objeto excluído. O crawler registra alterações do esquema à medida que ele é executado.

Quando um crawler é executado, novas tabelas e partições sempre são criadas independentemente da política de alteração de esquema. Você pode escolher uma das seguintes ações no campo UpdateBehavior na estrutura SchemaChangePolicy para determinar o que o crawler faz quando encontra um esquema de tabela alterado:

  • UPDATE_IN_DATABASE: atualizar a tabela no AWS Glue Data Catalog. Adicione novas colunas, remova as colunas ausentes e modifique as definições das colunas existentes. Remova todos os metadados não definidos pelo crawler.

  • LOG: ignorar as alterações e não atualizar a tabela no Data Catalog.

    Essa é a configuração padrão para crawls incrementais.

Você também pode substituir a estrutura SchemaChangePolicy usando um objeto JSON fornecido no campo Configuration da API do crawler. Esse objeto JSON pode conter um par chave-valor para definir a política para não atualizar as colunas existentes e adicionar apenas novas colunas. Por exemplo, forneça o seguinte objeto JSON como uma string:

{ "Version": 1.0, "CrawlerOutput": { "Tables": { "AddOrUpdateBehavior": "MergeNewColumns" } } }

Essa opção corresponde à opção Add new columns only (Adicionar somente novas colunas) no console do AWS Glue. Ela substitui a estrutura SchemaChangePolicy para tabelas que resultam somente do crawling de armazenamentos de dados do Amazon S3. Escolha essa opção se quiser manter os metadados existentes no Data Catalog (a fonte confiável). As novas colunas são adicionadas conforme são encontradas, incluindo tipos de dados aninhados. Mas as colunas existentes não são removidas e o tipo não é alterado. Se um atributo de tabela do Amazon S3 for alterado significativamente, marque a tabela como defasada e registre em log um aviso de que um atributo incompatível precisa ser resolvido.

Quando um crawler é executado em um armazenamento de dados previamente rastreado, ele pode descobrir partições novas ou alteradas. Por padrão, novas partições são adicionadas e as partições existentes são atualizadas se houver mudanças. Além disso, você pode definir uma opção de configuração do crawler como InheritFromTable, que corresponde à opção Update all new and existing partitions with metadata from the table (Atualizar todas as partições novas e existentes com metadados da tabela) no console do AWS Glue. Quando essa opção é definida, as partições herdam as propriedades dos metadados de sua tabela principal, como classificação, formato de entrada, formato de saída, informações de SerDe e esquema. Todas propriedades alteradas na tabela principal são propagadas para suas respectivas partições.

Quando essa opção de configuração é definida em um crawler existente, as partições existentes são atualizadas para corresponder às propriedades da tabela pai na próxima vez que o crawler for executado. Esse comportamento é definido no campo Configuration da API do crawler. Por exemplo, forneça o seguinte objeto JSON como uma string:

{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }

O campo Configuration da API do crawler pode definir várias opções de configuração. Por exemplo, para configurar a saída do crawler para partições e tabelas, você pode fornecer uma representação de string do seguinte objeto JSON:

{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }, "Tables": {"AddOrUpdateBehavior": "MergeNewColumns" } } }

Você pode escolher uma das seguintes ações para determinar o que o crawler faz quando encontra um objeto excluído no armazenamento de dados. O campo DeleteBehavior na estrutura SchemaChangePolicy na API do crawler define o comportamento do crawler quando ele descobre um objeto excluído.

  • DELETE_FROM_DATABASE: excluir tabelas e partições do Data Catalog.

  • LOG: ignorar a alteração. Não atualizar o Data Catalog. Em vez disso, grave uma mensagem de log.

  • DEPRECATE_IN_DATABASE: marcar a tabela como defasada no Data Catalog. Essa é a configuração padrão.

Como impedir que o crawler altere um esquema existente

Se não quiser que um crawler substitua as atualizações feitas em campos existentes em uma definição de tabela do Amazon S3, escolha a opção no console Add new columns only (Adicionar somente novas colunas) ou defina a opção de configuração MergeNewColumns. Isso se aplica a tabelas e partições, a menos que Partitions.AddOrUpdateBehavior seja substituído por InheritFromTable.

Se você não quiser que um esquema de tabela seja alterado quando um crawler for executado, defina a política de alteração de esquema como LOG. Você também pode definir uma opção de configuração que defina esquemas de partição para herdar da tabela.

Se você estiver configurando o crawler no console, poderá escolher as seguintes ações:

  • Ignorar a alteração e não atualizar a tabela no Data Catalog

  • Update all new and existing partitions with metadata from the table (Atualizar todas as partições novas e existentes com metadados da tabela)

Quando você configura o crawler usando a API, defina os seguintes parâmetros:

  • Defina o campo UpdateBehavior na estrutura SchemaChangePolicy para LOG.

  • Defina o campo Configuration com uma representação de string do objeto JSON a seguir na API do crawler, por exemplo:

    { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }

Como 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.

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).

Quando você configurar o crawler usando a API, defina a seguinte opção de configuração:

  • Defina o campo Configuration com uma representação de string do objeto JSON a seguir na API do crawler, 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 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.

Como especificar o local da tabela e o nível de particionamento

Por padrão, quando um crawler define tabelas para dados armazenados no Amazon S3, ele tenta mesclar esquemas e criar tabelas de nível superior (year=2019). Em alguns casos, você pode esperar que o crawler crie uma tabela para a pasta month=Jan, mas em vez disso, o crawler cria uma partição desde o momento em que uma pasta irmã (month=Mar) tenha sido mesclada na mesma tabela.

A opção de crawler no nível da tabela fornece a flexibilidade de informar ao crawler onde as tabelas estão localizadas e como você deseja que as partições sejam criadas. Quando você especifica um Table level (Nível da tabela), ela é criada nesse nível absoluto a partir do bucket do Amazon S3.


        Agrupamento de crawler com nível de tabela especificado como nível dois.

Ao configurar o crawler no console, você pode especificar um valor para a opção Table level (Nível da tabela) do Crawler. O valor deve ser um inteiro positivo que indica o local da tabela (o nível absoluto no conjunto de dados). O nível para a pasta de nível superior é um. Por exemplo, para o caminho mydataset/a/b, se o nível for definido como três, a tabela será criada no local mydataset/a/b.

Console

              Especificar um nível de tabela na configuração do crawler.
API

Quando você configurar o crawler usando a API, defina o campo Configuration com uma representação de string do objeto JSON a seguir, por exemplo:

configuration = jsonencode( { "Version": 1.0, "Grouping": { TableLevelConfiguration = 2 } })
CloudFormation

Neste exemplo, você define a opção Table level (Nível da tabela) disponível no console dentro do modelo do CloudFormation:

"Configuration": "{ \"Version\":1.0, \"Grouping\":{\"TableLevelConfiguration\":2} }"

Como especificar o número máximo de tabelas que o crawler pode criar

Opcionalmente, você pode especificar o número máximo de tabelas que o crawler pode criar especificando um TableThreshold por meio da CLI ou do console do AWS Glue. Se as tabelas detectadas pelo crawler durante o rastreamento forem maiores que esse valor de entrada, o rastreamento falhará e nenhum dado será gravado no Data Catalog.

Esse parâmetro é útil quando as tabelas que seriam detectadas e criadas pelo crawler são muito maiores do que o esperado. Pode haver vários motivos para isso, por exemplo:

  • Ao usar um trabalho do AWS Glue para preencher seus locais do Amazon S3, você pode acabar com arquivos vazios no mesmo nível de uma pasta. Nesses casos, quando você executa um crawler nesse local do Amazon S3, o crawler cria várias tabelas devido a arquivos e pastas presentes no mesmo nível.

  • Se você não configurar "TableGroupingPolicy": "CombineCompatibleSchemas", pode acabar com mais tabelas do que o esperado.

Você especifica o TableThreshold como um valor inteiro maior que 0. Esse valor é configurado para cada crawler. Ou seja, esse valor é considerado para cada rastreamento. Por exemplo: um crawler tem o valor TableThreshold definido como 5. Em cada rastreamento, o AWS Glue vai comparar o número de tabelas detectadas com esse valor limite da tabela (5). Se o número de tabelas detectadas for menor que 5, o AWS Glue vai gravar as tabelas no Data Catalog. Caso contrário, o rastreamento falhará sem gravar no Data Catalog.

Console

Para definir TableThreshold usando o console da AWS:


          A seção Output and scheduling (Saída e agendamento) do console da AWS mostrando o parâmetro Maximum table threshold (Limite máximo da tabela).
CLI

Para definir TableThreshold usando a AWS CLI:

"{"Version":1.0, "CrawlerOutput": {"Tables":{"AddOrUpdateBehavior":"MergeNewColumns", "TableThreshold":5}}}";

As mensagens de erro são registradas para ajudar você a identificar os caminhos da tabela e a limpar seus dados. Exemplo: faça login em sua conta se o crawler falhar porque a contagem da tabela foi maior do que o valor limite da tabela fornecido:

Table Threshold value = 28, Tables detected - 29

No CloudWatch, registramos em log todas as localizações de tabelas detectadas como uma mensagem INFO. Um erro é registrado como o motivo da falha.

ERROR com.amazonaws.services.glue.customerLogs.CustomerLogService - CustomerLogService received CustomerFacingException with message The number of tables detected by crawler: 29 is greater than the table threshold value provided: 28. Failing crawler without writing to Data Catalog. com.amazonaws.services.glue.exceptions.CustomerFacingInternalException: The number of tables detected by crawler: 29 is greater than the table threshold value provided: 28. Failing crawler without writing to Data Catalog.

Como especificar opções de configuração para um armazenamento de dados do Delta Lake

Ao configurar um crawler para um armazenamento de dados Delta Lake, é necessário especificar estes parâmetros de configuração:

Conexão

Opcionalmente, selecione ou adicione uma conexão de rede para usar com esse destino do Amazon S3. Para obter informações sobre conexões, consulte Definir conexões no AWS Glue Data Catalog.

Criar tabelas para consulta

Selecione como você deseja criar as tabelas do Delta Lake:

  • Create Native tables (Criar tabelas nativas): permite a integração com mecanismos de consulta compatíveis com consulta direta ao log de transações do Delta.

  • Create Symlink tables (Criar tabelas de link simbólico): Crie uma pasta manifesto de link simbólico com arquivos de manifesto particionados pelas chaves de partição, com base nos parâmetros de configuração especificados.

Habilite o manifesto de gravação (configurável somente se você tiver selecionado Criar tabelas de links simbólicos para uma fonte Delta Lake

Selecione se deseja detectar metadados da tabela ou alterações de esquema no log de transações do Delta Lake; fazer isso gera novamente o arquivo manifesto. Você não deverá escolher essa opção se tiver configurado uma atualização automática de manifesto com SET TBLPROPERTIES do Delta Lake.

Incluir caminhos das tabelas do Delta Lake

Especifique um ou mais caminhos do Amazon S3 para tabelas do Delta, como s3://bucket/prefixo/objeto.


              Especificação do crawling de um armazenamento de dados do Delta Lake.

Como configurar um crawler para usar credenciais do Lake Formation

Você pode configurar um crawler para usar credenciais do AWS Lake Formation para acessar um armazenamento de dados do Amazon S3 ou uma tabela do Data Catalog com uma localização subjacente do Amazon S3 dentro da mesma Conta da AWS ou de outra Conta da AWS. Você pode configurar uma tabela existente do Data Catalog como o destino do crawler, se o crawler e a tabela do Data Catalog residirem na mesma conta. No momento, é permitido ter somente um destino de catálogo com apenas uma tabela de catálogo ao usar uma tabela do Data Catalog como destino do crawler.

nota

Ao definir uma tabela do Data Catalog como um destino de crawler, certifique-se de que a localização subjacente da tabela do Data Catalog seja um local do Amazon S3. Os crawlers que usam credenciais do Lake Formation são compatíveis somente com destinos do Data Catalog com localizações subjacentes do Amazon S3.

Configuração exigida quando o crawler e a localização registrada do Amazon S3 ou a tabela do Data Catalog residem na mesma conta (crawling na conta)

Para permitir que o crawler acesse um armazenamento de dados ou uma tabela do Data Catalog usando as credenciais do Lake Formation, você precisa registrar a localização dos dados com o Lake Formation. Além disso, o perfil do IAM do crawler deve ter permissões para ler os dados do destino no qual o bucket do Amazon S3 está registrado.

Você pode concluir as seguintes etapas de configuração usando o AWS Management Console ou a AWS Command Line Interface (AWS CLI).

AWS Management Console
  1. Antes de configurar um crawler para acessar a fonte do crawler, registre a localização dos dados do armazenamento de dados ou do Data Catalog com o Lake Formation. No console do Lake Formation (https://console.aws.amazon.com/lakeformation/), registre uma localização do Amazon S3 como a localização raiz do seu data lake na Conta da AWS na qual o crawler está definido. Para obter mais informações, consulte Registering an Amazon S3 location (Registrar um local do Amazon S3).

  2. Conceda permissões de Data location (Localização de dados) ao perfil do IAM que é usado para a execução do crawler, de modo que o rastreador possa ler os dados do destino no Lake Formation. Para obter mais informações, consulte Granting data location permissions (same account) (Conceder permissões de localização de dados [mesma conta]).

  3. Conceda permissões de acesso ao perfil do crawler (Create) para o banco de dados, que é especificado como o banco de dados de saída. Para obter mais informações, consulte Granting database permissions using the Lake Formation console and the named resource method (Conceder permissões de banco de dados usando o console do Lake Formation e o método de recurso nomeado).

  4. No console do IAM (https://console.aws.amazon.com/iam/), crie um perfil do IAM para o crawler. Adicione a política lakeformation:GetDataAccess ao perfil.

  5. No console do AWS Glue (https://console.aws.amazon.com/glue/), ao configurar o crawler, selecione a opção Use Lake Formation credentials for crawling Amazon S3 data source (Usar credenciais do Lake Formation para crawling da fonte de dados do Amazon S3).

    nota

    O campo accountId é opcional para crawling na conta.

AWS CLI
aws glue --profile demo create-crawler --debug --cli-input-json '{ "Name": "prod-test-crawler", "Role": "arn:aws:iam::111122223333:role/service-role/AWSGlueServiceRole-prod-test-run-role", "DatabaseName": "prod-run-db", "Description": "", "Targets": { "S3Targets":[ { "Path": "s3://crawl-testbucket" } ] }, "SchemaChangePolicy": { "UpdateBehavior": "LOG", "DeleteBehavior": "LOG" }, "RecrawlPolicy": { "RecrawlBehavior": "CRAWL_EVERYTHING" }, "LineageConfiguration": { "CrawlerLineageSettings": "DISABLE" }, "LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111122223333" }, "Configuration": { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }, "Tables": {"AddOrUpdateBehavior": "MergeNewColumns" } }, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }, "CrawlerSecurityConfiguration": "", "Tags": { "KeyName": "" } }'

Configuração exigida quando o crawler e a localização registrada do Amazon S3 residem em contas diferentes (crawling entre contas)

Para permitir que o crawler acesse um armazenamento de dados em uma conta diferente usando as credenciais do Lake Formation, primeiro você deve registrar a localização de dados do Amazon S3 com o Lake Formation. Em seguida, você concede permissões de localização de dados à conta do crawler conforme as etapas a seguir.

Você pode concluir as seguintes etapas usando o AWS Management Console ou a AWS CLI.

AWS Management Console
  1. Na conta em que a localização do Amazon S3 está registrada (conta B):

    1. Registre um caminho do Amazon S3 no Lake Formation. Para obter mais informações, consulte Registering an Amazon S3 location (Registrando um local do Amazon S3).

    2. Conceda permissões de Data location (Localização de dados) para a conta (conta A) na qual o crawler será executado. Para obter mais informações, consulte Granting data location permissions (Conceder permissões de localização de dados).

    3. Crie um banco de dados vazio no Lake Formation com a localização subjacente como o local de destino do Amazon S3. Para obter mais informações, consulte Creating a database (Criar um banco de dados).

    4. Conceda à conta A (a conta na qual o crawler será executado) acesso ao banco de dados que você criou na etapa anterior. Para obter mais informações, consulte Granting database permissions (Conceder permissões de banco de dados).

  2. Na conta em que o crawler é criado e será executado (conta A):

    1. Ao usar o console da AWS RAM, aceite o banco de dados que foi compartilhado da conta externa (conta B). Para obter mais informações, consulte Aceitar um convite de compartilhamento de recursos do AWS Resource Access Manager.

    2. Crie um perfil do IAM para o crawler. Adicione a política lakeformation:GetDataAccess ao perfil.

    3. No console do Lake Formation (https://console.aws.amazon.com/lakeformation/), conceda permissões de Data location (Localização dos dados) na localização de destino do Amazon S3 para o perfil do IAM usado para a execução do crawler, de modo que o crawler possa ler os dados do destino no Lake Formation. Para obter mais informações, consulte Granting data location permissions (Conceder permissões de localização de dados).

    4. Crie um link de recurso no banco de dados compartilhado. Para obter mais informações, consulte Create a resource link (Criar um link de recurso).

    5. Conceda permissões de acesso ao perfil do crawler (Create) no banco de dados compartilhado e (Describe) no link do recurso. O link do recurso é especificado na saída do crawler.

    6. No console do AWS Glue (https://console.aws.amazon.com/glue/), ao configurar o crawler, selecione a opção Use Lake Formation credentials for crawling Amazon S3 data source (Usar credenciais do Lake Formation para crawling da fonte de dados do Amazon S3).

      Para crawling entre contas, especifique o ID da Conta da AWS na qual a localização de destino do Amazon S3 está registrada no Lake Formation. O campo accountId é opcional para crawling na conta.

AWS CLI
aws glue --profile demo create-crawler --debug --cli-input-json '{ "Name": "prod-test-crawler", "Role": "arn:aws:iam::111122223333:role/service-role/AWSGlueServiceRole-prod-test-run-role", "DatabaseName": "prod-run-db", "Description": "", "Targets": { "S3Targets":[ { "Path": "s3://crawl-testbucket" } ] }, "SchemaChangePolicy": { "UpdateBehavior": "LOG", "DeleteBehavior": "LOG" }, "RecrawlPolicy": { "RecrawlBehavior": "CRAWL_EVERYTHING" }, "LineageConfiguration": { "CrawlerLineageSettings": "DISABLE" }, "LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111111111111" }, "Configuration": { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }, "Tables": {"AddOrUpdateBehavior": "MergeNewColumns" } }, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }, "CrawlerSecurityConfiguration": "", "Tags": { "KeyName": "" } }'
nota
  • Um crawler que use credenciais do Lake Formation é compatível somente com destinos do Amazon S3 e do Data Catalog.

  • Para destinos que utilizam o fornecimento de credenciais do Lake Formation, as localizações subjacentes do Amazon S3 devem pertencer ao mesmo bucket. Por exemplo, os clientes podem usar vários destinos (s3://bucket1/folder1, s3://bucket1/folder2), desde que todos os locais de destino estejam no mesmo bucket (bucket1). Não é permitido especificar buckets diferentes (s3://bucket1/folder1, s3://bucket2/folder2).

  • No momento, só é permitido ter um destino de catálogo com uma só tabela de catálogo para crawlers de destino do Data Catalog.