问题标签 [metastore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3855 浏览

apache-spark - Spark 中的 HIVE Metastore 警告

在启动 spark-shell 时,我经常收到这样的警告

它们是什么意思,我该如何预防。此警告出现在 2.0.2 和 1.6.2 上,可能也出现在其他版本上。

0 投票
1 回答
369 浏览

hive - Hive Accumulo 集成

看着

https://cwiki.apache.org/confluence/display/Hive/AccumuloIntegration

我想知道为什么不支持单元级别的可见性。有什么想法吗?

0 投票
1 回答
1480 浏览

json - Hive Metastore 列宽限制

在 5.2.1 版本上使用AWS EMR作为数据处理环境,当处理具有复杂架构和许多嵌套字段的巨大 JSON 文件时,Hive 无法处理它并出现错误,因为它达到了当前 4000 个字符的列长度限制.

处理语句时出错:FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。InvalidObjectException(消息:无效的列类型名称太长:[...]

查看文档,已经有很多关于这个问题或类似问题的问题,尽管都没有解决[1 , 2 ]。在此建议将 Metastore 的几个字段更改为不同的值,以便为结构定义提供更大的长度。

  • COLUMNS_V2.TYPE_NAME
  • TABLE_PARAMS.PARAM_VALUE
  • SERDE_PARAMS.PARAM_VALUE
  • SD_PARAMS.PARAM_VALUE

如第一期所述,建议的解决方案提到:

[...] 设置值后,还必须配置重新启动Metastore 。”

然而,除了 DB 值之外,没有指定必须配置的内容。

因此,在更新当前本地 Metastore(在本例中为 mysql)的字段stringmediumtext重新启动 Metastore 进程后,仍然无法获得任何进展,因为尝试加载 JSON 继续失败并出现同样的错误。

我是否遗漏了某些东西,或者是否有人找到了解决此问题的替代解决方法?

0 投票
2 回答
2516 浏览

hadoop - Spark:无法从配置单元表中读取数据

我创建了一个 Maven 项目作为pom.xml

我的班级正在从 hive 表中读取数据:

我正在使用 spark 从 hive metatore 中存在的表中读取数据,但面临一个非常奇怪的问题。

我有两个问题,如下所述:

问题 1.如果我使用<spark.version>1.3.0</spark.version>spark 能够找到 hive 表,并且能够在此行的帮助下在控制台上打印数据

但是如果我按照示例中所示进行过滤或分组,则火花找不到col1并抛出异常,如下所示

所以问题是为什么如果数据框能够找到该表,那么为什么它不让我对列进行分组以及如何解决这个问题?

问题 2.如果我使用<spark.version>1.6.0</spark.version>然后 spark 甚至找不到 hive 元存储中存在的表,那么现在为什么会出现这种行为???

环境:CLOUDERA QUICKSTART VM 5.8.0

0 投票
1 回答
155 浏览

mysql - Hive drop table from MYSQL metstarore TBLS table

In Hive, How to drop a table from from MYSQL metstarore TBLS table

0 投票
1 回答
482 浏览

mysql - 无法使用 mysql 在 Mac 上启动 Hive

我在使用 mySQL 将 macOS 10.12.3 上的本地开发环境升级到 Hive 时遇到了一些麻烦,因为我之前使用了本地 derby 元存储。

每当我启动 hive 时,都会出现以下异常:

Hive 在 2.10 版本中,Hadoop 在 2.7.3 版本中。namenode 和 datanode 已启动,mysql 也已启动,包括正确初始化的元存储数据库。

环境变量设置如下:

正常的 HDFS 操作工作:

0 投票
0 回答
207 浏览

hive - EMR 上的 Hive 插入查询仅持续运行 17 小时以上

背景:

  • 2 个节点的 EMR 5.4 集群(主+从)。
  • 在设置期间提供了外部 Hive 元存储详细信息。
  • Hive 仓库已设置在 S3 上。
  • 我正在使用 spark 2.1 处理文件并创建临时表。
  • 登台表准备好后,我正在尝试使用 hive 将该数据加载到 hive 表中。

问题:通常在其他集群(AWS 之外)上运行大约 7-10 分钟的插入语句正在 EMR 集群上永久运行。我能够从 hive 查询由 spark 创建的暂存表。以下是我正在使用的语句:

任何帮助,将不胜感激。

谢谢

0 投票
0 回答
385 浏览

hadoop - java.lang.RuntimeException: 无法实例化...SessionHiveMetaStoreClient,使用 derby、hive 2.1.1 和 hadoop 2.7.3

当我尝试启动 hive shell 时出现此错误:

我该如何解决这个问题?

0 投票
2 回答
2580 浏览

hive - EMR 集群中的外部配置单元元存储问题

我将我的 EMR 集群的配置单元元存储指向外部 MySQL RDS 实例。我创建了新的 hive 数据库“mydb”,并在 hive.DBS 表中获得了外部 MySQL DB 中的条目。

hdfs://ip-10-239-1-118.ec2.internal:8020/user/hive/warehouse/mydb.db mydb hadoop USER

我还在 mydb 数据库下创建了新的配置单元表“mytable”。我在 hive.TBLS 中获得了外部 MySQL 数据库中的条目。到目前为止一切都很好..

我终止了我的集群..当我第二天回来时..我现在启动了新的集群,我做了以下,使用 MYDB;创建表 mytable_2(id int); 我得到以下错误,

执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。MetaException(消息:得到异常:java.net.NoRouteToHostException 没有路由到主机从 ip-10-239-1-4.ec2.internal/10.239.1.4 到 ip-10-239-1-118.ec2.internal:8020套接字超时异常失败:java.net.NoRouteToHostException:没有到主机的路由;有关更多详细信息,请参阅: http ://wiki.apache.org/hadoop/NoRouteToHost )

注意:IP 10.239.1.4 是我当前集群的名称节点。IP 10.239.1.118 是我早期集群的名称节点

请让我知道需要覆盖哪些属性以避免此类错误?

0 投票
2 回答
12441 浏览

hive - 当我使用“STORED AS AVRO”子句创建配置单元表时,Avro 模式存储在哪里?

至少有两种不同的方法可以创建支持 Avro 数据的配置单元表:

  1. 基于 Avro 模式创建表(在本例中,存储在 hdfs 中):

    CREATE TABLE users_from_avro_schema ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' 存储为 INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive .ql.io.avro.AvroContainerOutputFormat' TBLPROPERTIES ('avro.schema.url'='hdfs:///user/root/avro/schema/user.avsc');

  2. STORED AS AVRO通过使用子句显式指定配置单元列来创建表:

    创建表 users_stored_as_avro( id INT, name STRING ) 存储为 AVRO;

我是否正确,在第一种情况下,users_from_avro_schema表的元数据没有存储在 Hive Metastore 中,而是从读取 avro 模式文件的 SERDE 类中推断出来的?或者,表元数据可能存储在 Metastore 中,在创建表时添加,但是将配置单元元数据与 Avro 模式同步的策略是什么?我的意思是两种情况:

  1. 更新表元数据(添加/删除列)和
  2. 通过更改avro.schema.url属性来更新 Avro 架构。

在我调用的第二种情况下,DESCRIBE FORMATTED users_stored_as_avro没有avro.schema.*定义属性,所以我不知道使用哪个 Avro 模式来读取/写入数据。它是根据存储在 Metastore 中的表的元数据动态生成的吗?

Programming Hive 书的此片段讨论了从 SerDe 类中推断有关列的信息,但另一方面,HIVE-4703删除了此from deserializer信息表单列注释。那么如何检查给定表(Metastore 或 Avro 模式)的列类型的来源是什么?