使用 CLI 使用胶水目录创建 EMR Hive 集群

Posted

技术标签:

【中文标题】使用 CLI 使用胶水目录创建 EMR Hive 集群【英文标题】:Create EMR Hive cluster with glue catalog using CLI 【发布时间】:2020-02-27 17:14:16 【问题描述】:

我想使用 AWS CLI 创建 EMR Hive 集群,它将使用 Glue 作为数据目录。 我在 AWS docs 或在其他地方搜索时没有找到与此相关的任何内容。 这可能吗?

【问题讨论】:

【参考方案1】:

首先,我们创建一个名为 emr.json 的 configuration classification,将 AWS Glue 数据目录指定为 Hive 的元存储:

[
  
    "Classification": "hive-site",
    "Properties": 
      "hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory",
      "hive.metastore.schema.verification": "false"
    
  
]

注意:在 EMR 版本 5.28.0、5.28.1 或 5.29.0 上,如果您使用 AWS Glue 数据目录作为元存储创建集群,我们将 hive.metastore.schema.verification 设置为假的。

最后,我们将配置分类文件与我们的最终命令组合如下:

aws emr create-cluster --name "syumaK-cluster" --configurations file://emr.json --release-label emr-5.28.0 --use-default-roles --applications Name=Hadoop Name=Spark Name=Hive Name=HUE --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m1.medium InstanceGroupType=CORE,InstanceCount=2,InstanceType=m1.medium

回复:


    "ClusterId": "j-2NZ6xxxxxx", 
    "ClusterArn": "arn:aws:elasticmapreduce:us-east-1:1925xxxxx:cluster/j-2NZ6xxxxxx"

希望这会有所帮助!

【讨论】:

谢谢!如果有人有兴趣对 Presto 做同样的事情,这里是所需的配置:[ "Classification": "presto-connector-hive", "Properties": "hive.metastore.glue.datacatalog.enabled": "true " ]

以上是关于使用 CLI 使用胶水目录创建 EMR Hive 集群的主要内容,如果未能解决你的问题,请参考以下文章

从 EMR 迁移到 AWS Glue 后在 Spark SQL 中找不到表

在插入语句中使用语句 HIVE EMR AWS

为啥我们在启用 Kerberos 的 EMR 集群上使用直线连接到 Hive 时使用 Hive 服务主体?

AWS EMR 与 Glue 目录,明确指定 catalogId

Dynamo 吞吐量未达到预置水平 - 使用 Hive 和 EMR 5.2

阿里云EMR实战篇以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