Hive中not in函数的小坑 :含null时的判断

2023-11-09

Hive中的not in函数有一个隐藏的陷阱,当not in() 中的数值包含NULL,匹不上的数据会返回NULL而不是True。

所以当在where中使用not in子查询进行筛选,一定要记得去除NULL值。

样例代码:

--not in的原始结果
select num,num not in (null,'2'), num not in (null,'2') and true from
(select explode(split('1,2,3,4',',')) as num)t;


--not in 中包含NULL的筛选结果
select num,num not in (null,'2'), num not in (null,'2') and true from
(select explode(split('1,2,3,4',',')) as num)t
where num not in (null,'2') and true;


--not in 中不包含NULL的筛选结果
select num,num not in ('2'),num not in ('2') and true from
(select explode(split('1,2,3,4',',')) as num)t
where num not in ('2') and true;

————————————————
版权声明:本文为CSDN博主「thelostxxx」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/thelostxxx/article/details/64920020

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive中not in函数的小坑 :含null时的判断 的相关文章

  • 在 HIVE 中选择该月的第一天

    我正在使用 Hive 它与 SQL 类似 但对于 SQL 用户来说语法可能略有不同 我看过其他的stackoverflow 但它们似乎在SQL中具有不同的语法 我试图通过此查询获取该月的第一天 这给了我今天的一天 例如 如果今天是 2015
  • Hive 安装问题:Hive Metastore 数据库未初始化

    我尝试在树莓派 2 上安装 Hive 我通过解压缩压缩的 Hive 包安装 Hive 并在我创建的 hduser 用户组下手动配置 HADOOP HOME 和 HIVE HOME 运行 hive 时 出现以下错误消息 蜂巢 错误 Statu
  • 如何将键值对加载到hive表中?

    以下是我的数据集 Jun name balaji id 101 Mar name kumar id 102 创建的表 create table sample month string name string id int row forma
  • 向将数组作为字段之一的 Hive 表插入行时出现错误 10293

    我使用以下查询创建了一个配置单元表 create table arraytbl id string model string cost int colors array
  • Hive - hive 中的逆透视功能

    我有两个表如下 Table A userid code code name property id 0001 1 apple id Y1234 0031 4 mango id G4567 0008 3 grape id H1209 0001
  • Hive 分区表上的 Spark 行为

    我用的是 Spark 2 实际上我不是执行查询的人 所以我不能包含查询计划 数据科学团队问过我这个问题 我们将 Hive 表划分为 2000 个分区并以 parquet 格式存储 当在 Spark 中使用相应的表时 执行器之间恰好执行了 2
  • 如何获取hive中的数据库用户名和密码

    正在编写jdbc程序来连接hive数据库 我希望在连接 url 中提供用户名和密码 我不知道如何使用 hive QL 获取用户名和密码 有人可以帮我吗 Exception in thread main java sql SQLNonTran
  • Spark SQL 未正确转换时区[重复]

    这个问题在这里已经有答案了 使用 Scala 2 10 4 和 Spark 1 5 1 和 Spark 1 6 sqlContext sql select id to date from utc timestamp from unixtim
  • HIVE:GROUP BY 的行为与 MySQL 中不同

    我对 MySQL 有一些经验 最近我必须在 HIVE 上做一些工作 两者之间的查询基本结构非常相似 但是 HIVE 中的 GROUP BY 的工作方式似乎有点不同 因此我无法实现以前在 MySQL 中使用 GROUP BY 可以实现的目标
  • 连接到 Hive 时使用 Spark 进行 Kinit

    我正在尝试从独立的 Spark 连接到 Hive hadoop 集群具有 kerberos 身份验证 有人可以让我知道如何在 Spark 程序中执行 kinit 我可以连接到配置单元吗 更新 我的 Spark 与 Hadoop 位于不同的集
  • 使用 UDF 添加文件读取添加到 Hive 资源的文件

    我想知道如何读取使用添加的 Hive 资源ADD FILE来自乌德夫 例如 Hive gt add file users temp key jks Java中的UDF可以读取这个文件吗 在 Udf 中获取此文件的路径是什么 谢谢 大卫 一旦
  • Spark JDBC 仅返回带有列名的数据帧

    我正在尝试使用 Spark JDBC 连接到 HiveTable 代码如下 val df spark read format jdbc option driver org apache hive jdbc HiveDriver option
  • 使用 python 从 hive 读取数据时的性能问题

    我在 hive 中有一个表 其中包含 351 837 110 MB 大小 记录 我正在使用 python 读取该表并写入 sql server 在此过程中 从 hive 读取数据到 pandas dataframe 需要很长时间 当我加载整
  • Hadoop:读取ORC文件并放入RDBMS中?

    我有一个以 ORC 文件格式存储的配置单元表 我想将数据导出到 Teradata 数据库 我研究了 sqoop 但找不到导出 ORC 文件的方法 有没有办法让 sqoop 为 ORC 工作 或者有什么其他工具可以用来导出数据 Thanks
  • 计算行的排名

    我想根据一个字段对用户 ID 进行排名 对于相同的字段值 排名应该相同 该数据位于 Hive 表中 e g user value a 5 b 10 c 5 d 6 Rank a 1 c 1 d 3 b 4 我怎样才能做到这一点 可以使用ra
  • 为 Presto 和 AWS S3 设置独立 Hive Metastore 服务

    我工作的环境中使用 S3 服务作为数据湖 但没有 AWS Athena 我正在尝试设置 Presto 以便能够查询 S3 中的数据 并且我知道我需要通过 Hive Metastore 服务将数据结构定义为 Hive 表 我正在 Docker
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做
  • 如何解决使用 Spark 从 S3 重新分区大量数据时从内存中逐出缓存的表分区元数据的问题?

    在尝试从 S3 重新分区数据帧时 我收到一个一般错误 Caused by org apache spark SparkException Job aborted due to stage failure Task 33 in stage 1
  • 获取从开始日期到结束日期的活跃周数

    我的订阅数据如下所示 数据显示用户何时购买订阅 它有user id subscription id start date and end date 我已经得出wk start and wk end从中 user subscription i
  • 在蜂巢中出现错误

    当我连接到 ireport 时 如果说在 hive shell 中显示表 则会出现此错误 元数据错误 java lang RuntimeException 无法实例化 org apache hadoop hive metastore Hiv

