Usar a AWS CLI para recriar um banco de dados do AWS Glue e suas tabelas - Amazon Athena

Usar a AWS CLI para recriar um banco de dados do AWS Glue e suas tabelas

Não é possível renomear um banco de dados do AWS Glue diretamente, mas você pode copiar a definição, modificar a definição e usá-la para recriar o banco de dados com um nome diferente. Da mesma forma, é possível copiar as definições das tabelas do banco de dados antigo, modificar as definições e usar as definições modificadas para recriar as tabelas no novo banco de dados.

nota

O método apresentado não copia o particionamento da tabela.

O procedimento a seguir para o Windows pressupõe que a AWS CLI esteja configurada para saída JSON. Para alterar o formato de saída padrão na AWS CLI, execute aws configure.

Para copiar um banco de dados do AWS Glue usando a AWS CLI
  1. Em um prompt de comando, execute o comando da AWS CLI a seguir para recuperar a definição do banco de dados do AWS Glue que você deseja copiar.

    aws glue get-database --name database_name

    Para obter mais informações sobre o comando get-database, consulte get-database.

  2. Salve a saída JSON em um arquivo com o nome do novo banco de dados (por exemplo, new_database_name.json) na área de trabalho.

  3. Abra o arquivo new_database_name.json em um editor de textos.

  4. No arquivo JSON, execute as seguintes etapas:

    1. Remova a entrada externa { "Database": e a chave de fechamento correspondente } no final do arquivo.

    2. Altere a entrada Name para o nome do novo banco de dados.

    3. Remova o campo CatalogId.

  5. Salve o arquivo.

  6. Em um prompt de comando, execute o comando da AWS CLI a seguir para usar o arquivo de definição de banco de dados modificado para criar o banco de dados com o novo nome.

    aws glue create-database --database-input "file://~/Desktop\new_database_name.json"

    Para obter mais informações sobre o comando create-database, consulte create-database. Para obter informações sobre como usar parâmetros da AWS CLI em um arquivo, consulte Carregar os parâmetros da AWS CLI de um arquivo no Guia do usuário da AWS Command Line Interface.

  7. Para verificar se o novo banco de dados foi criado no AWS Glue, execute o seguinte comando:

    aws glue get-database --name new_database_name

Agora você está pronto para obter a definição de uma tabela que deseja copiar para o novo banco de dados, modificar a definição e usar a definição modificada para recriar a tabela no novo banco de dados. Esse procedimento não altera o nome da tabela.

Para copiar uma tabela do AWS Glue usando a AWS CLI
  1. Em um prompt de comando, execute o seguinte comando da AWS CLI.

    aws glue get-table --database-name database_name --name table_name

    Para obter mais informações sobre o comando get-table, consulte get-table.

  2. Salve a saída JSON em um arquivo com o nome da tabela (por exemplo, table_name.json) na área de trabalho do Windows.

  3. Abra o arquivo em um editor de textos.

  4. No arquivo JSON, remova a entrada externa {"Table": e a chave de fechamento correspondente } no final do arquivo.

  5. No arquivo JSON, remova as seguintes entradas e os respectivos valores:

    • DatabaseName: esta entrada não é necessária porque o comando create-table da CLI usa o parâmetro --database-name.

    • CreateTime

    • UpdateTime

    • CreatedBy

    • IsRegisteredWithLakeFormation

    • CatalogId

    • VersionId

  6. Salve o arquivo de definição da tabela.

  7. Em um prompt de comando, execute o seguinte comando da AWS CLI para recriar a tabela no novo banco de dados:

    aws glue create-table --database-name new_database_name --table-input "file://~/Desktop\table_name.json"

    Para obter mais informações sobre o comando create-table, consulte create-table.

    A tabela agora aparece no novo banco de dados no AWS Glue e pode ser consultada no Athena.

  8. Repita as etapas para copiar cada tabela adicional para o novo banco de dados no AWS Glue.