hiveql相关内容

如何在Hive中获取前一天的日期

我是Hive的新手.尝试使用以下查询获取前一天的日期: SELECT MAX(id) FROM store_rcd_table WHERE recon_dt = unix_timestamp(date_sub(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),1),'yyyy-MM-dd') ,但将NULL作为输出.输出应为date(2017-0 ..
发布时间:2020-11-22 02:09:35 其他开发

如果INSERT OVERWRITE的SELECT查询未返回任何结果,是否有办法防止Hive表被覆盖

我正在开发一个批处理作业,该作业将数据从HDFS文件加载到Hive表中.数据流如下 使用外部Hive表读取HDFS中收到的文件 从外部Hive表中插入最终的Hive表,并应用某些转换 将收到的文件移至存档 如果输入目录中有一个文件供外部表在步骤1中读取,则此流程工作正常. 如果没有文件,则外部表将为空,结果执行步骤2将清空最终表.如果外部表为空,我想将现有数据保留在最终表中(上一次 ..
发布时间:2020-11-22 02:06:04 其他开发

Hive更改表<表名>串联工作?

我有n(large)个小尺寸的兽人文件,我想合并为k(small)个大的兽人文件. 这是使用Hive中的alter table table_name concatenate命令完成的. 我想了解Hive如何实现这一点. 我希望使用Spark进行此操作,并根据需要进行任何更改. 任何指针都很棒. 解决方案 按照如果表或分区包含许多小的RCFiles或ORC文件,则上述命令会 ..
发布时间:2020-11-22 02:03:50 其他开发

无法使用主键创建配置单元表

我无法使用主键在蜂巢中创建外部表.以下是示例代码: hive> create table exmp((name string),primary key(name)); 这将向我返回以下错误消息: NoViableAltException(278 @ [])在 org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.i ..
发布时间:2020-11-22 02:03:23 其他开发

在Hive中选择前2行

我是这里的noobie.我正在尝试根据蜂巢中的薪水(版本0.11)从我的员工列表中检索前2个表.由于它不支持TOP功能,是否有其他选择?还是我们已经定义了UDF? 解决方案 是的,您可以在其中使用LIMIT. 您可以通过以下查询进行尝试: SELECT * FROM employee_list SORT BY salary DESC LIMIT 2 ..
发布时间:2020-11-22 02:01:58 其他开发

蜂巢:更加安全的SELECT AS和GROUP BY选择方式

我尝试像这样编写Hive Sql SELECT count(1), substr(date, 1, 4) as year FROM *** GROUP BY year 但是Hive无法识别别名"year",它抱怨说: 失败:SemanticException [错误10004]:行1:79无效的表别名或列引用'year' 一种解决方案(配置单元:SELECT AS和GROUP BY ..
发布时间:2020-11-22 02:00:29 其他开发

蜂巢中的减速器选择

我有以下记录要处理 1000, 1001, 1002 to 1999, 2000, 2001, 2002 to 2999, 3000, 3001, 3002 to 3999 我想使用HIVE处理以下记录集,以便reducer-1将处理1000至1999的数据,而reducer-2将处理2000至2999的数据,而reducer-3将处理3000至3999的数据.请帮助我解决以上问题 ..
发布时间:2020-11-22 01:55:12 其他开发

从另一个表(包括配置单元中的分区列)创建临时表

我正在使用AS子句从另一个表创建一个临时表,其中包括另一个表的分区列也属于临时表,然后出现以下错误.下面是表create语句,其中col4是表xyz的分区列. 在运行create语句时,出现以下错误.当我从create语句中删除col4时,它运行正常. 错误: 编译语句时出错:FAILED:NumberFormatException为 输入字符串:"HIVE_DEFAULT_PA ..
发布时间:2020-11-22 01:55:04 其他开发

覆盖SemanticException [错误10001]

我想更改hive数据库中的1000s表,但是它们的某些表退出而有些则没有.当我执行该.sql文件时,一旦发现表不存在,它就会从配置单元中退出.因此,请帮助我覆盖或跳过那些不在蜂巢中存在其表的查询 解决方案 尝试使用此配置参数: set hive.cli.errors.ignore=true; 将其设置为"true"后,无论有多少失败,脚本中的所有命令都将执行. 请参阅此处: ..
发布时间:2020-11-22 01:55:00 其他开发

有没有一种方法可以识别或检测Hive表中的数据偏斜?

我们有许多配置单元查询,这些查询需要很长时间.我们正在使用tez和其他良好做法,例如CBO,orc文件等. 有没有一种方法可以像某些命令一样检查/分析数据偏斜?解释计划会有所帮助吗?如果可以,我应该寻找哪个参数? 解决方案 说明计划对此无济于事,您应该检查数据.如果是联接,请从联接中涉及的所有表中选择前100个联接键值,如果它是解析函数,则对键进行分区也要执行相同的操作. 示例 ..
发布时间:2020-11-22 01:52:26 其他开发

Hive-有没有办法进一步优化HiveQL查询?

我写了一个查询,以查找3月至4月美国10个最繁忙的机场.它产生所需的输出,但是我想尝试进一步优化它. 是否有任何适用于查询的HiveQL特定优化? GROUPING SETS在这里适用吗?我是Hive的新手,现在这是我提出的最短的查询. SELECT airports.airport, COUNT(Flights.FlightsNum) AS Total_Flights FROM ( ..
发布时间:2020-11-22 01:52:21 其他开发

蜂巢解释计划理解

是否有任何适当的资源可以让我们完全理解hive生成的解释计划?我尝试在Wiki中搜索它,但是找不到完整的指南来理解它. 这是Wiki,它简要说明了解释计划的工作原理.但是我需要有关如何推断解释计划的更多信息. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Explain 解决方案 我将尝试向我解释我所知的东西 ..
发布时间:2020-11-22 01:49:28 其他开发

在Hive中,空字符串不被视为null

我对以下语句的理解是,如果在蜂巢列中插入空白或空字符串,它将被视为null. TBLPROPERTIES('serialization.null.format'='' 为了测试功能,我创建了一个表并将''插入到字段3中.当我在field3上查询空值时,没有符合该条件的行. 我是否了解使空白字符串为null正确? CREATE TABLE CDR ( field1 ..
发布时间:2020-11-22 01:47:07 其他开发