По ссылке, приведенной в ответе выше, я смог смоделировать код terraform следующим образом:
Создать файл 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}"
...
}
Теперь клей должен работать из Spark, это можно проверить, позвонивspark.catalog.listDatabase (). show () из spark-shell.