hiveql - 在 HIVE 查询中传递参数
问题描述
我需要在执行时将参数传递给 HQL。为此,我们使用所需的值更新了 .param 文件。现在我在使用它时遇到了问题。
SELECT * FROM temp_table A
其中 PRODT_CTGRY_CD = 'CAR' 和
(
(
DATE(A.CUST_BRTH_DT) 在 concat(${hiveconf:PRODYEAR} - 13 ,"-02","-28") 和 concat(${hiveconf:PRODYEAR} - 7 ,"-03","-01") 之间
和
DATE(A.TERM_DT) >= concat(${hiveconf:PRODYEAR} - 1,"-03","-31")
)
在上面的查询中,如果我不包括 term_dt 的条件,则查询运行良好。但是,当我包括在内时,我收到如下错误:
失败:ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableIntObjectInspector 无法转换为 org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector(状态=42000,代码=40000)
有人可以让我知道这里需要做什么吗?
提前非常感谢。
解决方案
推荐阅读
- rust - 在 rust 中使用未声明的 crate 或模块
- sql-server - 数据库中不会发生的数据工具项目不明确的引用错误
- azure - arm 模板中的 microsoft.insights/components/ProactiveDetectionConfigs 强制进行多次部署
- sql - 从输出中删除 RANK() 列
- angular - 如何防止Angular中的两个API调用?
- kotlin - 从标准输入中获取最小数(解释代码)
- uber-api - 优步优惠券 API 集成
- javascript - Popup 如何向 Content 发送消息并获得持续响应,反之亦然?
- go - 如何正确地将记录器注入代码的数据库层?
- spring-boot - Webflux RSocket Server 使用 RSocketRequestor 向 Rsocket-js 客户端发送消息。响应者未接收