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á.
Usar um cluster do Iceberg com o Trino
Desde a versão 6.6.0 do Amazon EMR, você pode usar o Iceberg com o cluster do Trino.
Neste tutorial, você usa o AWS CLI para trabalhar com o Iceberg em um cluster Trino do Amazon EMR. Para usar o console para criar um cluster com o Iceberg instalado, siga as etapas em Criar um data lake no Apache Iceberg usando o Amazon Athena, o Amazon EMR e o AWS Glue
Criar um cluster do Iceberg
Para usar o Iceberg no Amazon EMR com AWS CLI o, primeiro crie um cluster com as etapas a seguir. Para obter informações sobre como especificar a classificação do Iceberg usando o AWS CLI, consulte Forneça uma configuração usando o AWS CLI ao criar um cluster ou. Fornecer uma configuração usando o SDK do Java ao criar um cluster
-
Crie um arquivo
iceberg.properties
e defina um valor para o catálogo escolhido. Por exemplo, se você quiser usar a metastore do Hive como catálogo, o arquivo deverá ter o conteúdo a seguir.connector.name=iceberg hive.metastore.uri=thrift://localhost:9083
Se você quiser usar o AWS Glue Data Catalog como sua loja, seu arquivo deve ter o seguinte conteúdo.
connector.name=iceberg iceberg.catalog.type=glue
-
Crie uma ação de bootstrap que copie
iceberg.properties
do Amazon S3 para/etc/trino/conf/catalog/iceberg.properties
, como no exemplo a seguir. Para obter mais informações sobre ações de bootstrap, consulte Criar ações de bootstrap para instalar softwares adicionais.set -ex sudo aws s3 cp s3://
DOC-EXAMPLE-BUCKET
/iceberg.properties /etc/trino/conf/catalog/iceberg.properties -
Crie um cluster com a configuração a seguir, substituindo o exemplo de caminho de script de ações de bootstrap e o nome da chave pelos seus.
aws emr create-cluster --release-label emr-6.7.0 \ --applications Name=Trino \ --region us-east-1 \ --name My_Trino_Iceberg_Cluster \ --bootstrap-actions '[{"Path":"s3://
DOC-EXAMPLE-BUCKET
","Name":"Add iceberg.properties"}]' \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=c3.4xlarge InstanceGroupType=CORE,InstanceCount=3,InstanceType=c3.4xlarge \ --use-default-roles \ --ec2-attributes KeyName=<key-name>
Inicializar uma sessão do Trino para Iceberg
Para inicializar uma sessão no Trino, execute o comando a seguir.
trino-cli --catalog iceberg
Gravar em uma tabela do Iceberg
Crie e grave na tabela com os comandos SQL a seguir.
trino> SHOW SCHEMAS; trino> CREATE TABLE default.iceberg_table ( id int, data varchar, category varchar) WITH ( format = 'PARQUET', partitioning = ARRAY['category', 'bucket(id, 16)'], location = 's3://
DOC-EXAMPLE-BUCKET
/<prefix>') trino> INSERT INTO default.iceberg_table VALUES (1,'a','c1'), (2,'b','c2'), (3,'c','c3');
Ler em uma tabela do Iceberg
Para ler a tabela do Iceberg, execute o comando a seguir.
trino> SELECT * from default.iceberg_table;