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
-
Vá para o editor visual para um trabalho novo ou salvo.
-
Escolha um nó de origem dos dados no diagrama de trabalho para uma origem do Amazon S3.
-
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.
-
-
-
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.