问题标签 [hiveql]

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

hadoop - Hive QL / UDF / Impala 查询的包装器

我正在尝试编写一个可以被来自 Sql 背景的人轻松使用的包装器。我还没有开始这项工作,我想知道我应该采取什么方法。

这是问题陈述 - 如果有人在他们的 rdbms 数据上编写了很多本机 Sql,并且他们想切换到 hadoop,那么就会有很多问题。Hive 消除了在 hdfs 中构建表的一个主要问题。现在是查询部分——为此我们有不同的框架,但没有一个框架本身是完整的——比如一个可能很慢,而另一个可能缺乏功能。例如,有 Impala,有 Hive QL,但对于最终用户来说,没有 ONE 框架。我打算做这样的事情 - select(comma-separated string of column names, tableName).where(filter-expression)....

像用于 hdfs 的 Linq 之类的东西,它会找出执行 select(hive ql 或 Impala)的最佳方法,执行 where 子句的最佳方法等。

建议?想法?批判?

谢谢

0 投票
2 回答
1666 浏览

hadoop - Hive:无法获得不同类别的总和

从 Hive,我试图从下面的简单表中获取结果

现在我想显示,

Custername, Prjtid, (Total number of billable), (total number of non-billable).

例子:

ABC, AB123, 40, 20

PQR, PQ123, 50, 20

我能够获得计费或不可计费但不能一起获得。

有人可以建议如何继续这种情况吗?

问候,

拉吉

0 投票
3 回答
8902 浏览

hadoop - 在 Hive 中提取结构数组

我在蜂巢中有一个外部表

表的记录可能包含以下数据:

有谁知道是否有一种方法可以简单地从该记录中提取所有 productCategory 并将其作为 productCategories 数组返回而不使用explode。类似于以下内容:

或者我是否需要编写自己的GenericUDF,如果是这样,我不太了解Java(一个Ruby人),有人可以给我一些提示吗?我从 Apache Hive 阅读了一些关于 UDF 的说明。但是,我不知道哪种集合类型最适合处理数组,以及哪种集合类型最适合处理结构?

===

我通过写一个 GenericUDF 回答了这个问题,但我遇到了另外两个问题。这是在这个SO Question

0 投票
2 回答
11919 浏览

hadoop - 如何在 Hive 中透视数据

如何在 HiveQL 中实现 PIVOT 功能。以下是 SQL 查询,请帮助我在 Hive 中实现这一点:

-- 期望输出: 定制产品数量 KATE VEG 2 KATE SODA 6 KATE MILK 1 KATE BEER 12 FRED MILK 3 FRED BEER 24 KATE VEG 3

0 投票
3 回答
1286 浏览

hadoop - HiveQL 查询性能优化

随着 Hive 查询中 JOINS 数量的增加,查询分多个阶段运行,需要大量执行时间。如何提高查询性能。有需要设置的参数吗?

0 投票
2 回答
3361 浏览

hadoop - Hive:使用不同的键连接两个表

我有两个如下表。基本上我想加入他们两个,并期望得到如下结果。

表 2 的前 3 行没有任何活动 ID,只是空的。

所有字段都是制表符分隔的。根据表 2,类别“33”具有三个描述。

我们需要使用“活动 ID”来获取“33”类别的结果,因为它有 3 个值。

谁能告诉我如何实现这个输出?

表格1

Empid 类别 ActivityID

44126 33 火车

44127 10 UFL

44128 12 TOI

44129 33 未指定

44130 15 微软

44131 33 好处

44132 43 好处

表 2:

类别 ActivityID Categdesc

10 可计费

12 计费

15 不可计费

33 训练训练

33 未指定替补席

33 好处 好处

43 好处

预期输出:

44126 33 培训

44127 10 可计费

44128 12 可计费

44129 33 长凳

44130 15 不可计费

44131 33 福利

44132 43 福利

0 投票
1 回答
1321 浏览

hadoop - Hive:连接不同场景的表

我有一个关于在不同场景中加入表格的问题。请在下面找到示例表。

应重复预期表第 3-5 行的容量,因为表 2 没有这些字段。

谁能帮忙拿到预期的桌子?

表格1:

没有 ProjectID 容量

1 514 4

2 418 10

3 418 30

4 401 40

5 502 41

表2:

否 ProjectID 容量1 容量2

1 514 4 10

2 418 10 20

预期表:

否 ProjectID 容量1 容量2

1 514 4 10

2 418 10 20

3 418 30 30

4 401 40 40

5 502 41 41

0 投票
2 回答
15507 浏览

hadoop - 在 hive 中动态删除分区

我在 hive 中有两个表,都由表示时间戳的字符串分区(我使用字符串而不是时间戳,因为我使用的是 Cloudera Impala 中的表,它不支持按时间戳分区的表)。

这些表用于在特定时间片中存储大量数据。第一个表包含较高时间粒度的最新数据,比如 1 分钟时间片,第二个表包含较低粒度的旧数据,比如 1 小时时间片。

所以我有一个查询,它总结了早于 1 分钟时间片的特定时间量的数据,以便我拥有 1 小时时间片的数据并将其与 1 小时时间片一起插入我的表中。

创建 1 小时时间片后,我想删除新的 1 小时时间片中包含的所有 1 分钟时间片。而且由于该表是由代表时间的字符串分区的,所以我可以删除相应的分区。

并知道我的实际问题:

是否有可能在蜂巢中以某种方式删除分区

在此先感谢您的帮助。

ps:如果你想知道我为什么这样做:数据在持续增长,如果我们不删除 1 分钟的时间片,包含它们的表会变得非常大,导致我们的查询变慢并且需要很多的空间。

0 投票
3 回答
2798 浏览

sql - SQL 到 HiveQL 生成器

有什么方法可以将我的 SQL 查询转换为 Hive 查询,或者任何开源工具或项目可以帮助我将一些查询从 SQL 转换为 HiveQL,以便我可以通过在 Hadoop 数据库中查询来开始我的开发?

0 投票
1 回答
1847 浏览

hive - 使用 HiveQL 进行重复数据删除

我有一个带有字段'a'(int),'b'(string),'c'(bigint),'d'(bigint)和'e'(string)的配置单元表。
我有如下数据:

表按键“b”排序。
现在我们想要如下输出:

这将在密钥“a”上进行重复数据删除,但将保留最后一个(最新的)“b”。

是否可以使用 Hive 查询(HiveQL)?