问题标签 [apache-hive]

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 回答
28 浏览

sql - HiveQL - 在固定时间单位内查询条目数

我有一个类似于以下的表:

是否有任何可能的方法来获取一个查询,该查询为我提供一段时间内的登录次数列?像这样的东西:

注意:如果您只能使用 int 时间戳进行操作,那没关系。我原来的表都是字符串,所以我想我会在这里表示。括号里的东西不需要打印

0 投票
1 回答
841 浏览

hive - 从字符串到 Hive 中的映射对象

我的输入是一个字符串,可以包含从 A 到 Z 的任何字符(没有重复,因此最多可以有 26 个字符)。

例如:-

字符串中的字符可以按任何顺序出现。

现在我想创建一个映射对象,它将具有从AZ的固定键。如果对应的字符出现在输入字符串中,则键的值为 1。因此,在此示例(ATK)的情况下,地图对象应如下所示:-

地图对象

那么最好的方法是什么?

所以代码应该是这样的: -

Map<string,int>它应该返回一个包含 26 个键值对的映射对象 ( )。最好的方法是什么,而不在 Hive 中创建任何用户定义的函数。我知道有一个很容易想到的函数str_to_map。但它只有在源字符串中存在键值对时才有效,而且它只会考虑输入中指定的键值对。

0 投票
0 回答
646 浏览

hive - 接受字符串并返回 Map 的函数所需的 Hive GenericUDF Java 代码模板

我正在尝试为 Hive 编写 GenericUDF。当我添加 JAR 并尝试创建指向该类的临时函数时,出现错误,因此函数创建不成功。有人可以为 GenericUDF 函数提供 Java 代码模板,该函数接受一个 String 类型的参数并返回一个 Map 类型的对象。关于 Object Inspector 类有很多混淆,所以如果有人为我提供这个函数的输入类型和返回类型的非常基本的模板,那将有很大帮助。

所以我的Java代码在这里: -

这就是我尝试在 Hive 中针对 JAR 创建函数时发生的情况:-

0 投票
1 回答
1178 浏览

hadoop - 将文件添加到配置单元分区

在 hive 0.13 版本之前,我能够使用以下命令将文件添加到 hive 表的特定分区:

我们的集群已更新,hive 现在是 hive 1.2 版本。我无法执行上述命令,因为它抛出了以下错误:

您能否告诉我,从 hive 1.2 版本开始,我们只能将目录添加到分区?

0 投票
2 回答
3263 浏览

apache-spark - 将数据作为文本文件从 spark 保存到 hdfs

我使用pySparksqlContext使用以下查询处理数据:

它以以下格式存储:

但我想将数据存储在 Hive 表中

这是我在 Hive 中创建表的方法:

我尝试了很多选择,但都没有成功。请帮助我。

0 投票
5 回答
8657 浏览

apache-spark - ORC 文件上的 Spark SQL 不返回正确的架构(列名)

我有一个包含 ORC 文件的目录。我正在使用下面的代码创建一个 DataFrame

它返回具有此模式的数据框

预期的架构在哪里

当我查询镶木地板格式的文件时,我得到了正确的架构。

我是否缺少任何配置?

添加更多细节

这是 Hortonworks Distribution HDP 2.4.2(Spark 1.6.1、Hadoop 2.7.1、Hive 1.2.1)

我们没有更改 HDP 的默认配置,但这绝对不同于普通版本的 Hadoop。

数据由上游 Hive 作业写入,一个简单的 CTAS(创建 TABLE 示例 STORED AS ORC as SELECT ...)。

我在 CTAS 使用最新的 2.0.0 配置单元生成的文件上对此进行了测试,它保留了 orc 文件中的列名。

0 投票
1 回答
84 浏览

hadoop - 将配置单元用作元存储时无法查看数据库

为了通过 Apache Drill 访问配置单元,我将 Metastore 作为服务启动。

为了将其用作 hive-site.xml 中的元存储,我将 hive.metastore.uris 参数设置为 thrift://localhost:9083。

创建元存储服务后,我正在尝试查看数据库。它仅显示两个数据库,而不是在将配置单元作为服务启动之前创建的 4 个。

之前创建的一些表格也没有显示。

当我浏览文件夹 /hive/user/warehouse/ 时,我可以看到所有的表和所有的数据库。

当我将元存储作为服务停止并检查它显示所有 4 个数据库时。我不确定后面发生了什么。

任何人都可以帮助我,如果你面临同样的问题,需要做什么?

我使用 Apache Derby 作为后端数据库。

0 投票
2 回答
5600 浏览

hive - 分区和桶 ORC 表

我知道当您创建 ORC 表时,它会显着提高速度。但是,我们可以通过对 ORC 表进行分区和分桶来进一步改进它吗?如果是这样,如何在现有的 ORC 表中进行分区和分桶?

0 投票
2 回答
624 浏览

hadoop - 无法在 hive 中创建分区

我无法从 hive 上已经存在的表中将分区创建到新表中。

创建表后我在配置单元上运行的查询是

我得到的错误是

在我浏览并发现namenode之后,需要删除datanode文件夹并格式化namenode。我也完成了那个卫生任务。但我仍然遇到同样的错误。

此外,我已将复制因子设置为 1,并且所有 Hadoop 进程都运行良好。

请建议我如何继续以摆脱此问题。非常感谢您的建议。

0 投票
1 回答
112 浏览

apache-spark - 带有自定义配置单元绑定的 Spark

如何使用当前(hive 2.1)绑定而不是 1.2 构建 spark? http://spark.apache.org/docs/latest/building-spark.html#building-with-hive-and-jdbc-support 没有提到这是如何工作的。spark 是否适用于 hive 2.x?