Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Acessar tabelas do Amazon S3 com o Amazon EMR

Modo de foco
Acessar tabelas do Amazon S3 com o Amazon EMR - Amazon Simple Storage Service

O Amazon EMR (anteriormente chamado de Amazon Elastic MapReduce) é uma plataforma de cluster gerenciada que simplifica a execução de frameworks de big data, como o Apache Hadoop e Apache Spark, na AWS para processar e analisar grandes quantidades de dados. Ao usar essas estruturas e projetos de código aberto relacionados, é possível processar dados para finalidades de analytics e workloads de inteligência de negócios. O Amazon EMR também permite transformar e mover grandes volumes de dados para dentro e para fora de outros datastores e bancos de dados da AWS.

Você pode usar clusters do Apache Iceberg no Amazon EMR para trabalhar com tabelas do S3, conectando-se a buckets de tabela em uma sessão do Spark. Para se conectar aos buckets de tabela no Amazon EMR, é possível usar a integração de serviços de analytics da AWS por meio do AWS Glue Data Catalog, ou você pode usar o catálogo de cliente de código aberto do Catálogo de Tabelas do Amazon S3 para Apache Iceberg.

nota

A funcionalidade Tabelas do S3 é compatível com o Amazon EMR versão 7.5 ou superior.

Conectar-se a buckets de tabela do S3 com o Spark em um cluster do Iceberg no Amazon EMR

Neste procedimento, você configura um cluster do Amazon EMR definido para Apache Iceberg, depois inicializa uma sessão do Spark que se conecta aos buckets de tabela. É possível configurar isso usando os serviços de analytics da AWS por meio do AWS Glue, ou você pode usar o catálogo de cliente de código aberto do Catálogo de Tabelas do Amazon S3 para Apache Iceberg. Para ter mais informações sobre o catálogo de cliente, consulte Acessar tabelas usando o endpoint Iceberg REST do serviço Tabelas do Amazon S3.

Escolha um método de uso de tabelas com o Amazon EMR entre as opções a seguir.

Amazon S3 Tables Catalog for Apache Iceberg

Os pré-requisitos a seguir se aplicam para consultar tabelas com o Spark no Amazon EMR usando o Catálogo de Tabelas do Amazon S3 para Apache Iceberg.

Pré-requisitos
  • Anexe a política AmazonS3TablesFullAccess ao perfil do IAM que você usa para o Amazon EMR.

Como configurar um cluster do Amazon EMR para consultar tabelas com o Spark
  1. Crie um cluster com a configuração a seguir. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações.

    aws emr create-cluster --release-label emr-7.5.0 \ --applications Name=Spark \ --configurations file://configurations.json \ --region us-east-1 \ --name My_Spark_Iceberg_Cluster \ --log-uri s3://amzn-s3-demo-bucket/ \ --instance-type m5.xlarge \ --instance-count 2 \ --service-role EMR_DefaultRole \ --ec2-attributes \ InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-1234567890abcdef0,KeyName=my-key-pair

    configurations.json:

    [{ "Classification":"iceberg-defaults", "Properties":{"iceberg.enabled":"true"} }]
  2. Conecte-se ao nó primário do Spark usando SSH.

  3. Para inicializar uma sessão do Spark para o Iceberg que estabelece conexão com o bucket de tabela, insira o comando a seguir. Substitua o user input placeholders pelo ARN do bucket de tabela.

    spark-shell \ --packages software.amazon.s3tables:s3-tables-catalog-for-iceberg-runtime:0.1.3 \ --conf spark.sql.catalog.s3tablesbucket=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tablesbucket.catalog-impl=software.amazon.s3tables.iceberg.S3TablesCatalog \ --conf spark.sql.catalog.s3tablesbucket.warehouse=arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ --conf spark.sql.defaultCatalog=s3tablesbucket \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
  4. Consulte as tabelas com Spark SQL. Para conferir exemplos, consulte Consultar tabelas do S3 com o Spark SQL.

AWS analytics services integration

