问题标签 [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 投票
4 回答
32209 浏览

hadoop - 在 Hive 中获取 sysdate -1

有什么方法可以始终获取current date -1in Hive 方法吗?yesterdays date并以这种格式20120805-?

我可以像这样运行我的查询来获取yesterday's date今天的数据Aug 6th-

但是,当我尝试以这种方式date_sub function获取昨天的日期时,因为下表在 date(dt) 列上进行了分区。

它正在寻找所有分区中的数据?为什么?我在查询中做错了什么?

如何在子查询中进行评估以避免扫描整个表?

0 投票
1 回答
648 浏览

java - Hive 中的自定义 UserDefinedFunction

问题陈述

我创建了以下内容UserDefinedFunction以获取yesterday's date我想要的格式,因为我将从查询中将格式传递给下面的方法。

因此,每当我尝试通过将 jar 添加到类路径并创建临时函数来运行如下查询时yesterdaydate,我总是得到零结果 -

以下是我正在运行的查询 -

而且我总是得到零结果,但该表中的数据是 8 月 5 日的。

我做错了什么?任何建议将不胜感激。

如果今天的日期是 8 月 6 日,则查询应该是这样的-然后使用上述用户定义的函数查询将如下所示-

注意:- 由于我正在使用它,Hive 0.6所以它不支持变量替换,所以我不能hiveconf在这里使用,并且上表已在dt(date) column.

0 投票
3 回答
1716 浏览

mysql - 如何将 Hive 数据表移动到 MySql?

我想知道如何将日期从 Hive 移动到 MySQL?

我已经看到了有关如何将配置单元数据移动到 Amazon DynamoDB 的示例,但没有看到像 MySQL 这样的 RDBMS。这是我在 DynamoDB 中看到的示例:

我想做同样的事情,但用 MySQL 代替。我想知道是否需要编写自己的 StorageHandler 代码?我也不想用sqoop。我希望能够直接在我的 HiveQL 脚本中进行查询。

0 投票
3 回答
226596 浏览

string - Hive:将字符串转换为整数

我正在寻找一个内置 UDF 来将我的配置单元表中的字符串列的值转换为整数,以便使用 SELECT 和 ORDER BY 进行排序。我在语言手册中搜索过,但没有用。任何其他建议也欢迎。

0 投票
1 回答
1206 浏览

sql - ANSI SQL PORTABILITY TO HADOOP HIVE 转换工具或宏

我正在研究 hadoop hive 解决方案。我的要求是使用工具或 excel 宏将 ansi sql 查询转换为 hive 查询。是否存在任何工具/宏?如果是,它们是什么;如果不需要建议来实施它。这可能吗?我们在 Hive 中是否有用于 DML 的替代 sql 查询(如 insert、update ...)?优缺点都有什么?

任何建议都非常感谢....

0 投票
3 回答
11630 浏览

hadoop - 在 Hive 中编写带有 where 子句的嵌套 select 语句

我需要在 Hive 查询的 where 子句中进行嵌套选择。示例代码片段如下;

select *
from TableA
where TA_timestamp > (select timestmp from TableB where id="hourDim")

这是可能的还是我在这里做错了什么,因为在运行上述脚本时出现错误?!

为了进一步详细说明我正在尝试做的事情,有一个 cassandra 密钥空间,我发布了带有时间戳的统计信息。定期(例如每小时)此统计信息将使用 hive 进行汇总,一旦汇总,数据将与相应的小时分开存储。因此,当查询第二次(和连续运行)运行时,查询应该只在新数据上运行(即-timestamp > previous_execution_timestamp)。我试图通过将最新执行的时间戳存储在单独的配置单元表中来做到这一点,然后使用该值过滤掉原始统计信息。

这可以使用蜂巢来实现吗?!

0 投票
10 回答
233525 浏览

hive - 如何在 HIVE 脚本中设置变量

我正在寻找SET varname = valueHive QL中的 SQL 等价物

我知道我可以做这样的事情:

但后来我得到这个错误:

此处不支持字符“@”

0 投票
1 回答
1385 浏览

hadoop - 创建一个使用可以返回列名的 UDF 函数的 hiveQL 查询

我想创建一个 Hive UDF 函数,该函数根据某个值返回特定的列名,比如 retreivecol(age)。如果年龄为 20,则返回要在选择查询中使用的列名列表,如 'name、email、fbuserid、friend list ' 等,如果年龄小于 20 则单独返回 'name'。所以我希望我的 HIVE QL 查询看起来像

从 User_Data 中选择 retreivecol(age);

上面的查询只打印列的名称,如“名称、电子邮件、fbuserid、朋友列表”等,而不是将它们视为列名称并基于相同的过滤。任何指针都值得赞赏。

0 投票
3 回答
3231 浏览

hadoop - 将普通列转换为配置单元中的分区列

我有一个有 3 列的表。现在我需要将其中一列修改为分区列。有没有可能?如果没有,我们如何向现有表添加分区。我使用了以下语法: create table t1 (eno int, ename string ) 行格式分隔字段,以 '\t' 结尾;将数据本地'/....path/'加载到表t1中; alter table t1 添加分区 (p1='india');

我收到错误......

任何人都知道如何将分区添加到现有表......?

提前致谢。

0 投票
1 回答
2517 浏览

join - 使用 Hive 在不同列上有效地连接同一张表

我正在努力尽可能有效地解决这个问题。

假设我有一个表ids,其中有一列包含整数列表,我们称之为“ids”:

我还有另一个表items,其中有几列整数:

我想要做的是从 table2 中选择所有列,但如果值不在“ids”表中,我想要一个 NULL。所以我的结果看起来像这样:

我可以通过从项目中选择并加入每个列的id来做到这一点:

不幸的是,当这些表变得很大(数百万行)时,必须加入同一个表 4 次是相当麻烦的。有没有更快或更有效的方法来做到这一点?

谢谢!