Хотел узнать, есть ли поддержка включения каталога клея aws для Presto/Spark при работе в EMR. Ничего не нашел в документации.
Возможность включения каталога клея для Presto/Spark в EMR с использованием Terraform.
Ответы (2)
В следующих документах AWS обсуждается использование Apache Spark и Hive в Amazon EMR с каталогом данных AWS Glue, а также использование каталога данных AWS Glue в качестве метахранилища Hive по умолчанию для Presto (выпуск Amazon EMR версии 5.10.0 и выше). Надеюсь, ты это ищешь?
а также
Также, пожалуйста, проверьте эту ссылку SO для некоторых конфигураций каталога клея на EMR:
Проблема с каталогом данных AWS Glue в качестве хранилища метаданных для Spark SQL в EMR
По ссылке, предоставленной ответом выше, я смог смоделировать код терраформирования следующим образом:
Создайте файл configuration.json.tpl со следующим содержимым.
[{
"Classification": "spark-hive-site",
"Properties": {
"hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory"
}
}
]
Создайте шаблон из приведенного выше шаблона в своем коде terraform.
data "template_file" "cluster_1_configuration" {
template = "${file("${path.module}/templates/configuration.json.tpl")}"
}
И затем настройте кластер как таковой:
resource "aws_emr_cluster" "cluster_1" {
name = "${var.cluster_name}-1"
release_label = "emr-5.21.0"
applications = ["Spark", "Zeppelin", "Hadoop","Sqoop"]
log_uri = "s3n://${var.cluster_name}/logs/"
configurations = "${data.template_file.cluster_1_configuration.rendered}"
...
}
Glue теперь должен работать из Spark, вы можете убедиться в этом, вызвав spark.catalog.listDatabases().show() из spark-shell.