一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据

这篇具有很好参考价值的文章主要介绍了一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、目的

经过6个月的奋斗,项目的离线数仓部分终于可以上线了,因此整理一下离线数仓的整个流程,既是大家提供一个案例经验,也是对自己近半年的工作进行一个总结。

二、数仓实施步骤

(五)步骤五、在Hive的DWS层建动态分区表并动态加载数据

1、Hive的DWS层建库建表语句

--如果不存在则创建hurys_dc_dws数据库
create database if not exists hurys_dc_dws;
--使用hurys_dc_dws数据库
use hurys_dc_dws;


--1.1、转向比数据内部表——动态分区——转向流量——5分钟周期  dws_turnratio_volume_5min
create  table  if not exists dws_turnratio_volume_5min(
    device_no       string       comment '设备编号',
    create_time     timestamp    comment '创建时间',
    start_time      timestamp    comment '开始时间',
    name            string       comment '场景',
    direction       string       comment '雷达朝向',
    volume_sum      int          comment '指定时间段内通过路口的车辆总数',
    volume_left     int          comment '指定时间段内通过路口的左转车辆总数',
    volume_straight int          comment '指定时间段内通过路口的直行车辆总数',
    volume_right    int          comment '指定时间段内通过路口的右转车辆总数',
    volume_turn     int          comment '指定时间段内通过路口的掉头车辆总数'
)
comment '转向比数据表——动态分区——5分钟周期'
partitioned by (day string)   --分区字段不能是表中已经存在的数据,可以将分区字段看作表的伪列。
stored as orc                --表存储数据格式为orc
;

2、海豚执行DWS层建表语句工作流

对于刚部署的服务器,由于Hive没有建库建表、而且手动建表效率低,因此通过海豚调度器直接执行建库建表的.sql文件

(1)海豚的资源中心加建库建表的SQL文件

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据,Hadoop,大数据,hive,hadoop

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据,Hadoop,大数据,hive,hadoop

(2)海豚配置DWS层建表语句的工作流(不需要定时,一次就行

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据,Hadoop,大数据,hive,hadoop

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据,Hadoop,大数据,hive,hadoop

3、海豚配置DWS层每日动态加载数据的工作流(指定分区名

(1)海豚配置DWS层每日动态加载数据的工作流(需要定时,每日一次

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据,Hadoop,大数据,hive,hadoop

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据,Hadoop,大数据,hive,hadoop

#! /bin/bash
source /etc/profile

nowdate=`date --date='0 days ago' "+%Y%m%d"`
yesdate=`date -d yesterday +%Y-%m-%d`

hive -e "
use hurys_dc_dws;

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions.pernode=1000;
set hive.exec.max.dynamic.partitions=1500;

insert  overwrite  table  dws_evaluation_1hour  partition(day='$yesdate')
select
       dwd_ev.device_no,
       lane_no,
       cycle,
       create_time,
       concat(substr(create_time, 1, 14), '00:00') start_time,
       dwd_te.name,
       dwd_rc.direction,
       dwd_rl.lane_direction,
       dwd_ev.volume,
       queue_len_max,
       sample_num,
       stop_avg,
       delay_avg,
       stop_rate,
       travel_dist,
       travel_time_avg
from hurys_dc_dwd.dwd_evaluation as dwd_ev
    right join hurys_dc_dwd.dwd_radar_lane as dwd_rl
              on dwd_rl.device_no=dwd_ev.device_no and dwd_rl.lane_num=dwd_ev.lane_no
    right join hurys_dc_dwd.dwd_device_team as dwd_dt
              on dwd_dt.device_no=dwd_ev.device_no
    right join hurys_dc_dwd.dwd_team as dwd_te
              on dwd_te.id = dwd_dt.team_id
    right join hurys_dc_dwd.dwd_radar_config as dwd_rc
             on dwd_rc.device_no=dwd_ev.device_no
where dwd_ev.create_time is not null  and day= '$yesdate'
group by dwd_ev.device_no, lane_no, cycle, create_time, dwd_te.name, dwd_rc.direction, dwd_rl.lane_direction, dwd_ev.volume, queue_len_max, sample_num, stop_avg, delay_avg, stop_rate, travel_dist, travel_time_avg
"

(2)工作流定时任务设置(注意与其他工作流的时间间隔

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据,Hadoop,大数据,hive,hadoop

(3)注意点
3.3.1 动态加载数据的SQL需要指定分区名day='$yesdate',只加载前一天的数据

剩余数仓部分,待续!文章来源地址https://www.toymoban.com/news/detail-731252.html

到了这里,关于一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 离线数仓同步数据1

    com.atguigu.gmall.flume.interceptor.TimestampInterceptor$Builder

    2024年02月10日
    浏览(27)
  • 离线数仓(五)【数据仓库建模】

            今天开始正式数据仓库的内容了, 前面我们把生产数据 , 数据上传到 HDFS , Kafka 的通道都已经搭建完毕了, 数据也就正式进入数据仓库了, 解下来的数仓建模是重中之重 , 是将来吃饭的家伙 ! 以及 Hive SQL 必须熟练到像喝水一样 !         数据仓库 (dataware,简称 DW) 是

    2024年03月26日
    浏览(50)
  • 离线数仓建设之数据导出

    为了方便报表应用使用数据,需将ADS各项指标统计结果导出到MySQL,方便熟悉 SQL 人员使用。 创建car_data_report数据库: 1.1.2 创建表 ① 里程相关统计 创建ads_mileage_stat_last_month表,存储里程相关统计数据。 ② 告警相关统计 创建ads_alarm_stat_last_month表,存储告警相关的统计数据。

    2024年03月16日
    浏览(36)
  • C++之类之间访问函数指针(一百八十一)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月12日
    浏览(41)
  • Android14之DefaultKeyedVector实现(一百八十二)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 优质专栏: 多媒体系统工程师系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径

    2024年01月19日
    浏览(48)
  • 高通sm7250与765G芯片是什么关系?(一百八十一)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 优质专栏: 多媒体系统工程师系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径

    2024年01月18日
    浏览(42)
  • Android14之Android Rust模块编译语法(一百八十七)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 优质专栏: 多媒体系统工程师系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径

    2024年02月22日
    浏览(44)
  • Android14之解决Pixel手机联网出现感叹号(一百八十)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 优质专栏: 多媒体系统工程师系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径

    2024年01月22日
    浏览(38)
  • 【从0开始离线数仓项目】——数据仓库的环境搭建(1)

    目录 一、服务器环境准备 1.2 编写集群分发脚本xsync 1.3 SSH无密登录配置 1.4 JDK准备 1.5 环境变量配置说明 二、集群所有进程查看脚本 三、Zookeeper安装 3.1 分布式安装部署 3.2 ZK集群启动停止脚本 3.3 客户端命令行操作 CentOS 7 怎么从命令行模式切换到图形界面模式 切换至root权限

    2024年02月13日
    浏览(27)
  • 看这篇就明白大数据实时数仓、离线数仓、数据湖之间的关系

      20世纪70年代,MIT(麻省理工)的研究员致力于研究一种优化的技术架构,该架构试图将业务处理系统和分析系统分开,即将业务处理和分析处理分为不同层次,针对各自的特点采取不同的架构设计原则,MIT的研究员认为这两种信息处理的方式具有显著差别,以至于必须采取完

    2024年02月08日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包