hiveql相关内容

什么是Hive中的Presto UNNEST函数的等效项

Presto具有UNNEST函数,以爆炸由数组组成的列. Hive是否有类似的产品? 有关Presto的UNNEST功能的文档,请参见此处. 解决方案 使用lateral view [outer] explode.侧视图首先将UDTF应用于基表的每一行,然后将结果输出行与输入行连接起来以形成具有所提供表别名的虚拟表. 此示例来自“> 从Hive进行迁移文档: SELECT st ..
发布时间:2020-07-17 20:02:21 其他开发

当针对保存在S3中的csv创建Hive表时,我是否绝对必须对csv中的行按逗号分隔值的顺序对字段进行排序?

在针对S3中保存的csv创建Hive表时,我是否绝对必须对csv中的行按逗号分隔值的顺序对字段进行排序? csv将第一行作为标头.我知道csv是基于行的而不是列式的,但是我想知道是否有一种方法可以将标头的值与配置单元表的字段名称匹配,并以不同的顺序对列进行排序. 解决方案 是的,表定义(DDL)中的列应与基础csv文件中的列顺序相同.您可以使用tblproperties("skip.hea ..
发布时间:2020-07-12 02:37:20 其他开发

在Hive中使用Month()在MM中使用Month

Select * from concat(YEAR(DATE_SUB(MAX(Column_name),60),MONTH(DATE_SUB(MAX(Column_name),60),-01) month()在直到9月的几个月内仅产生一位数字,即Jan返回1而不是01.在处理此问题时需要帮助. 我正在使用此输出使用TO_DATE馈送给另一个SELECT查询. 解决方案 month ..
发布时间:2020-07-01 01:01:32 其他开发

指定从Hive插入生成的文件的最小数量

我在AWS EMR上使用Hive将查询结果插入按日期划分的Hive表中.尽管每天的总输出大小相似,但是生成的文件数通常在6到8之间变化,但是有时它仅创建一个大文件.我重新运行了几次查询,以防万一文件的数量恰好受到集群中节点可用性的影响,但这似乎是一致的. 所以我的问题是 (a)确定生成多少文件的因素以及 (b)有没有办法指定每个文件的最小数量或(甚至更好)最大文件大小? 解决方案 在 ..
发布时间:2020-06-17 19:21:38 其他开发

Hive外部表的自动列表

我必须创建一个自动化的过程来列出Hive中的所有外部表,并对这些表进行记录计数. 我应该将其作为日常工作.我通过对所有外部表名进行硬编码来尝试此操作,但是由于表每个月都会不断变化,因此不被接受. 我经历过诸如[show tables]之类的不同方法,并在元存储数据库中执行查询.但是这些对自动完成过程没有帮助. 在Hive中是否有更好的方法来实现这一点. 解决方案 使用sh ..
发布时间:2020-06-14 18:56:21 其他开发

加载的记录多于HIve中的实际记录

从Hive表插入到HIve表时,正在加载比实际记录更多的记录.任何人都可以帮助解决Hive的这种怪异行为吗? 我的查询将如下所示: insert overwrite table_a select col1,col2,col3,... from table_b; 我的table_b包含6405465条记录. 从table_b插入table_a后,我发现table_a中的 ..
发布时间:2020-05-05 15:44:19 其他开发

HiveSQL访问JSON数组值

我在Hive中有一个表,该表是通过从HDFS中的序列文件读取而生成的.这些序列文件是 json ,如下所示: {"Activity":"Started","CustomerName":"CustomerName3","DeviceID":"StationRoboter","OrderID":"CustomerOrderID3","DateTime":"2018-11-27T12:56:47Z ..
发布时间:2019-11-26 20:47:30 JavaScript

无法通过JAVA连接到HIVE2

Hive2 创建了一个简单的Java程序以连接到HIVE2服务器(不是本地),并且在eclipse的类路径中的上述链接中添加了所有提到的jar,但是当我运行代码时,它抛出了错误: 09:42:35,580 INFO Utils:285 - Supplied authorities: hdstg-c01-edge-03:20000 09:42:35,583 INFO Utils:372 - ..
发布时间:2019-09-02 13:23:03 Java开发

查询分割数据

我们有两列id和monthid。 我要找的输出是将年份从月份Id分成季度。输出栏应该从四分之一开始。如果id是活动的,那么输出应该是1 else 0。如果id在第一季度出现(例如:只有1),那么输出仍然是1. 像这样: id月份 -------------------- --------------- 100 2012-03-01 00:00:00.0 100 201 ..
发布时间:2018-06-12 14:21:25 数据库

配置单元 - 如何有效地创建表为选择?

我有一个配置单元表, htable ,它分割在 foo 和 bar code>。我想创建这个表的一小部分用于实验,所以我认为要做的事情是 create table new_table像htable; 插入到new_table分区(foo,bar)select * from htable 其中rand() java.lan ..
发布时间:2018-06-12 14:20:39 其他开发

根据季度划分ID,并通过确定季度来计算1或0

我们有两列 Id 和 month Id 。 我期望的输出是基于季度粒度将年份从月份ID中分出。活动专栏应该从四分之一开始。如果id是活动的,活动应该是1 else 0。如果id在第一季度中有任何活动(例如:只有1),那么活动仍然是1. 像这样: id month_dt -------------------- --------------- 1000000000 201 ..
发布时间:2018-06-12 14:20:15 其他开发

创建一个〜40K列的配置表

我试图创建一个相当大的表格。 〜300万行和〜40K列使用配置单元。首先,我创建一个空表并将数据插入表中。然而,当我尝试这样做时出现错误。 无法获取IMPLICIT,100次尝试后共享锁默认值。失败:获取锁定时出错:无法获取底层对象上的锁定。在一段时间后重试 查询非常简单: 创建外部数据库database.dataset( var1 decimal(10,2), ..
发布时间:2018-06-12 14:19:43 其他开发

运行os命令并将其放置到配置单元变量

是否可以在 Hive CLI 中运行此类功能? 我试图将文件内容作为变量传递给另一个查询。 set column_list =!cat /home/user/filename.lst; create table tabname as select column_list from ... 解决方案 file filename.lst line ..
发布时间:2018-06-12 14:18:51 其他开发