Hive SQL,使用UNION ALL 纵向合并表,当字段为空值时报错

这篇具有很好参考价值的文章主要介绍了Hive SQL,使用UNION ALL 纵向合并表,当字段为空值时报错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用UNION ALL纵向合并表,当字段为空值时报错如下:
SQL 错误 [40000] [42000]: Error while compiling statement: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: The column KEY._col1:0._col0 is not in the vectorization context column map {KEY._col0=0, KEY._col1=1}.

说明:客户端用的 DBeaver

尝试了各种方式解决,最终办法:
第一种:
在SQL前加上:
set hive.vectorized.execution.enabled=false;
如果是true就会报错。

第二种(推荐):
不用 UNION ALL 纵向合并,如果是对同一个数据表进行不同粒度的汇总,可换成用grouping sets,具体用法见:
Hive之grouping sets用法及grouping_id计算方法

第三种(这种有时候可用,有时候还是报错):
把空字段用“常量”填充或者NULL填充(字段类型要保持一致)文章来源地址https://www.toymoban.com/news/detail-768930.html

到了这里,关于Hive SQL,使用UNION ALL 纵向合并表,当字段为空值时报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串&UNION与OR的使用注意事项

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2024年02月21日
    浏览(46)
  • [SQL] union all

    UNION ALL 是一个用于合并多个查询结果集的操作符。它将多个 SELECT 查询的结果合并成一个结果集,并且保留所有的行,包括重复的行。 具体语法如下: 在上述语法中,UNION ALL 用于合并来自 table1 和 table2 的查询结果集。 这两个查询 必须拥有相同的列数和相似类型的列 。 U

    2024年02月07日
    浏览(38)
  • GaussDB数据库SQL系列-UNION & UNION ALL

    目录 一、前言 二、GaussDB  UNION/UNION ALL 1、GaussDB UNION 操作符 2、语法定义 三、GaussDB实验示例 1、创建实验表 2、合并且除重(UNION) 3、合并不除重(UNION ALL) 4、合并带有WHERE子句SQL结果集(UNION ALL) 5、业务逻辑除重后合并(UNION ALL) 四、GaussDB UNION常见错误 1、“each UNION que

    2024年02月12日
    浏览(54)
  • HIVE数据导入ES并避免字段空值占用空间

    1、自己下载 elasticsearch-hadoop-6.6.0.jar依赖包,根据自己es版本选择,下载地址: 2、文件上传HDFS指定位置,我这边放在 3、hive加载jar包  --注意,部分不加载“commons-httpclient-3.1.jar”可能会报错 error in initSerDe: java.lang.NoClassDefFoundError org/apache/commons/httpclient ,可以直接把包放在

    2023年04月08日
    浏览(68)
  • [SQL挖掘机] - 多表连接: union all

    sql中的 union all 是用于合并两个或多个select语句的结果集的操作符。与 union 不同的是, union all 不会自动去除重复的行,它会简单地将多个查询的结果集合并在一起,包括重复的行。 union all 的基本语法如下: 其中, select_statement1 和 select_statement2 是两个或多个select语句,它们

    2024年02月15日
    浏览(44)
  • Mysql,使用 UNION ALL 处理 ‘无中生有‘ 的数据。

               在日常的开发工作中,有时我们需要在SQL层面添加一些数据库表中没有的数据,那么我们就可以使用 UNION ALL 来解决。   一、简单的无中生有:在查询返回结果中添加数据        以下方的SQL1为例,我们根据 id 查询 user 表中的数据,但想将 name = \\\"燕双鹰

    2024年02月12日
    浏览(51)
  • 空值合并运算符(??)及其使用场景

    空值合并操作符(??) 是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。 与逻辑或操作符(||) 不同,逻辑或操作符会在左侧操作数为假值时返回右侧操作数。也就是说,如果使用 || 来为某些变量设置默认值,可能会遇到

    2024年02月07日
    浏览(41)
  • sql语句两个字段合并或者两个字段拼接显示

    mysql 使用 concat函数 小栗子: sql server 连接字段,直接使用 + 号,和java字符串拼接一样 小栗子: oracle 数据库 可以使用 || ,也可以使用 concat函数 小栗子: ACCESS数据库连接字段,使用 + 号,他与sql server 一样的 小栗子:

    2024年02月11日
    浏览(47)
  • 【SQL开发实战技巧】系列(二十六):数仓报表场景☞聊聊ROLLUP、UNION ALL是如何分别做分组合计的以及如何识别哪些行是做汇总的结果行

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2023年04月12日
    浏览(81)
  • hive sql 拆解字段

    在Hive SQL中,拆解字段通常涉及到字符串操作,如将一个包含多个部分的字符串拆解成多个独立的字段。可以使用内置的字符串函数来实现这个目标。以下是一些常见的用于拆解字段的字符串函数和示例: 1.SUBSTRING(str, start, length):这个函数用于从字符串中提取子字符串。你可

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包