hiveql相关内容
Presto具有UNNEST函数,以爆炸由数组组成的列. Hive是否有类似的产品? 有关Presto的UNNEST功能的文档,请参见此处. 解决方案 使用lateral view [outer] explode.侧视图首先将UDTF应用于基表的每一行,然后将结果输出行与输入行连接起来以形成具有所提供表别名的虚拟表. 此示例来自“> 从Hive进行迁移文档: SELECT st
..
在针对S3中保存的csv创建Hive表时,我是否绝对必须对csv中的行按逗号分隔值的顺序对字段进行排序? csv将第一行作为标头.我知道csv是基于行的而不是列式的,但是我想知道是否有一种方法可以将标头的值与配置单元表的字段名称匹配,并以不同的顺序对列进行排序. 解决方案 是的,表定义(DDL)中的列应与基础csv文件中的列顺序相同.您可以使用tblproperties("skip.hea
..
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
..
我在带有分区的Hive中创建一个外部表,然后尝试从现有表中填充它,但是,我遇到以下异常: Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /apps/hive/warehouse/pavel
..
我正遇到一个关于蜂巢的奇怪问题, 我有一张基于dept_key分区的表(它是一个整数,例如3212) 表创建如下 create external table dept_details (dept_key,dept_name,dept_location) PARTITIONED BY (dept_key_partition INT) ROW FORMAT DELIMITED FIELDS TE
..
我正在尝试将日期列表作为参数传递给我的配置单元查询. #!/bin/bash echo "Executing the hive query - Get distinct dates" var=`hive -S -e "select distinct substr(Transaction_date,0,10) from test_dev_db.TransactionUpdateTable;"
..
我在AWS EMR上使用Hive将查询结果插入按日期划分的Hive表中.尽管每天的总输出大小相似,但是生成的文件数通常在6到8之间变化,但是有时它仅创建一个大文件.我重新运行了几次查询,以防万一文件的数量恰好受到集群中节点可用性的影响,但这似乎是一致的. 所以我的问题是 (a)确定生成多少文件的因素以及 (b)有没有办法指定每个文件的最小数量或(甚至更好)最大文件大小? 解决方案 在
..
我必须创建一个自动化的过程来列出Hive中的所有外部表,并对这些表进行记录计数. 我应该将其作为日常工作.我通过对所有外部表名进行硬编码来尝试此操作,但是由于表每个月都会不断变化,因此不被接受. 我经历过诸如[show tables]之类的不同方法,并在元存储数据库中执行查询.但是这些对自动完成过程没有帮助. 在Hive中是否有更好的方法来实现这一点. 解决方案 使用sh
..
从Hive表插入到HIve表时,正在加载比实际记录更多的记录.任何人都可以帮助解决Hive的这种怪异行为吗? 我的查询将如下所示: insert overwrite table_a select col1,col2,col3,... from table_b; 我的table_b包含6405465条记录. 从table_b插入table_a后,我发现table_a中的
..
我在Hive中有一个表,该表是通过从HDFS中的序列文件读取而生成的.这些序列文件是 json ,如下所示: {"Activity":"Started","CustomerName":"CustomerName3","DeviceID":"StationRoboter","OrderID":"CustomerOrderID3","DateTime":"2018-11-27T12:56:47Z
..
我需要从所有行中获取所有唯一键值. 每行具有不同的键和值.请找到该列的上图. 例如:一行看起来像 {"START_TIME":1549002807568,"PARSING.QUERY_FORMED":1549002807586,"CUBES_WITH_PERMISSIONS":1549002807568,"PARSING.CUBE_MATCH_SELECTED":15490028075
..
我正在Hive中运行一个简单的查询,该查询会产生以下输出(以及其他一些附加列. |------|-----------------------------------------------------------| | col1 | col2 | |------|-----------
..
您好,我有两个表T1和T2. T1具有一列整数值. T2具有由两列定义的范围,并且每个范围都有一个对应的值...像这样: range_min range_max corr_value 5 10 1020 11 15 5000 假设我希望能够从T2获得T1的每个整数的“值",具体取决于整数值所处的范围.假设我在T1
..
针对Hive的联接文档 ,即 SELECT * FROM table1 t1, table2 t2, table3 t3 WHERE t1.id = t2.id AND t2.id = t3.id AND t1.zipcode = '02535'; 这等同于 SELECT t1.*, t2.*, t3.* FROM table1 t1 INNER JOIN table2 t2
..
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 -
..
我们有两列id和monthid。 我要找的输出是将年份从月份Id分成季度。输出栏应该从四分之一开始。如果id是活动的,那么输出应该是1 else 0。如果id在第一季度出现(例如:只有1),那么输出仍然是1. 像这样: id月份 -------------------- --------------- 100 2012-03-01 00:00:00.0 100 201
..
我有一个配置单元表, htable ,它分割在 foo 和 bar code>。我想创建这个表的一小部分用于实验,所以我认为要做的事情是 create table new_table像htable; 插入到new_table分区(foo,bar)select * from htable 其中rand() java.lan
..
我们有两列 Id 和 month Id 。 我期望的输出是基于季度粒度将年份从月份ID中分出。活动专栏应该从四分之一开始。如果id是活动的,活动应该是1 else 0。如果id在第一季度中有任何活动(例如:只有1),那么活动仍然是1. 像这样: id month_dt -------------------- --------------- 1000000000 201
..
我试图创建一个相当大的表格。 〜300万行和〜40K列使用配置单元。首先,我创建一个空表并将数据插入表中。然而,当我尝试这样做时出现错误。 无法获取IMPLICIT,100次尝试后共享锁默认值。失败:获取锁定时出错:无法获取底层对象上的锁定。在一段时间后重试 查询非常简单: 创建外部数据库database.dataset( var1 decimal(10,2),
..
是否可以在 Hive CLI 中运行此类功能? 我试图将文件内容作为变量传递给另一个查询。 set column_list =!cat /home/user/filename.lst; create table tabname as select column_list from ... 解决方案 file filename.lst line
..