问题标签 [hive-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 投票
1 回答
3806 浏览

scala - 无法从 Spark 应用程序连接到 Hive 元存储

我正在尝试从 Spark 应用程序连接到 Hive-metastore,但每次它都卡在尝试连接并因超时而崩溃:

应用程序在我创建外部 Hive 表的行上崩溃

我在 Kubernetes 集群中运行 Hive-metastore 以及 Spark 应用程序(使用 Spark K8s 运算符)。我使用 telnet(节点 ip:服务节点端口)检查了集群外部 Hive-metastore 服务的可访问性,并在集群内部卷曲了服务,该服务似乎是可评估的。这个错误的原因可能是什么?

这是 Spark 应用程序中 Hive-metastore uri 的配置

Hive-metastore yaml 配置如下所示:

更新:当我尝试 curl hive-metastore:9083 时,该服务是可访问的,但它返回一个空响应,这意味着 hive-metastore K8s 定义可能存在问题

0 投票
1 回答
393 浏览

sql - 无法对表运行任何查询

当我运行以下查询时

我正进入(状态

失败:获取锁时出错:与元存储通信时出错

当我将 hive 并发设置为 false 时,我得到

未能使用 dbtxnmanager set concurrency = true

我可以查询同一数据库的所有其他表,但不能查询上述表。我怎样才能解决这个问题?

0 投票
0 回答
928 浏览

hive - 从 Hive Metastore 生成 CREATE TABLE 语句

有一个 Hadoop 集群和一个随附的 Hive Metastore,用于描述 S3 上各种数据的位置和架构。我无权访问集群,但可以访问 MySQL Metastore。

我想以的形式访问 S3 上的数据,但考虑到我不频繁的访问模式,Amazon Athena 比启动 EMR 集群并指向 Hive Metastore 更有意义。问题是我需要CREATE EXTERNAL TABLE在 Athena 中查询数据。

我知道 Metastore 具有生成该CREATE TABLE查询所需的所有数据,我需要将这些数据传递给 Athena。

是否有任何现有的工具或代码可以为我生成此查询?我应该CREATE TABLE用 SQL 还是 Python 生成语句?

0 投票
0 回答
560 浏览

hive - 为 presto 配置 Hive Metastore 并从 s3 和 apache kudu 查询数据

我对 Presto 和 hive 很陌生。在我们的一个应用程序中,我们想使用 presto 从 apache kudu 和 aws s3 查询数据。据我所知,presto 有自己的目录(元)服务,但我们想配置 hive 元存储(没有 hadoop 和 hive),以便将来其他应用程序(例如 spark)可以使用 hive 元存储从 Kudu 和 s3 查询数据。我一直在使用最新版本的 presto 和 kudu。

有人可以帮我配置这个系统吗?

谢谢并恭祝安康

0 投票
1 回答
289 浏览

hive - 无法使用 Pyspark 访问外部 Hive 元存储

我正在尝试运行一个简单的代码来简单地显示我之前在我的 hive2 服务器上创建的数据库。(请注意,在此示例中,python 和 scala 中的示例都具有相同的结果)。

如果我登录到 hive shell 并列出我的数据库,我会看到总共3 个数据库

当我在 pyspark 上启动 Spark shell(2.3) 时,我照常执行并将以下属性添加到我的 SparkSession:

并在我的会话中重新启动 SparkContext。

如果我运行以下行来查看所有配置:

我确实可以看到参数已经添加了,我启动了一个新的HiveContext:

但是如果我列出我的数据库:

它不会从 hive shell 显示相同的结果。

我有点迷茫,由于某种原因,它看起来像是忽略了配置参数,因为我确信我使用它的那个是我的元存储作为我从运行中获得的地址:

如果我运行也是相同的地址:

会不会是权限问题?就像某些表未设置为在配置单元外壳/用户之外看到。

谢谢

0 投票
2 回答
1496 浏览

hive - 如何判断表格是否保存为镶木地板文件?

我正在使用 HiveMetaStoreClient 获取配置单元表的一些元数据,并且我将一些表保存为镶木地板,而其他表保存为文本。对于另存为镶木地板的表,我想获取更多信息,例如镶木地板架构。

那么如何通过 HiveMetaStoreClient 获取 hive 表的文件格式呢?或者如果有任何其他接口可以做到这一点?

我在想也许我可以尝试使用 ParquetReader 读取每个表并捕获异常。喜欢:

但这似乎是最糟糕的选择。

0 投票
0 回答
174 浏览

java - 使用 JAVA SDK 删除 hive 表的所有分区

我需要删除配置单元表的所有现有分区。

我尝试搜索,但所有这些都在 Hive 查询中。

我的分区模式是(year="2018"/month="01") 因此尝试表达year>'0'

尝试如下探索“HiveMetaStoreClient”api:

但我得到这个错误:

我怀疑objectPair.setFirst(0);可能是个问题。更深入地调试我发现它正在被DropPartitionsExpr.setPartArchiveLevel(partExpr.getFirst())

但找不到任何关于setPartArchiveLevel

0 投票
0 回答
139 浏览

apache-spark - 从 ORC 创建 Hive 表而不指定架构

有没有一种简单的方法来创建 Hive 外部表而不指定列/模式(ORC 已经定义了模式)。

我只能考虑读取文件并创建表的 Spark 作业。

0 投票
1 回答
729 浏览

kerberos - 如何在运行 Java 应用程序时修复 Keberos 身份验证提示

我编写了一个 Java 应用程序来连接 hive-metastore。它工作正常,但是当我在 Linux 上运行 jar 文件时,它要求输入 Kerberos 用户名和密码。我已经在我的代码中指定了 Kerberos 主体和 keytab 文件。而且我不想使用额外的 jass.config 文件。有没有办法解决这个问题?

这是我的源代码

预期结果- 它应该成功验证连接

实际结果——

java -jar 应用程序

Kerberos 用户名 [root]: Kerberos 密码 [root]:

我想绕过这个 kerberos 终端提示身份验证。有没有办法做到这一点?

0 投票
1 回答
761 浏览

hive - hive 中允许的分区列数据类型有哪些?

我很确定像 STRUCT 这样的复杂类型不能是分区列的类型。但我不确定所有原始类型是否有效。我已经阅读了很多文档,但没有找到任何东西。