问题标签 [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.
hadoop - 如何在 Hive 中按列分组使用聚合函数
当我尝试在配置单元中的 GroupBy 列上使用内置 UDF 函数或我自己的 UDF 函数时,如下所示,我似乎遇到了错误
它一直在抱怨column –col1 not found in group by expression
。
distinct - Hive 分区列似乎可以防止“选择不同”
我在 Hive 中创建了一个表,如下所示:
在此表上运行查询:
给出预期的结果:
然后我更改了声明以添加一个分区:
现在查询 SELECT DISTINCT userId... 像以前一样运行几秒钟,但最终返回任何内容。
我刚刚注意到语法:
但我想知道这是否是从分区列中获取唯一(不同)值的唯一方法。SHOW PARTITION 的输出甚至不能完全替代您从 SELECT DISTINCT 获得的内容,因为列名是每一行的前缀:
对我来说奇怪的是 usedId 可以在 GROUP BY 中与其他列一起使用,例如:
但确实返回任何内容:
hive - 将时间分区添加到表的最佳实践
有一个事件表,按时间(年、月、日、小时)分区想要在配置单元脚本中加入一些事件,这些事件将年、月、日、小时作为变量,你如何添加例如所有 6 小时的事件在我没有“恢复所有……”的情况下之前
10倍
join - 使用电话号码和前缀(可变长度)加入 Hive 中的 2 个表
我正在尝试使用 Hive 将电话号码与某个区域匹配。我有一个表(prefmap),它将数字前缀(prefix)映射到一个区域(area)和另一个表(users),其中包含电话号码列表(nb)。每个电话号码只有 1 个匹配项(无子区域)
问题是前缀的长度不是固定的,所以我不能在 JOIN 的 ON() 条件中使用 UDF 函数 substr(nb,"prefix's length") 将数字的子字符串与前缀匹配。
当我尝试使用 instr() 来查找数字是否具有匹配的前缀时:
我在第 4 行收到错误“在加入‘1’中遇到左右别名)
我怎样才能让它工作?我正在使用 hive 0.9 感谢您的任何建议。
hive - 在 hive 查询中计算 %
通过以下查询,我可以每天为每个客户获得批准的交易。
我想得到批准%,即approval_per,是100*(count(client_id)/response),而count(client_id)是批准交易的客户数量。
响应是整个响应的计数,包括所有值(已批准和未批准)。我可以通过 得到响应select count(response) from sale
,但是如何在同一查询中计算 % 是现在面临的问题。我尝试了一些选项,因为它不起作用,到达了用户组。
所以我预期的输出格式是 client_id,receive_day,count(client_id),approval_per。
非常感谢您的任何帮助
感谢和问候,
dti
hadoop - HIVE 订单混乱数据
在带有 Hadoop 1.03 的 Hive 0.8 中,请考虑此表:
然后我尝试了:
结果已排序,但列名之后的所有内容都是错误的。事实上,所有行在各自的字段中具有完全相同的值,并且缺少姓氏列。我还有一个关于姓名和姓氏的位图索引以及一个关于键的索引。
我的查询是否有问题,或者我应该查看有关 order by 的错误(我找不到任何具体的内容)。
sql - 如何在 Hive/SQL 的 where/have 子句中使用 min()(以避免子查询)
我有一个大的事件表。每个用户我想在最早的 B 类事件之前计算 A 类事件的发生。
我正在寻找一个优雅的查询。使用了 Hive,所以我不能做子查询
想要的结果:
我无法通过以下方式获得“截止”时间戳:
但是,我如何在下一个查询中使用该信息,我想在其中执行以下操作:
到目前为止,我唯一的想法是首先确定截止时间戳,然后与所有 A 类事件进行连接,然后从结果表中进行选择,但这感觉不对,而且看起来很难看。
我还在考虑这可能是 Hive 的错误类型的问题/分析,我应该考虑手写 map-reduce 或 pig 来代替。
请指出正确的方向来帮助我。
hive - 我在 hive 中创建了一个表,我想知道我的表是在哪个目录中创建的?
我在 hive 中创建了一个表,我想知道我的表是在哪个目录中创建的?我想知道路径...
max - 在 HiveQL 中将变量设置为最大值
我想从表 totalSpeeds 中的数据列(速度)中获取第一个四分位数的值。
为此,我尝试创建一个变量(阈值),然后选择小于或等于它的值。
这失败并返回了解析错误。有没有更有效的方法来获得前四分位数速度的上限?或者有没有办法调整上述命令以返回第一四分位数的速度?
提前致谢,
安妮塔
hive - Hive:UDF 和 GROUP BY
我有一个返回扩展名的 UDF (GetUrlExt)。(例如:/abc/models/xyz/images/top.jpg 中的 jpg)。数据如下图所示:
没有“GROUP BY”的查询工作正常:
结果: jpg jpg gif pdf pdf gif pdf pdf jpg
现在我需要对 GetUrlExt UDF 的结果进行“GROUP BY”。
预期结果:
jpg 3 274.6
gif 2 721.5
pdf 4 467.5
但以下查询不起作用:
任何形式的帮助表示赞赏!