当前位置: 首页 > 知识库问答 >
问题:

AWS EMR未使用AWS Glue找到正确的配置单元架构

段干弘扬
2023-03-14

所以我对通过AWS EMR执行Presto查询有一个问题。

我已经启动了一个EMR运行Hive/Presto,并使用AWS胶水作为转移物。

当我SSH到主节点并运行hive时,我可以运行“show schemas;”它向我展示了我们在AWS胶水上拥有的3个不同的数据库。

我确实设置了以下配置

[{"classification":"hive-site", "properties":{"hive.metastore.client.factory.class":"com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory"}, "configurations":[]}]

AWS文档http://docs.AWS.amazon.com/emr/latest/releaseguide/emr-hive-metaxore-glue.html使它看起来应该是即插即用的,但我显然遗漏了一些东西

共有1个答案

充昌勋
2023-03-14

从Amazon EMR发布版本5.10.0开始,您可以。简单地,将Hive.MetaTore.Glue.DataCatalog.Enabled属性设置为true,如下所示:

[
  {
    "Classification": "presto-connector-hive",
    "Properties": {
      "hive.metastore.glue.datacatalog.enabled": "true"
    }
  }
]

您还可以在主节点上的/etc/presto/conf/catalog/hive.properties文件中手动设置hive.metastore.glue.dataCatalog.enabled=true。如果使用此方法,请确保设置了属性文件中的Hive.table-statistics-enabled=false,因为数据目录不支持配置单元表和分区统计信息。如果更改长时间运行的集群上的值以切换metasores,则必须重新启动主节点上的Presto服务器(sudo restart presto-server)。

资料来源:AWS文档

 类似资料:
  • 我使用Flume 1.5.0从应用程序服务器收集日志。假设我有三个应用服务器,应用程序A,应用程序B,应用程序C。一个运行hive的HDFS服务器。现在水槽代理正在所有3个应用服务器上运行,并将日志消息从应用服务器传递到Hdfs服务器,在那里另一个水槽代理正在运行,最终日志存储在hadoop文件系统中。现在我已经创建了一个外部Hive表来映射这些日志数据。但是除了hive无法正确解析日志数据并存储

  • 我在java中开发了一个工作正常的配置单元udf,我的函数返回输入与配置单元表中列之间的最佳匹配,因此它有以下简化的伪代码: 我的问题是,如果这个函数是由Hive调用的,为什么我需要在代码中连接到Hive?我可以使用使用我的功能的用户所连接的当前连接吗?

  • 我正在使用Spark Version2.3使用编写和保存数据。 表在配置单元中创建,但没有使用正确的模式。我无法从配置单元表中选择任何数据。 如何将数据记录保存并写入可稍后查看的配置单元表?

  • 我更新了我的尝试,将一些内容保留为CHAR,但仍然得到一个类似的错误:第1行错误:ORA-02091:事务回滚ORA-02291:违反完整性约束(MMM1339.ITEMNO_PHAR_FK)-未找到父密钥 需求的外键都在不同的供应主键中有值,所以我不确定为什么仍然存在问题。

  • 我不知道我应该给的用户名和密码是什么。我必须在某个配置文件中添加凭据(用户名和密码)吗?