Uso do formato Ion no AWS Glue - AWS Glue

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

Uso do formato Ion no AWS Glue

O AWS Glue recupera dados de fontes e grava dados em destinos armazenados e transportados em vários formatos de dados. Se seus dados forem armazenados ou transportados no formato de dados Ion, este documento apresenta os recursos disponíveis para usar seus dados no AWS Glue.

O AWS Glue é compatível com o uso do formato Ion. Esse formato representa estruturas de dados (que não são baseadas em linhas ou colunas) em representações intercambiáveis em binários e em texto não criptografado. Para ver uma apresentação do formato feita pelos autores, consulte Amazon Ion. (Para obter mais informações, consulte a Especificação do Amazon Ion.)

Você pode usar o AWS Glue para ler arquivos Ion do Amazon S3. Você pode ler arquivos bzip e gzip do S3 que contenham arquivos Ion. Você configura o comportamento de compactação no Parâmetros de conexão do S3 e não na configuração apresentada nesta página.

A tabela a seguir mostra quais são as operações comuns do AWS Glue compatíveis com a opção de formato Ion.

Leitura Escrever Leitura de transmissão Agrupar arquivos pequenos Marcadores de trabalho
Compatível Sem suporte Sem suporte Compatível Sem suporte

Exemplo: ler arquivos e pastas Ion do S3

Pré-requisitos: você precisará dos caminhos do S3 (s3path) para os arquivos ou pastas Ion que você deseja ler.

Configuração: nas opções da sua função, especifique format="json". Em seu connection_options, use a chave paths para especificar seu s3path. Você pode configurar como o leitor interage com o S3 no connection_options. Para mais detalhes, consulte os tipos de conexão e opções para ETL no AWS Glue: Referência de opções de conexão do Amazon S3.

O seguinte script de ETL do AWS Glue mostra o processo de leitura de arquivos ou pastas Ion provenientes do S3:

Python

Neste exemplo, use o método create_dynamic_frame.from_options.

# Example: Read ION from S3 from pyspark.context import SparkContext from awsglue.context import GlueContext sc = SparkContext.getOrCreate() glueContext = GlueContext(sc) dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="s3", connection_options={"paths": ["s3://s3path"]}, format="ion" )
Scala

Neste exemplo, use a operação getSourceWithFormat.

// Example: Read ION from S3 import com.amazonaws.services.glue.util.JsonOptions import com.amazonaws.services.glue.GlueContext import org.apache.spark.SparkContext object GlueApp { def main(sysArgs: Array[String]): Unit = { val spark: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(spark) val dynamicFrame = glueContext.getSourceWithFormat( connectionType="s3", format="ion", options=JsonOptions("""{"paths": ["s3://s3path"], "recurse": true}""") ).getDynamicFrame() } }

Referência de configuração de Ion

Não há valores de format_options para format="ion".