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á.
Leitura de objetos arquivados do S3 com a classe de armazenamento Standard
Uso do AWS Glue
Os dados transferidos do MySQL para o Amazon S3 mantêm a mesma consistência e rigidez estrutural típicas de um sistema de gerenciamento de banco de dados relacional (RDBMS).
O AWS Glue Crawler rastreia objetos do S3, infere os tipos de dados e cria metadados da tabela como uma tabela DDL externa. Ao configurar o trabalho do crawler, use o Amazon S3 como fonte e especifique o local do prefixo do S3 em que todos os arquivos de dados são criados. Na configuração, inclua o seguinte:
-
Opções de execução do crawler
-
Preferência opcional de prefixo de tabela
-
Banco de dados de destino para criar a tabela
-
Perfilis do IAM com as permissões necessárias
Depois de invocar o trabalho, ele examinará os dados para inferir o esquema e preservá-lo no Catálogo de Dados do AWS Glue como tabelas do AWS Glue. As tabelas do AWS Glue são basicamente tabelas externas que podem ser consultadas com instruções SQL, como uma tabela de banco de dados normal usando serviços de analytics, como o Amazon Athena, o Amazon Redshift Spectrum e o Apache Hive no Amazon EMR. Para obter mais informações sobre o crawler, consulte a documentação do AWS Glue.
Para arquivos .csv com um cabeçalho de coluna especificado, os nomes das colunas da tabela resultante refletirão os mesmos nomes de campo. O tipo de dados é inferido com base nos valores do objeto de dados.
Para arquivos Parquet, o esquema é preservado nos próprios dados, e a tabela resultante refletirá os mesmos nomes de campo e tipo de dados.
Como alternativa, você pode executar um DDL manualmente no Athena para criar a definição da tabela com os nomes das colunas e o tipo de dados necessários. Isso cria a definição da tabela no Catálogo de Dados. Para obter mais informações sobre como criar tabelas do Athena, consulte a documentação do Amazon Athena.
Observação: se a linha do cabeçalho estiver ausente do arquivo CSV, o crawler cria o nome do campo como genérico c_0, c_1, c_2,...
Usando o Amazon S3 Select
É possível usar o Amazon S3 Select para ler os objetos do S3 de forma programática usando expressões SQL. A operação da API pode ser invocada usando o comando select-object-content da AWS CLI ou usando um SDK, como Boto3, e invocando a operação select_object_content do Python.
As operações da API oferecem suporte a instruções SQL como parâmetros e só podem ler arquivos do tipo JSON e Parquet. As saídas podem ser redirecionadas como arquivos de saída.
Essas operações são invocadas para cada objeto do S3. Para vários arquivos, execute as operações recursivamente.
Para obter mais informações sobre como executar operações usando a AWS CLI, consulte a documentação do AWS CLI. Para obter mais informações sobre como executar o S3 Select usando o Python SDK Boto3, consulte a documentação do Boto3