当前位置: 首页 > news >正文

一百三十七、Hive——HQL运行报错(持续更新中)

一、timestamp字段与int字段相加

(一)场景

change_time字段是timestamp字段,代表一个红绿灯周期的开始时间(先是绿灯、再是黄灯、最后红灯),而green是int字段,代表绿灯的秒数,现在要求出绿灯的结束时间。即change_time字段+green字段

(二)timestamp字段与int字段无法直接相加,可以先把change_time字段转为时间戳,然后和green字段相加,最后再转为日期

样例:from_unixtime(unix_timestamp(change_time, 'yyyy-MM-dd HH:mm:ss') + green) AS new_timestamp

(三)SQL语句

 成功!!!

二、with语句与insert结合使用

(一)场景

在DWS层中,对多层SQL使用with语句嵌套查询,然后insert插入数据。如果直接把insert放在with语句上面,那么就会如下报错

(二)报错

org.apache.hadoop.hive.ql.parse.ParseException:line 2:0 cannot recognize input near 'with' 'a1' 'as' in statement

(三)解决方法

把insert放在with的后面,select的前面

(四)SQL语句

with a1 as(
selectb1.site_id, b1.phase_id, b1.phase_start, b1.program_id, b1.lane_direction, b1.device_direction,b1.min_gree_end, b1.phase_end, b1.team_id, b1.name,t8.device_no,t9.lane_num lane_no
from  dws_pass as b1
left join hurys_dc_dwd.dwd_radar_config as t8
on t8.direction=b1.device_direction and t8.device_no=b1.device_no  --得到真正的雷达编号字段
left join hurys_dc_dwd.dwd_radar_lane as t9
on t9.device_no=b1.device_no and t9.lane_direction=b1.lane_direction  --得到车道编号字段
group by b1.site_id, b1.phase_id, b1.phase_start, b1.program_id, b1.lane_direction, b1.device_direction, b1.min_gree_end, b1.phase_end, b1.team_id, b1.name, t8.device_no, t9.lane_num)
insert  overwrite  table  dws_pass_sparetime_1hour  partition(day)
selecta1.site_id,phase_id,program_id,phase_start,min_gree_end,phase_end,a1.device_no,team_id,name,t10.create_time,concat(substr(create_time, 1, 14), '00:00') start_time,a1.lane_no,section_no,coil_no,device_direction direction,lane_direction,target_id,target_type,drive_in_time,day
from a1
left join hurys_dc_dwd.dwd_pass as t10
on t10.device_no=a1.device_no and t10.lane_no=a1.lane_noand t10.create_time between a1.min_gree_end and a1.phase_end
group by a1.site_id, phase_id, program_id, phase_start, min_gree_end, phase_end, a1.device_no, team_id, name, t10.create_time, a1.lane_no, section_no, coil_no, device_direction, lane_direction, target_id, target_type, drive_in_time, day
;

http://www.lryc.cn/news/99166.html

相关文章:

  • Spring Boot配置加密实践
  • SwiftUI-基础
  • vue。cli怎么使用自定义组件,会有哪些问题
  • linux----vim的使用
  • 95. Python基础教程:异常处理try...except语句
  • 详解rocketMq通信模块升级构想
  • 【BOOST程序库】对字符串的处理
  • (学习笔记-内存管理)虚拟内存
  • JVM理论(七)性能监控与调优
  • 复现YOLOv8改进最新MPDIoU:有效和准确的边界盒回归的损失,打败G/E/CIoU,效果明显!!!
  • LT6911C 是一款HDMI 1.4到双端口MIPIDSI/CSI或者LVDS加音频的一款高性能芯片
  • vue动态引入静态资源
  • perl 强制覆盖拷贝文件
  • C语言每日一题之整数求二进制1的个数
  • AcWing 4443.无限区域
  • 2D坐标系下的点的转换矩阵(平移、缩放、旋转、错切)
  • 【Rabbitmq】报错:ERROR CachingConnectionFactory Channel shutdown: channel error;
  • el-table组件的el-table-column电脑端使用fixed属性固定,移动端不使用固定,怎么实现?
  • RocketMQ 行业分享
  • 物联网场景中的边缘计算解决方案有哪些?
  • 【C++ 进阶】学习导论:C/C++ 进阶学习路线、大纲与目标
  • 【数据结构】实验七:字符串
  • 排序算法、
  • rbd快照管理、rbd快照克隆原理与实现、rbd镜像开机自动挂载、ceph文件系统、对象存储、配置对象存储客户端、访问Dashboard
  • vue、vuex、vue-router初学导航配合elementui及vscode快捷键
  • Elasticsearch:使用 ELSER 释放语义搜索的力量:Elastic Learned Sparse EncoderR
  • MySQL数据库分库分表备份(shell脚本)
  • 建造者设计模式go实现尝试
  • 创建交互式用户体验:探索JavaScript中的Prompt功能
  • 自然语言处理从入门到应用——LangChain:提示(Prompts)-[提示模板:基础知识]