一百八十七、大数据离线数仓完整流程——步骤六、在ClickHouse的ADS层建表并用Kettle同步Hive中DWS层的结果数据

本文详细描述了离线数仓项目中,如何通过ClickHouse的ADS层进行数据建表,并利用Kettle实现从HiveDWS层的增量数据同步。作者分享了建库建表的SQL语句、海豚调度器的使用以及Kettle转换任务的配置和日志监控方法。
摘要由CSDN通过智能技术生成

一、目的

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

二、数仓实施步骤

(六)步骤六、在ClickHouse的ADS层建表并用Kettle同步Hive中DWS层的结果数据

1、ClickHouse的ADS层建库建表语句

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


--1.1转向比数据表——5分钟周期
create  table  if not exists hurys_dc_ads.ads_turnratio_volume_5min(
    device_no        String                comment '设备编号',
    create_time      DateTime              comment '创建时间',
    start_time       DateTime              comment '开始时间',
    name             Nullable(String)      comment '场景',
    direction        Nullable(String)      comment '雷达朝向',
    volume_sum       Nullable(int)         comment '指定时间段内通过路口的车辆总数',
    volume_left      Nullable(int)         comment '指定时间段内通过路口的左转车辆总数',
    volume_straight  Nullable(int)         comment '指定时间段内通过路口的直行车辆总数',
    volume_right     Nullable(int)         comment '指定时间段内通过路口的右转车辆总数',
    volume_turn      Nullable(int)         comment '指定时间段内通过路口的掉头车辆总数',
    day              Date                  comment '日期'
)
ENGINE = MergeTree
PARTITION BY (day)
PRIMARY KEY day
order by day
TTL day + toIntervalMonth(12)
SETTINGS index_granularity = 8192;

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

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

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

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

#! /bin/bash
source /etc/profile

clickhouse-client --user default --password hurys@123 -d default --multiquery <ads.sql

注意:default是clickhouse创建时自带的数据库

3、Kettle转换任务配置

注意:从Hive到ClickHouse,每次是增量导入,而不是全量导入

4、海豚调度器调度kettle转换任务

(1)海豚配置ADS层每日执行Kettle任务的工作流(需要定时,每日一次

#!/bin/bash
source /etc/profile

/usr/local/hurys/dc_env/kettle/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -dir=/hive_to_clickhouse/ -trans=02_Hive_to_ClickHouse_dws_evaluation_1hour level=Basic >>/home/log/kettle/02_Hive_to_ClickHouse_dws_evaluation_1hour_`date +%Y%m%d`.log 

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

(3)注意点
3.3.1 由于每次kettle任务是增量导入数据,因此在脚本里添加kettle运行的日志

level=Basic >>/home/log/kettle/02_Hive_to_ClickHouse_dws_evaluation_1hour_`date +%Y%m%d`.log 

可以查看一下kettle运行的日志文件

离线数仓从Kafka到ClickHouse的全流程大致就是如此,当然很多细节需要优化完善!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 大数据离线数据抽取的步骤一般包括以下几个阶段: 1. 数据采集:采集需要处理的数据,包括结构化数据和非结构化数据。 2. 数据清洗:清洗采集到的数据,去除重复数据、无效数据和错误数据。 3. 数据预处理:对清洗后的数据进行处理,包括数据去噪、数据过滤、数据转换等,以便后续的分析和挖掘。 4. 数据集成:将不同来源的数据进行集成,生成一个完整数据集。 5. 数据转换:将数据转换为目标系统可识别的格式,如将非结构化数据转换为结构化数据。 6. 数据归约:对数据进行归约操作,包括聚合、抽样等,以减小数据规模。 7. 数据存储:将处理后的数据存储到相应的数据仓库,以便后续的分析和挖掘。 以上就是大数据离线数据抽取的基本步骤。 ### 回答2: 大数据离线数据抽取是指从大规模数据提取有价值的数据并进行处理分析的过程。以下是大数据离线数据抽取的详细步骤: 1. 数据源选择:确定抽取数据的来源,可以是各种数据库、文件或日志等。 2. 数据预处理:对原始数据进行数据清洗和预处理,包括去除重复值、处理缺失值、格式转换等,以保证数据的质量和一致性。 3. 数据抽取:通过数据抽取工具或技术,将预处理后的数据数据提取出来,常用的抽取方式有全量抽取和增量抽取。 4. 数据转换:将抽取出的数据进行转换、整合和归并,使其符合目标数据模型和格式要求,常用的技术有ETL(Extract-Transform-Load)工具和技术。 5. 数据加载:将转换后的数据加载到目标数据库或目标存储系统,以便进行后续的数据分析和应用。 6. 数据分析:对加载后的数据进行分析和挖掘,可以使用各种数据分析和挖掘工具,如数据挖掘算法、统计分析等,以获取有价值的信息和洞察。 7. 数据可视化:将分析结果通过可视化工具展示出来,如图表、报表、仪表盘等,以便用户更直观地理解和利用数据。 8. 数据挖掘和建模:根据分析结果,进行数据挖掘和建模,以发现数据的潜在模式、规律和关联,并构建相应的预测和决策模型。 9. 模型评估和优化:对建立的模型进行评估和优化,通过模型评估指标和反馈来不断优化模型的准确性和性能。 10. 应用和反馈:将分析结果和建立的模型应用到实际场景,并根据实际应用情况进行反馈和调整,以持续提高数据分析的效果和价值。 以上是大数据离线数据抽取的主要步骤,每个步骤都非常重要,对于有效地利用大数据进行数据分析和挖掘具有关键作用。 ### 回答3: 大数据离线数据抽取是指从海量数据提取所需数据的过程。以下是详细的步骤: 1. 数据源识别:首先确定需要抽取数据的源头,可以是关系数据库、文本文件、日志文件等各种数据源。 2. 数据源连接:与数据源建立连接,确保能够获取数据。连接方式可以是使用数据库连接工具、FTP、API等。 3. 数据提取规则设计:根据需求确定数据提取的规则,包括哪些表需要抽取、抽取的字段是什么等。这一步需要保证提取的数据能够满足后续使用的需求。 4. 数据抽取:根据提取规则,使用特定的工具或编写代码进行数据抽取操作。常用的工具包括Sqoop、Flume、Kettle等。 5. 数据转换:将抽取的原始数据转换成符合目标要求的格式。这一步可能包括数据清洗、格式转换、字段拆分合并等处理操作,以确保数据的准确性和一致性。 6. 数据加载:将转换后的数据加载至目标位置,可以是数据仓库、分析平台、报表工具等。加载方式可以是覆盖式更新或增量更新等。 7. 数据校验和验证:对加载后的数据进行校验和验证,确保数据完整性和正确性。可以通过对比原始数据和转换后数据的差异、查询数据的准确性等方式进行验证。 8. 数据存储和备份:将已抽取的数据进行存储和备份,以便后续使用和恢复。可以选择合适的存储介质和备份策略。 9. 数据可视化和分析:将存储的数据通过数据可视化工具进行展示和分析,帮助用户理解和利用数据,从发现潜在的业务价值。 10. 定期维护和优化:根据实际需求和数据变化情况,定期对数据抽取过程进行维护和优化,保证数据抽取的效率和准确性。 总之,大数据离线数据抽取的步骤包括数据源识别、数据源连接、数据提取规则设计、数据抽取、数据转换、数据加载、数据校验和验证、数据存储和备份、数据可视化和分析以及定期维护和优化。通过这些步骤,我们可以从海量数据提取并利用有用的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天地风雷水火山泽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值