DataHub 简介

DataHub 类似于传统大数据解决方案中 Kafka 的角色,提供了一个数据队列功能。
DataHub 除了供了一个缓冲的队列作用。同时由于 DataHub 提供了各种与其他阿里云
上下游产品的对接功能,所以 DataHub 又扮演了一个数据的分发枢纽工作。

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别

DataHub 输入组件包括
Flume:主流的开源日志采集框架
DTS:类似 Canal,日志实时监控采集框架
Logstash:也是日志采集框架,通常和 Elasticsearch、Kibana 集合使用
Fluentd:Fluentd 是一个实时开源的数据收集器
OGG:实时监控 Oracle 中数据变化
Java Sdk:支持 JavaAPI 方式访问
DataHub 输出组件包括
RDS:类似与传统 MySQL 数据库
AnalyticDB:面向分析型的分布式数据库
MaxCompute:离线分析框架
Elasticsearch:数据分析,倒排索引
StreamCompute:实时分析框架
TableSotre:类似于 Redis,KV 形式存储数据
OSS:类似于 HDFS,存储图片、视频
创建 DataHub 及 Project
阿里云 DataHub 控制台入口:https://datahub.console.aliyun.com/datahub




kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_02


 

kafka 和 db的区别 datahub和kafka_链路_03

相当于安装了 kafka   等待 DTS 同步数据

kafka 和 db的区别 datahub和kafka_数据_04

 

同步业务数据

进行同步

kafka 和 db的区别 datahub和kafka_数据传输_05

DTS 同步数据
数据传输服务(Data Transmission Service) DTS 支持关系型数据库、NoSQL、大数据
(OLAP)等数据源间的数据传输。它是一种集数据迁移、数据订阅及数据实时同步于一体的
数据传输服务。数据传输致力于在公共云、混合云场景下,解决远距离、毫秒级异步数据传
输难题。它底层的数据流基础设施为阿里双 11 异地多活基础架构,为数千下游应用提供实
时数据流,已在线上稳定运行 5 年之久。您可以使用数据传输轻松构建安全、可扩展、高可
用的数据架构

业务流程 

kafka 和 db的区别 datahub和kafka_链路_06

 

同步事实表到 DataHub

DTS 购买主页

https://www.aliyun.com/product/dts?spm=5176.12825654.eofdhaal5.66.54212c4aM9dufx

kafka 和 db的区别 datahub和kafka_数据_07

 

kafka 和 db的区别 datahub和kafka_链路_08

选择 同步链路   micro  相对便宜 

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_09

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_10

kafka 和 db的区别 datahub和kafka_链路_11

点击同步实例 1  

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_12

这样就拥有了 个  dts 但是还不可用 需要进行配置 

kafka 和 db的区别 datahub和kafka_数据_13

 配置同步链路

kafka 和 db的区别 datahub和kafka_链路_14

点击左侧需要选择的表 

同步初始化中

kafka 和 db的区别 datahub和kafka_数据传输_15

等待同步初始化完毕  在 datahub 中 查看主题

kafka 和 db的区别 datahub和kafka_链路_16

kafka 和 db的区别 datahub和kafka_数据_17

生成主题数据

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_18

CALL init_data('2019-10-09',100,30,false)

kafka 和 db的区别 datahub和kafka_数据传输_19

创建维度表 数据库

kafka 和 db的区别 datahub和kafka_数据_20

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_21

kafka 和 db的区别 datahub和kafka_数据_22

kafka 和 db的区别 datahub和kafka_链路_23

kafka 和 db的区别 datahub和kafka_链路_24

kafka 和 db的区别 datahub和kafka_数据传输_25

配置同步链路

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_26

选择同步对象

kafka 和 db的区别 datahub和kafka_数据_27

预检查



kafka 和 db的区别 datahub和kafka_数据_28


 



kafka 和 db的区别 datahub和kafka_数据传输_29


去 SQLyog 中检查


等待一段时间(大约 5 分钟)以后,观察 gmall_dim 数据库中数据

kafka 和 db的区别 datahub和kafka_kafka 和 db的区别_30


建立视图


在维表库中建立省份和地区视图

kafka 和 db的区别 datahub和kafka_数据_31


 


CREATE VIEW `dim_province` AS 
SELECT
 `bp`.`id` AS `province_id`,
 `bp`.`name` AS `province_name`,
 `br`.`id` AS `region_id`,
 `br`.`region_name` AS `region_name`,
 `bp`.`area_code` AS `area_code`
FROM `base_region` `br` JOIN `base_province` `bp` ON `br`.`id` 
= `bp`.`region_id`

在维表库中建立商品和商品分类视图



kafka 和 db的区别 datahub和kafka_数据_32


CREATE VIEW `dim_sku_info` AS 
SELECT
 `si`.`id` AS `id`,
 `si`.`sku_name` AS `sku_name`,
 `si`.`category3_id` AS `c3_id`,
 `si`.`weight` AS `weight`,
 `si`.`tm_id` AS `tm_id`,
 `si`.`price` AS `price`,
 `si`.`spu_id` AS `spu_id`,
 `c3`.`name` AS `c3_name`,
 `c2`.`id` AS `c2_id`,
 `c2`.`name` AS `c2_name`,
 `c3`.`id` AS `c1_id`,
 `c3`.`name` AS `c1_name`
FROM 
(
 `sku_info` `si` JOIN `base_category3` `c3` ON 
`si`.`category3_id` = `c3`.`id`
 JOIN `base_category2` `c2` ON `c3`.`category2_id` = 
`c2`.`id`
 JOIN `base_category1` `c1` ON `c2`.`category1_id` = 
`c1`.`id`
)