Usar arquivos no Amazon S3 para a origem dos dados - AWS Glue

Usar arquivos no Amazon S3 para a origem dos dados

Se você escolher o Amazon S3 como sua origem dos dados, poderá escolher:

  • Um banco de dados e tabela do Data Catalog.

  • Um bucket, pasta ou arquivo no Amazon S3.

Se você usar um bucket do Amazon S3 como origem dos dados, o AWS Glue detectará o esquema dos dados no local especificado a partir de um dos arquivos ou usando o arquivo especificado como um arquivo de exemplo. A detecção de esquema ocorre quando você usa o botão Infer schema (Inferir esquema). Se você alterar o local do Amazon S3 ou o arquivo de exemplo, escolha Infer schema (Inferir esquema) novamente para realizar a detecção de esquema usando as novas informações.

Para configurar um nó de origem dos dados que lê diretamente de arquivos no Amazon S3
  1. Vá para o editor visual para um trabalho novo ou salvo.

  2. Escolha um nó de origem dos dados no diagrama de trabalho para uma origem do Amazon S3.

  3. Escolha a guia Data source properties (Propriedades da origem dos dados) e insira as seguintes informações:

    • S3 source type (Tipo de origem do S3): (somente para origens de dados do Amazon S3) escolha a opção S3 location (Localização do S3).

    • S3 URL (URL do S3): insira o caminho para o bucket, pasta ou arquivo do Amazon S3 que contém os dados do seu trabalho. Você pode escolher Browse S3 (Procurar no S3) para selecionar o caminho a partir dos locais disponíveis para sua conta.

    • Recursive (Recursivo): escolha essa opção se desejar que o AWS Glue leia dados de arquivos em pastas filhas no local do S3.

      Se as pastas filhas contiverem dados particionados, o AWS Glue não adicionará ao Data Catalog nenhuma informação de partição especificada nos nomes de pastas. Por exemplo, considere as seguintes pastas no Amazon S3:

      S3://sales/year=2019/month=Jan/day=1 S3://sales/year=2019/month=Jan/day=2

      Se você escolher Recursive (Recursivo) e selecionar a pasta sales como a sua localização do S3, o AWS Glue lerá os dados em todas as pastas filhas, mas não criará partições para o ano, mês ou dia.

    • Data format (Formato de dados): escolha o formato no qual os dados são armazenados. Você pode escolher JSON, CSV ou Parquet. O valor selecionado informa ao trabalho do AWS Glue como ler os dados do arquivo de origem.

      nota

      Se você não selecionar o formato correto para os seus dados, O AWS Glue poderá inferir o esquema corretamente, mas o trabalho não poderá analisar corretamente os dados do arquivo de origem.

      Você pode inserir opções de configuração adicionais, dependendo do formato escolhido.

      • JSON (JavaScript Object Notation)

        • JsonPath (Caminho Json): insira um caminho JSON que aponta para um objeto usado para definir um esquema de tabela. Expressões de caminho JSON sempre se referem a uma estrutura JSON da mesma forma como expressões XPath são usadas em combinação com um documento XML. O “objeto de membro raiz” no caminho JSON é sempre referido como $, mesmo que seja um objeto ou matriz. O caminho JSON pode ser escrito na notação de pontos ou de colchetes.

          Para obter mais informações sobre operadores do caminho JSON, consulte JsonPath no site do GitHub.

        • Records in source files can span multiple lines (Registros em arquivos de origem podem abranger várias linhas): escolha essa opção se um único registro puder abranger várias linhas no arquivo CSV.

      • CSV (comma-separated values)

        • Delimiter (Delimitador): insira um caractere para indicar o que separa cada entrada de coluna na linha, por exemplo, ; ou ,.

        • Escape character (Caractere de escape): insira um caractere usado como caractere de escape. Ele indica que o caractere que segue imediatamente o caractere de escape deve ser entendido literalmente e não deve ser interpretado como um delimitador.

        • Quote character (Caractere de aspas): insira o caractere usado para agrupar strings separadas em um único valor. Por exemplo, você escolheria aspas duplas (") se tiver valores como "This is a single value" em seu arquivo CSV.

        • Records in source files can span multiple lines (Registros em arquivos de origem podem abranger várias linhas): escolha essa opção se um único registro puder abranger várias linhas no arquivo CSV.

        • First line of source file contains column headers (A primeira linha do arquivo de origem contém cabeçalhos de coluna): escolha essa opção se a primeira linha do arquivo CSV contiver cabeçalhos de coluna em vez de dados.

      • Parquet (Apache Parquet columnar storage)

        Não há configurações adicionais a configurar para dados armazenados no formato Parquet.

    • Partition predicate (Predicato de partição): para particionar os dados que são lidos a partir da origem dos dados, introduza uma expressão booliana baseada no Spark SQL que inclua apenas as colunas de particionamento. Por exemplo: "(year=='2020' and month=='04')"

    • Advanced options (Opções avançadas): expanda essa seção se desejar que AWS Glue detecte o esquema de seus dados com base em um arquivo específico.

      • Schema inference (Inferência do esquema): escolha a opção Choose a sample file from S3(Escolher um arquivo de exemplo no S3), se desejar usar um arquivo específico em vez de deixar que o AWS Glue escolha um por você.

      • Auto-sampled file (Arquivo amostrado automaticamente): insira o caminho para o arquivo no Amazon S3 a ser usado para inferir o esquema.

      Se estiver editando um nó de origem dos dados e alterando o arquivo de exemplo selecionado, escolha Reload schema (Recarregar esquema) para detectar o esquema usando o novo arquivo de exemplo.

  4. Selecione o botão Infer schema (Inferir esquema) para detectar o esquema dos arquivos de origem no Amazon S3. Se você alterar o local do Amazon S3 ou o arquivo de exemplo, deve escolher Infer schema (Inferir esquema) novamente para realizar a detecção do esquema usando as novas informações.