建网站多少钱 优帮云,东莞阳光网官网手机版,大数据网站建设和,网站建设的缺点简介#xff1a; 本文重点介绍大数据产品集通用解决方案#xff0c;即大数据在线计算离线计算一体化解决方案#xff0c;并通过真实案例模拟来说明此通用解决方案在具体项目中是如何落地的。
概述
本方案重点要落地的业务是中央网信办网络安全应急指挥中心相关业务#x…简介 本文重点介绍大数据产品集通用解决方案即大数据在线计算离线计算一体化解决方案并通过真实案例模拟来说明此通用解决方案在具体项目中是如何落地的。
概述
本方案重点要落地的业务是中央网信办网络安全应急指挥中心相关业务由于需要处理的网络数据流量巨大而且对实时和离线大数据计算分析均有要求所以提供此在线离线一体化解决方案。
混合云某项目主要业务简介如下
流量采集
流量采集技术是监控网络流量的关键技术之一为流量分析提供数据来源。为了能够在复杂企业网中有效的分析网络流量。
网络探针
互联网探针NET probe侦听网络数据包的网络探针称为互联网探针。数据包捕获、过滤、分析都能在“互联网探针”上实现。
本文主要针对流量采集业务来构建场景。
适用场景
既要数据实时分析又要数据离线分析的业务。数据量计算较大且分析实时性要求较高的业务。需要备份长期大量数据且能支持查询的业务。数据来源多种多样需要进行大量同步和处理的业务。
技术架构
首先来看看业务架构由于数据量比较庞大涉及产品众多数据链路也比较复杂。 本实践方案基于业务架构图抽象得出如下图所示的技术架构和主要流程并依据此编写操作步骤 从抽象的业务流程图中可以看出在线计算和离线计算两条主链路因此可通过本文大数据在线离线一体化解决方案来实施。
方案优势
支持离线EB量级数据计算2w以上并发作业支持灵活调度多任务并发。实时计算延迟到秒级乃至毫秒级单个作业吞吐量可达到百万级别。支持冷热数据备份降低运营成本。支持无缝对接各类数据源进行分析和查询10亿数据聚合亚秒级响应。
方案实施
数据建模
业务数据量比较庞大为了便于处理和分析首先进行数仓建模并进行数据分层处理方便实施多维分析并提升整个系统查询效率降低查询穿透率。
雪花模型建模
根据对流量采集业务分析比较适合数据仓库常用建模方法——雪花模型。依据业务特征和雪花模型建模原则完成数仓建模具体如下 从以上模型看出存在两个事实表分别描述采集机流量信息和采集机规则事件信息另外三个维度表分别记录运营商采集机和地域维度方便后续的业务分析。
数据分层
离线和在线引擎的数据量非常大如果直接对接BI做数据分析会导致查询效率很低。因此需要进行数据分层将海量的数据来源经过ETL清洗根据数据域和应用域抽取到ADS层交给BI做分析通用方法如下图 针对当前业务可以进行数据分层具体如下 数据分层后数据建模完成后续重点用于离线链路实施中。
离线链路实施
本例中离线链路主要满足的应用域客户场景有以下两个
各个省每日的采集机事件总和统计线图。各运营商每日采集机字节速率平均值看板 (可通过下拉列表分别查看每个运营商的情况)。
离线链路主要针对大量数据进行批量处理和分析并进行冷热数据存储实时性要求不高。离线链路实施主要以base这个产品为核心来开发和串联数据链路情况如下本文通过自建数据来模拟datahub数据源。 具体实施步骤如下
创建odps项目 首先新建odps任务云账号和配额组并创建odps项目。创建base项目创建base项目创建工作空间并绑定刚刚创建的odps项目。 离线计算实施
根据数据建模部分的设计完成相关数据表创建。 由于要创建的表比较多这里贴一个ods层事实表的ddl
CREATE TABLE IF NOT EXISTS ods_wa_collector_flow_mpp
(c_pcg INT COMMENT 网络,c_pc INT COMMENT 省,c_isp STRING COMMENT isp,c_iao INT COMMENT 出入口,c_ch BIGINT COMMENT 采集机,c_pps BIGINT COMMENT 包速率,c_bps BIGINT COMMENT 字节速率,c_time TIMESTAMP COMMENT 时间
) ;
接着用同样的方法依次创建各个数据层的数据表。
然后创建维度表ddl示例如下
CREATE TABLE IF NOT EXISTS dim_province
(c_pc INT COMMENT 省代码,c_name STRING COMMENT 省名称
) ;
接着用同样的方法依次创建其他维度表。
b.通过数据加工完成数据建模和数据分层 首先通过数据清洗操作对贴源层数据进行处理代码示例如下
INSERT OVERWRITE TABLE dwd_wa_collector_flow_mpp
SELECT c_pcg,c_pc,c_isp,c_iao,c_ch,c_pps,c_bps,c_time
FROM ods_wa_collector_flow_mpp
WHERE c_ch 0
AND c_pps 0
AND c_bps 0
;
接下来针对dwd层的数据完成数据汇聚代码示例如下
INSERT OVERWRITE TABLE dws_wa_union
SELECT a.c_ch,c_pcg,c_pc,c_isp,c_iao,c_pps,c_bps,c_rule_id,c_events,a.c_time
FROM
(SELECT c_pcg,c_pc,c_isp,c_iao,c_ch,c_pps,c_bps,c_time FROM dwd_wa_collector_flow_mpp WHERE c_time cast(to_char(getdate(),yyyy-mm-dd 00:00:00) as timestamp)
)a
FULL OUTER JOIN
(SELECT c_ch,c_rule_id,c_events,c_time FROM dwd_wa_collector_rule_event_mpp WHERE c_time cast(to_char(getdate(),yyyy-mm-dd 00:00:00) as timestamp)
)b
ON a.c_ch b.c_ch;
接下来构造应用域的数据表用于应用域的分析和查询示例为统计各个省采集机事件总数表
INSERT OVERWRITE TABLE ads_province_rule_event
SELECT c_ch,c_pc,c_rule_id,c_events,c_time
FROM dws_wa_union;
SELECT * FROM ads_province_rule_event;
最后通过离线同步将应用域的数据同步到交互引擎adb3.0中如下 完成后通过base的工作流任务图将各个节点串联起来点击run按钮即可触发实例运行并生成应用域数据用于后续分析和查询具体任务图如下 可以看到运行成功了之后将该任务图提交到生产环境中就可以做到每日自动生产数据用于生产分析了。 4.结果分析实施
最终产出的应用域数据一般会离线同步到交互式引擎中用于查询分析这里选择的交互式引擎是adb3.0。
a.配置数据源和数据集 数据源配置 数据集配置 可以看到我们在数据集里面配置了维表和事实表的关联。 b.生成仪表板图
基于配置的数据集通过简单的配置便可以得出各个省每日的采集机事件总和线图各运营商每日采集机字节速率平均值看板。 客户可以通过仪表板的数据分析采集机网络流量情况以上就是离线链路总体实施情况。
实时链路实施
本例中实时链路主要满足的应用域客户场景如下
每日实时采集机事件总和统计
区别于离线链路实时链路重点满足客户对于信息处理分析的高时效性和可操作性的要求例如客户就想看分钟级别的数据波动和数据大盘变化方便及时做出决策此时就需要实时计算来满足需求实时计算链路大致如下图所示 实时计算数据构造实时计算数据量相对离线计算要小一些在本例中就不做复杂的数据建模了。
datahub实时数据生成 由于是实时链路本文采用组内ase工具来持续生产实时数据传入datahub并让flink订阅datahub的数据进行实时计算ase会自动创建一个datahub的topic(ase_dr_datahub_topic01)用于传输数据。如下图所示ase_dr_datahub_topic01在持续的接收实时数据。 接下来需要再创建一个topic(ase_dr_datahub_topic02)用于接收flink处理后的数据。datahub实时数据订阅 datahub的topic(ase_dr_datahub_topic01)建好并接收数据后需要创建订阅来让其他应用实时获取datahub的数据。
实时计算实施接收到实时数据后flink需要实时对数据进行计算处理具体实施步骤如下创建flink作业 进入realtime compute flink产品新建实时计算作业。 实时计算 通过flink对源数据进行计算处理本例主要是完成数据清洗操作相关代码如下
create TEMPORARY TABLE datahub_source (
c_ch BIGINT COMMENT 采集机,
c_rule_id BIGINT COMMENT 规则id,
c_events BIGINT COMMENT 事件数,
c_time BIGINT COMMENT 时间
) with (
connector datahub,
endpoint https://datahub.xxxx.com,
project ase_datahub_pj_61232508463140,
topic ase_dr_datahub_topic01,
accessId xxxx,
accessKey xxxx,
subId xxxx
);
CREATE TEMPORARY TABLE datahub_des (
c_ch BIGINT COMMENT 采集机,
c_rule_id BIGINT COMMENT 规则id,
c_events BIGINT COMMENT 事件数,
c_time BIGINT COMMENT 时间
)
with (
connector datahub,
endpoint https://datahub.xxxx.com,
project ase_datahub_pj_61232508463140,
topic ase_dr_datahub_topic02,
accessId xxxx,
accessKey xxxx
);
insert into odps_des
select * from datahub_source
where c_ch ! 0
and c_events 0;
接下来在ase_dr_datahub_topic02中创建同步任务将实时计算的结果数据同步到ADB3.0中。 看到对应的交互引擎ADB3.0相应的表中存在数据即说明同步成功。
3.结果分析实施
实时计算链路采用datav进行实时大屏展示和分析进入datav产品界面。
添加数据源 输入基本信息后完成数据源的添加和数据集的创建。 数据源添加 数据集创建创建并配置应用大屏分析器 通过创建和配置应用大屏分析器可以绑定实时数据源并配置大屏展现内容和形式。 切换到普通大屏模式观察计算结果的实时变化 在分析模式下完成数据源和展示内容配置后切换到普通大屏模式进行展示配置并设置实时刷新间隔。 接下来切换到预览模式下就可以看到结果实时变化了调试没问题后点击发布即可。以上就是大数据在线和离线两条最通用的计算链路在实际客户场景下具体应用落地。
原文链接
本文为阿里云原创内容未经允许不得转载。