Cómo trabajar con la jerarquía de catálogos múltiples de AWS Glue en EMR sin servidor
Puede configurar sus aplicaciones de EMR sin servidor para que funcionen con la jerarquía de catálogos múltiples de AWS Glue. El siguiente ejemplo muestra cómo usar EMR-S Spark con la jerarquía de catálogos múltiples de AWS Glue.
Para obtener más información sobre la jerarquía de catálogos múltiples, consulte Working with a multi-catalog hierarchy in AWS Glue Data Catalog with Spark on Amazon EMR.
Uso de Almacenamiento administrado de Redshift (RMS) con Iceberg y el Catálogo de datos de AWS Glue
A continuación, se muestra cómo configurar Spark para su integración con el Catálogo de datos de AWS Glue y Iceberg:
aws emr-serverless start-job-run \ --application-id application-id \ --execution-role-arn job-role-arn \ --job-driver '{ "sparkSubmit": { "entryPoint": "s3://amzn-s3-demo-bucket/myscript.py", "sparkSubmitParameters": "--conf spark.sql.catalog.nfgac_rms = org.apache.iceberg.spark.SparkCatalog --conf spark.sql.catalog.rms.type=glue --conf spark.sql.catalog.rms.glue.id=Glue RMS catalog ID--conf spark.sql.defaultCatalog=rms --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions" } }'
Un ejemplo de consulta de una tabla del catálogo, tras la integración:
SELECT * FROM my_rms_schema.my_table
Uso de Almacenamiento administrado de Redshift (RMS) con la API REST de Iceberg y el Catálogo de datos de AWS Glue
A continuación, se muestra cómo configurar Spark para que funcione con el catálogo REST de Iceberg:
aws emr-serverless start-job-run \ --application-id application-id \ --execution-role-arn job-role-arn \ --job-driver '{ "sparkSubmit": { "entryPoint": "s3://amzn-s3-demo-bucket/myscript.py", "sparkSubmitParameters": " --conf spark.sql.catalog.rms=org.apache.iceberg.spark.SparkCatalog --conf spark.sql.catalog.rms.type=rest --conf spark.sql.catalog.rms.warehouse=Glue RMS catalog ID--conf spark.sql.catalog.rms.uri=Glue endpoint URI/iceberg--conf spark.sql.catalog.rms.rest.sigv4-enabled=true --conf spark.sql.catalog.rms.rest.signing-name=glue --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions" } }'
Un ejemplo de consulta de una tabla del catálogo:
SELECT * FROM my_rms_schema.my_table