bigdatav026——EB实时数仓
BigData实时数仓
yanqi_vip
strove with none, for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
展开
-
CC00001.bdpositions——|Hadoop&实时数仓.V01|——|项目.v01|背景需求|项目背景|
一、项目背景与需求### --- 项目背景~~~ 随着互联网的发展,数据的时效性对企业的精细化运营越来越重要, 商场如战场,~~~ 在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息,~~~ 对企业的决策运营策略调整有很大帮助。~~~ 此外,随着 5G 技术的成熟、广泛应用, 对于互联网、物联网等数据时效性要求非常高的行业,~~~ ...原创 2022-04-15 14:41:00 · 109 阅读 · 0 评论 -
CC00002.bdpositions——|Hadoop&实时数仓.V02|——|项目.v02|背景需求|实时数仓转型故事|
一、实时数仓转型故事:离线数仓:二、离线数仓分层架构图:三、实时计算架构:四、数据计算架构说明~~~ # 收集层:~~~ Binlog(业务日志)、loT(物联网)、后端服务日志(系统日志)~~~ 经过日志收集团队和 DB 收集团队的处理,数据将会被收集到 Kafka 中。~~~ 这些数据不只是参与实时计算...原创 2022-04-15 14:41:00 · 124 阅读 · 0 评论 -
CC00003.bdpositions——|Hadoop&实时数仓.V03|——|项目.v03|背景需求|需求分析|
一、需求分析### --- 需求分析~~~ 日志数据:启动日志、点击日志(广告点击日志)~~~ 业务数据:用户下单、提交订单、支付、退款等核心交易数据的分析~~~ 广告流量实时统计: 生成动态黑名单~~~ 恶意刷单:一旦发现恶意刷单时进行实时告警~~~ 基于动态黑名单进行点击行为过滤 计算每隔5分钟统计最近1小时内各广告的点击量 计...原创 2022-04-15 14:42:00 · 71 阅读 · 0 评论 -
CC00004.bdpositions——|Hadoop&实时数仓.V04|——|项目.v04|背景需求|技术选型|
一、技术选型### --- 技术选型方案~~~ # 框架选型 Apache / 第三方发行版(CDH / HDP / Fusion Insight) Apache社区版本优点:~~~ 完全开源免费~~~ 社区活跃~~~ 文档、资料详实~~~ # 缺点:~~~ 复杂的版本管理~~~ 复杂的集群安装~~~ ...原创 2022-04-15 14:43:00 · 80 阅读 · 0 评论 -
CC00005.bdpositions——|Hadoop&实时数仓.V05|——|项目.v05|背景需求|业务数据库表结构|
一、业务数据库表结构### --- 业务数据库:数据源~~~ 交易订单表(yanqi_trade_orders)~~~ 订单产品表(yanqi_order_product)~~~ 产品信息表(yanqi_product_info)~~~ 产品分类表(yanqi_product_category)~~~ 商家店铺表(...原创 2022-04-15 14:43:00 · 160 阅读 · 0 评论 -
CC00006.bdpositions——|Hadoop&实时数仓.V06|——|项目.v06|Canal同步业务数据|环境准备|初始Canal|
一、Canal同步业务数据### --- 环境准备~~~ Hadoop、HBASE、Flink、ClickHouse、MySQL、Canal、Kafka### --- 初始Canal:什么是 Canal~~~ 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,~~~ 所以衍生出了杭州和美国异地机房的需求,~~~ ...原创 2022-04-15 14:44:00 · 432 阅读 · 0 评论 -
CC00007.bdpositions——|Hadoop&实时数仓.V07|——|项目.v07|Canal同步业务数据|配置MySQL的binlog|
一、配置MySQL的binlog### --- 常见的binlog命令~~~ # 是否启用binlog日志mysql> show variables like 'log_bin';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin ...原创 2022-04-15 14:44:00 · 70 阅读 · 0 评论 -
CC00008.bdpositions——|Hadoop&实时数仓.V08|——|项目.v08|Canal同步业务数据|Canal部署|
一、Canal 安装说明### --- Canal 安装说明~~~ 单机模式,也可以将Canal搭建集群模式。~~~ 如果要搭建集群模式,可将Canal目录分发给其他虚拟机,然后在各节点中分别启动Canal。~~~ 这种Zookeeper为观察者监控的模式,~~~ 只能实现高可用,而不是负载均衡,~~~ 即同一时间点只有一个cana...原创 2022-04-15 14:45:00 · 134 阅读 · 0 评论 -
CC00009.bdpositions——|Hadoop&实时数仓.V09|——|项目.v09|Canal同步业务数据|kafka客户端测试|
一、Kafka客户端测试### --- 启动相关服务~~~ # 启动zookeeper服务[root@hadoop01 ~]# ./zk.sh start~~~ # 启动kafka服务[root@hadoop01 ~]# kafka-server-start.sh -daemon /opt/yanqi/servers/kafka_2.12/config/se...原创 2022-04-15 14:45:00 · 64 阅读 · 0 评论 -
CC00010.bdpositions——|Hadoop&实时数仓.V10|——|项目.v10|ODS层处理|Lambda架构|
一、大数据数据仓库的架构:### --- 架构体系~~~ # 离线大数据架构:~~~ HDFS存储,hive、mr、spark进行离线计算的传统大数据架构;~~~ # Lambda架构:~~~ 在离线大数据架构的基础上增加新链路用于实时数据处理,需要维护离线处理和实时处理两套代码;~~~ # Kappa架构:~~~ ...原创 2022-04-15 14:45:00 · 89 阅读 · 0 评论 -
CC00011.bdpositions——|Hadoop&实时数仓.V11|——|项目.v11|ODS层处理|Kappa架构|
一、Kappa架构### --- Kappa架构~~~ 正如前面提到的,Lambda Architecture有其优点和缺点,人们也划分成支持者和反对者两派。~~~ Kappa 架构是LinkedIn的Jay Kreps结合实际经验和个人体会,~~~ 针对Lambda架构进行深度剖析,分析其优缺点并采用的替代方案。~~~ Lambda 架构的...原创 2022-04-15 14:46:00 · 68 阅读 · 0 评论 -
CC00012.bdpositions——|Hadoop&实时数仓.V12|——|项目.v12|ODS层处理|JSON日志数据格式|
一、json日志数据格式### --- 样例sql~~~ # 在mysql中插入数mysql> INSERT INTO `yanqi_trade_orders` VALUES ('2', '23a0b124546', '121', '2', '0.12', '6331.00', '2', '0', '370203', '0', '0', '0', '1', '20...原创 2022-04-15 14:46:00 · 237 阅读 · 0 评论 -
CC00013.bdpositions——|Hadoop&实时数仓.V13|——|项目.v13|ODS层处理|将kafka中的维表写入DIM层.V1|
一、创建一个maven工程:创建一个maven工程:EbProject### --- 在pom.xml下导入依赖环境 <dependencies> <dependency> <groupId>org.apache.flink</groupId> ...原创 2022-04-15 14:47:00 · 85 阅读 · 0 评论 -
CC00014.bdpositions——|Hadoop&实时数仓.V14|——|项目.v14|ODS层处理|将kafka中的维表写入DIM层.V2|
一、编程实现:样例类:将Kafka中的维度表写入DIM层### --- 编程实现样例类一:TableObjectpackage ods/** * 存放mysql log_bin日志信息的样例类 * log_bin日志经过canel转成json发给kafka * flink应用读kafka中json数据保存成TableObject样例类格式 */case class ...原创 2022-04-15 14:47:00 · 163 阅读 · 0 评论 -
CC00015.bdpositions——|Hadoop&实时数仓.V15|——|项目.v15|ODS层处理|将kafka中的维表写入DIM层.V3|
一、编程实现程序:将Kafka中的维度表写入DIM层### --- 编程实现:KafkaToHBase:将Kafka作为Source,Flink作为消费者从Kafka中获取数据package odsimport java.utilimport com.alibaba.fastjson.{JSON, JSONObject}import org.apache.flink.s...原创 2022-04-15 14:48:00 · 89 阅读 · 0 评论 -
CC00016.bdpositions——|Hadoop&实时数仓.V16|——|项目.v16|ODS层处理|将kafka中的维表写入DIM层.V4|
一、启动相关服务### --- 启动相关服务~~~ # 启动zookeeper服务[root@hadoop01 ~]# ./zk.sh start~~~ # 启动kafka服务:所有节点[root@hadoop01 ~]# kafka-server-start.sh -daemon /opt/yanqi/servers/kafka_2.12/config/s...原创 2022-04-15 14:48:00 · 220 阅读 · 0 评论 -
CC00017.bdpositions——|Hadoop&实时数仓.V17|——|项目.v17|DIM层处理|从HBash中读取地域维表数据.V1|
一、DIM层处理### --- DIM层处理~~~ 最原始的表 mysql中 yanqi_area ----> (hbase)~~~ 转化yanqi_area ---> 地区id,地区的名字,城市的id,城市的名字, 省份的id,省份的名字~~~ # --> 存入 hbase中~~~ mysql --- hbase 管道数据...原创 2022-04-15 14:49:00 · 91 阅读 · 0 评论 -
CC00018.bdpositions——|Hadoop&实时数仓.V18|——|项目.v18|DIM层处理|从HBash中读取地域维表数据.V2|
一、编程实现程序,从ods层下沉数据到dim层### --- HBaseReader:从Hbase中获取数据的类:HBaseReader:package dimimport java.util//import myutils.ConnHBaseimport org.apache.flink.configurationimport org.apache.flink.st...原创 2022-04-15 14:50:00 · 85 阅读 · 0 评论 -
CC00019.bdpositions——|Hadoop&实时数仓.V19|——|项目.v19|DIM层处理|从HBash中读取地域维表数据.V3|
一、启动相关服务### --- 启动相关服务~~~ # 启动zookeeper服务[root@hadoop01 ~]# ./zk.sh start~~~ # 启动kafka服务:所有节点[root@hadoop01 ~]# kafka-server-start.sh -daemon /opt/yanqi/servers/kafka_2.12/config/s...原创 2022-04-15 14:50:00 · 115 阅读 · 0 评论 -
CC00021.bdpositions——|Hadoop&实时数仓.V01|——|项目.v01|EbProject|创建maven工程EbProject.V1|
一、创建一个maven工程:创建一个maven工程:EbProject### --- 在pom.xml下导入依赖环境 <dependencies> <dependency> <groupId>org.apache.flink</groupId> &l...原创 2022-04-15 14:51:00 · 117 阅读 · 0 评论 -
CC00022.bdpositions——|Hadoop&实时数仓.V02|——|项目.v02|EbProject|编程工程样例类.V2|
一、编程实现:样例类### --- 编程实现样例类一:AdClickpackage modescase class AdClick(area: String, uid:String ,productId: String,timestamp:Long)### --- 编程实现样例类二:AreaInfopackage modescase class AreaInfo...原创 2022-04-15 14:51:00 · 73 阅读 · 0 评论 -
CC00023.bdpositions——|Hadoop&实时数仓.V03|——|项目.v03|EbProject|编程工程工具类.V3|
一、编程实现工具类:### --- 编程实现工具类一:ConnHBasepackage myutilsimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.hbase.{HBaseConfiguration, HConstants}import org.apache.hadoop.hbase...原创 2022-04-15 14:52:00 · 68 阅读 · 0 评论 -
CC00024.bdpositions——|Hadoop&实时数仓.V04|——|项目.v04|ODS层处理|将kafka中的维表写入DIM层.V1|
一、编程实现程序:将Kafka中的维度表写入DIM层### --- 编程实现:KafkaToHBase:将Kafka作为Source,Flink作为消费者从Kafka中获取数据package odsimport java.utilimport com.alibaba.fastjson.JSONimport modes.{AreaInfo, DataInfo, Table...原创 2022-04-15 14:52:00 · 84 阅读 · 0 评论 -
CC00025.bdpositions——|Hadoop&实时数仓.V05|——|项目.v05|ODS层处理|将kafka中的维表写入DIM层.V2|
一、启动相关服务### --- 启动相关服务~~~ # 启动zookeeper服务[root@hadoop01 ~]# ./zk.sh start~~~ # 启动kafka服务:所有节点[root@hadoop01 ~]# kafka-server-start.sh -daemon /opt/yanqi/servers/kafka_2.12/config/s...原创 2022-04-15 14:53:00 · 89 阅读 · 0 评论 -
CC00026.bdpositions——|Hadoop&实时数仓.V06|——|项目.v06|ODS层处理|将kafka中的维表写入DIM层.V3|
一、将mysql中yanqi_trade_orders表下沉到hbas中### --- 在hbash中创建表:yanqi_trade_orders~~~ # 在hbash中创建yanqi_trade_orders"表[root@hadoop02 ~]# /opt/yanqi/servers/hbase-1.3.1/bin/hbase shellhbase(main):...原创 2022-04-15 14:53:00 · 107 阅读 · 0 评论 -
CC00027.bdpositions——|Hadoop&实时数仓.V07|——|项目.v07|ODS层处理|将kafka中的维表写入DIM层.V4|
一、将mysql中yanqi_area表下沉到hbas中### --- 在hbash中创建表:yanqi_area~~~ # 在hbash中创建yanqi_area"表[root@hadoop02 ~]# /opt/yanqi/servers/hbase-1.3.1/bin/hbase shellhbase(main):056:0> create 'yanqi_...原创 2022-04-15 14:54:00 · 94 阅读 · 0 评论 -
CC00028.bdpositions——|Hadoop&实时数仓.V08|——|项目.v08|DIM层处理|从HBash中读取地域维表数据.V1|
一、DIM层处理### --- DIM层处理~~~ 最原始的表 mysql中 yanqi_area ----> (hbase)~~~ 转化yanqi_area ---> 地区id,地区的名字,城市的id,城市的名字, 省份的id,省份的名字~~~ # --> 存入 hbase中~~~ mysql --- hbase 管道数据...原创 2022-04-15 14:54:00 · 108 阅读 · 0 评论 -
CC00029.bdpositions——|Hadoop&实时数仓.V09|——|项目.v09|DIM层处理|从HBash中读取地域维表数据.V2|
一、编程实现程序,从ods层下沉数据到dim层### --- HBaseReader:从Hbase中获取数据的类:HBaseReader:从hbash:yanqi_area中读取数据package dimimport java.utilimport myutils.ConnHBaseimport org.apache.flink.configurationimport...原创 2022-04-15 14:55:00 · 84 阅读 · 0 评论 -
CC00030.bdpositions——|Hadoop&实时数仓.V10|——|项目.v10|DIM层处理|从HBash中读取地域维表数据.V3|
一、启动相关服务### --- 启动相关服务~~~ # 启动zookeeper服务[root@hadoop01 ~]# ./zk.sh start~~~ # 启动kafka服务:所有节点[root@hadoop01 ~]# kafka-server-start.sh -daemon /opt/yanqi/servers/kafka_2.12/config/s...原创 2022-04-15 14:55:00 · 95 阅读 · 0 评论 -
CC00031.bdpositions——|Hadoop&实时数仓.V11|——|项目.v11|DWD层处理|数据仓库层数据处理.V1|
一、DW层处理### --- DW层处理~~~ DW(Data Warehouse 数据仓库层)。~~~ 包含DWD、DWS、DIM层,由ODS层数据加工而成。主要完成数据加工与整合,~~~ 建立一致性的维度,~~~ 构建可复用的面向分析和统计的明细事实表,~~~ 以及汇总公共粒度的指标。~~~ DWD(Data Ware...原创 2022-04-15 14:56:00 · 135 阅读 · 0 评论 -
CC00032.bdpositions——|Hadoop&实时数仓.V12|——|项目.v12|DWD层处理|数据仓库层数据处理.V2|
一、编程实现### --- 编程实现DWD层数据处理:WindowJoinpackage dw.dwdimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironme...原创 2022-04-15 14:57:00 · 76 阅读 · 0 评论 -
CC00033.bdpositions——|Hadoop&实时数仓.V13|——|项目.v13|DWD层处理|数据仓库层数据处理.V3|
一、编程实现### --- 编程实现DWD层数据处理:CoProcessFuncpackage dw.dwdimport org.apache.flink.api.common.state.{ValueState, ValueStateDescriptor}import org.apache.flink.api.scala.typeutils.Typesimport or...原创 2022-04-15 14:57:00 · 115 阅读 · 0 评论 -
CC00034.bdpositions——|Hadoop&实时数仓.V14|——|项目.v14|DWD层处理|数据仓库层数据处理.V4|
一、编程实现DWD(AreaDetailInfo代码同样可以归属在DIM层中):参考代码### --- 编程实现dwd层数据:AreaDetailInfopackage dimimport org.apache.flink.streaming.api.{CheckpointingMode, TimeCharacteristic}import org.apache.flink...原创 2022-04-15 14:58:00 · 101 阅读 · 0 评论 -
CC00035.bdpositions——|Hadoop&实时数仓.V15|——|项目.v15|DWS层处理|数据仓库层数据处理|
一、DWS### --- 具体代码参见配套工程代码~~~ 数据仓库层次的划分不是固定不变的,~~~ 可以根据实际需求进行适当裁剪或者是添加。~~~ 如果业务相对简单和独立,可以将DWD、DWS进行合并。~~~ # 注意:在实时数仓中,DWS层数据根据自己的需求定义,后期教程会定义Walter Savage Landor:strove w...原创 2022-04-15 14:58:00 · 77 阅读 · 0 评论 -
CC00036.bdpositions——|Hadoop&实时数仓.V16|——|项目.v16|ADS层处理|读取数据明细分析结果下沉到Redis|
一、ADS层处理### --- ADS层梳理~~~ ADS(Application Data Store 应用数据层)。~~~ 基于DW数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等。### --- 从数据明细层读分析结果数据到clickhouse、redis、druid等二、编程实现### --- 编程实现样例类:CityOrde...原创 2022-04-15 14:58:00 · 284 阅读 · 0 评论 -
CC00037.bdpositions——|Hadoop&实时数仓.V17|——|项目.v17|需求一:数据处理&全量查询.V1|——|需求分析|
一、需求1 :查询城市、省份、订单总额、订单总数----全量查询### --- ODS层数层数据处理:yanqi_trade_orders~~~ ods层数据处理:同第三部分~~~ ods:mysql--(binlog) canal----kafka——>yanqi_trade_orders~~~ ods:mysql:yanqi_trade_or...原创 2022-04-15 14:59:00 · 67 阅读 · 0 评论 -
CC00038.bdpositions——|Hadoop&实时数仓.V18|——|项目.v18|需求一:数据处理&全量查询.V2|
一、编程实现第一层:ODS层数据处理:查询城市、省份、订单总额、订单总数----全量查询### --- 编程实现第一层:ODS层数据处理:查询城市、省份、订单总额、订单总数----全量查询~~~ ods层数据处理~~~ ods:同第三部分:mysql--(binlog) canal----kafka——>yanqi_trade_orders~~~ ...原创 2022-04-15 14:59:00 · 90 阅读 · 0 评论 -
CC00039.bdpositions——|Hadoop&实时数仓.V19|——|项目.v19|需求一:数据处理&全量查询.V3|
一、编程实现第二层:ODS层数据处理### --- 编程实现第二层:ODS层数据处理~~~ ODS:同第四部分 yanqi_area~~~ ODS:mysql--(binlog) canal----kafka——>yanqi_area~~~ 下沉mysql:yanqi_area表到hbash:yanqi_area表中二、编译打印...原创 2022-04-15 15:00:00 · 101 阅读 · 0 评论 -
CC00040.bdpositions——|Hadoop&实时数仓.V20|——|项目.v20|需求一:数据处理&全量查询.V4|
一、编程实现第三层:DIM层数据处理### --- 编程实现第三层:DIM层数据处理~~~ DIM:同第四部分 dim_yanqi_area表数据~~~ hbash:yanqi_area——>hbash:dim_yanqi_area ~~~ 生成hbash:yanqi_area表到hbash:dim_yanqi_area表中~~~ 在d...原创 2022-04-15 15:01:00 · 73 阅读 · 0 评论 -
CC00041.bdpositions——|Hadoop&实时数仓.V21|——|项目.v21|需求一:数据处理&全量查询.V5|
一、编程实现第四层:DWS层数据处理:统计城市、省份订单总额### --- 编程实现第四层:DWS层数据处理:统计城市、省份订单总额~~~ dws : 统计城市、省份的订单总额,~~~ 订单总额和订单总数:orderNo、userId、status、totalMoney、areaId~~~ ODS——mysql:yanqi_trade_orders ...原创 2022-04-15 15:02:00 · 105 阅读 · 0 评论