Os pré-requisitos a seguir se aplicam para consultar tabelas com o Spark no Amazon EMR usando a integração de serviços de analytics da AWS.

Pré-requisitos
Como configurar um cluster do Amazon EMR para consultar tabelas com o Spark
  1. Crie um cluster com a configuração a seguir. Para usar esse exemplo, substitua os valores de user input placeholder por suas próprias informações.

    aws emr create-cluster --release-label emr-7.5.0 \ --applications Name=Spark \ --configurations file://configurations.json \ --region us-east-1 \ --name My_Spark_Iceberg_Cluster \ --log-uri s3://amzn-s3-demo-bucket/ \ --instance-type m5.xlarge \ --instance-count 2 \ --service-role EMR_DefaultRole \ --ec2-attributes \ InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-1234567890abcdef0,KeyName=my-key-pair

    configurations.json:

    [{ "Classification":"iceberg-defaults", "Properties":{"iceberg.enabled":"true"} }]
  2. Conecte-se ao nó primário do Spark usando SSH.

  3. Insira o comando a seguir para inicializar uma sessão do Spark para o Iceberg que estabelece conexão com as tabelas. Substitua os user input placeholders por suas próprias informações.

    spark-shell \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \ --conf spark.sql.defaultCatalog=s3tables \ --conf spark.sql.catalog.s3tables=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tables.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog \ --conf spark.sql.catalog.s3tables.client.region=us-east-1 \ --conf spark.sql.catalog.s3tables.glue.id=111122223333
  4. Consulte as tabelas com Spark SQL. Para conferir exemplos, consulte Consultar tabelas do S3 com o Spark SQL.

Os pré-requisitos a seguir se aplicam para consultar tabelas com o Spark no Amazon EMR usando o Catálogo de Tabelas do Amazon S3 para Apache Iceberg.

Pré-requisitos
  • Anexe a política AmazonS3TablesFullAccess ao perfil do IAM que você usa para o Amazon EMR.

Como configurar um cluster do Amazon EMR para consultar tabelas com o Spark
  1. Crie um cluster com a configuração a seguir. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações.

    aws emr create-cluster --release-label emr-7.5.0 \ --applications Name=Spark \ --configurations file://configurations.json \ --region us-east-1 \ --name My_Spark_Iceberg_Cluster \ --log-uri s3://amzn-s3-demo-bucket/ \ --instance-type m5.xlarge \ --instance-count 2 \ --service-role EMR_DefaultRole \ --ec2-attributes \ InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-1234567890abcdef0,KeyName=my-key-pair

    configurations.json:

    [{ "Classification":"iceberg-defaults", "Properties":{"iceberg.enabled":"true"} }]
  2. Conecte-se ao nó primário do Spark usando SSH.

  3. Para inicializar uma sessão do Spark para o Iceberg que estabelece conexão com o bucket de tabela, insira o comando a seguir. Substitua o user input placeholders pelo ARN do bucket de tabela.

    spark-shell \ --packages software.amazon.s3tables:s3-tables-catalog-for-iceberg-runtime:0.1.3 \ --conf spark.sql.catalog.s3tablesbucket=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tablesbucket.catalog-impl=software.amazon.s3tables.iceberg.S3TablesCatalog \ --conf spark.sql.catalog.s3tablesbucket.warehouse=arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ --conf spark.sql.defaultCatalog=s3tablesbucket \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
  4. Consulte as tabelas com Spark SQL. Para conferir exemplos, consulte Consultar tabelas do S3 com o Spark SQL.

nota

Se você estiver usando o comando DROP TABLE PURGE com o Amazon EMR:

  • Amazon EMR versão 7.5

    Defina a configuração spark.sql.catalog.your-catalog-name.cache-enabled do Spark como false. Se essa configuração estiver definida como true, execute o comando em uma nova sessão ou aplicação para que o cache da tabela não seja ativado.

  • Amazon EMR versões posteriores a 7.5

    Não há suporte ao DROP TABLE. É possível usar a API REST DeleteTable de Tabelas do S3 para excluir uma tabela.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.