随机推荐

  • 如何更新R

    更新R版本 1 直接安装install packages installr 然后 library installr 再updateR 2 把原来的R删掉 再到官网下载 The R Project for Statistical Comput
  • Java中变量详解(类的五成员之一:变量)

    目录 友情提醒 概述 Java中的成员包含五部分 第一部分 变量 1 Java中的变量分类 2 成员变量和局部变量的位置区别 3 Java中成员变量作用域 Java权限修饰符 4 Java中成员变量和成员属性的区别 5 成员变量初始化方式
  • Numbers on Whiteboard (codeforces1430)(数学分析)

    Numbers 1 2 3 each integer from 1 to once are written on a board In one operation you can erase any two numbers and from
  • LeetCode 刷题记录14. 最长公共前缀

    题目描述 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 说明 示例 1 输入 strs flower flow flight 输出 fl 示例 2 输入 strs dog racecar car 输出 解释
  • 修改网页logo图片

    在html的head代码区加入以下代码 保存刷新页面即可
  • Lua基础之字符串(string)

    1 计算字符串长度 2 返回字符串s的n个拷贝 3 返回字符串全部字母大写 4 返回字符串全部字母小写 5 返回一个类似printf的格式化字符串 6 根据下标截取字符串 7 在字符串中查找 8 在字符串中替换 9 返回字符的整数形式 10
  • 二叉树系列(1)已知二叉树的中序遍历和前序遍历,如何求后序遍历

    一道HULU的笔试题 How I wish yesterday once more 假设有棵树 长下面这个样子 它的前序遍历 中序遍历 后续遍历都很容易知道 PreOrder GDAFEMHZ InOrder ADEFGHMZ PostOr
  • nlp-如何实现编写BERT模型

    致谢 本文主要由浙江大学李泺秋撰写 前言 建议通过pycharm vscode等工具对bert源码进行单步调试 调试到对应的模块再对比看讲解 涉及到的jupyter可以在代码库 篇章3 编写一个Transformer模型 BERT 下载 本
  • Spring MVC 使用JSR303校验表单

    导入JSR303相关JAR包 Spring MVC 使用JSR303校验表单 创建registerForm jsp
  • 英伟达合作伙伴选择RTX 2080Ti作为深度学习-人工智能解决方案

    Scientific在9月6日发布新闻称 英伟达 Nvidia 全球服务器供应商之一AMAX将最新的GeForce RTX 2080 Ti图形卡集成到深度学习 人工智能以及HPC高性能计算服务器的解决方案阵容中 新的GeForce RTX
  • matplotlib.pyplot.hist绘制直方图函数

    matplotlib pyplot hist x bins 10 range None normed False weights None cumulative False bottom None histtype u bar align
  • 小程序点击复制功能制作

    在wxml文件中添加一个按钮或需要点击的元素 并绑定点击事件监听器2
  • RabbitMQ报错Error: unable to connect to node rabbit@xxx: nodedown的解决方式

    RabbitMQ报错Error unable to connect to node rabbit xxx nodedown的解决方式 环境 Win10x64 erlang otp 19 1x64 RabbitMQ3 6 6 刚开始研究Rab
  • 【前端领域】3D旋转超美相册(HTML+CSS)

    世界上总有一半人不理解另一半人的快乐 爱玛 目录 一 前言 二 本期作品介绍 3D旋转相册 三 效果展示 四 详细介绍 五 编码实现 index html style css img 六 获取源码 公众号获取源码 获取源码 私信 关注 点赞
  • KVM内核代码结构

    KVM内核代码结构 因为KVM的源代码已经包含在了Linux的内核树中 因此我们只需直接从www kernel org下载代码即可 内核源码包打开较大 解开后目录结构大概是这个样子 涉及KVM的主要有两个目录 virt和arch x86 k
  • [游戏开发]Unity业务代码自动生成工具

    前言 项目里有非常多的重复代码 例如UI业务逻辑 一般来说都会生成Manager Module View层代码 这是基本的MVC架构 Manger层 负责数据维护 对照Proto把CS和SC通信代码都写上 Module层 如果有变化则从Ma
  • 《Java基础篇》JavaBean的生命周期·作用域·通俗易懂

    1 基本概念 bean 就是由IOC 容器初始化 装配及管理的对象 Spring中的bean默认都是单例的 那么单例Bean在多线程程序下如何保证线程安全呢 Spring的单例是基于BeanFactory也就是Spring容器的 单例Bea
  • 西门子PLC入门-PLC介绍

    PLC全名 可编程逻辑控制器 Programmable Logic Controller 一种具有微处理器的用于自动化控制的数字运算控制器 可以将控制指令随时载入内存进行储存与执行 PLC由CPU 指令及数据内存 输入 输出接口 电源 数字
  • Java并发编程面试题

    基础知识 并发编程的优缺点 为什么要使用并发编程 并发编程的优点 充分利用多核CPU的计算能力 通过并发编程的形式可以将多核CPU的计算能力发挥到极致 性能得到提升 方便进行业务拆分 提升系统并发能力和性能 在特殊的业务场景下 先天的就适合
  • Hive中not in函数的小坑 :含null时的判断

    Hive中的not in函数有一个隐藏的陷阱 当not in 中的数值包含NULL 匹不上的数据会返回NULL而不是True 所以当在where中使用not in子查询进行筛选 一定要记得去除NULL值 样例代码 not in的原始结果 s