WareHouse3.0
文章平均质量分 72
Flume1.9 + Kafka2.4.1 + Sqoop1.4.7 + MySQL5.7 + Hadoop3.1.3 + Hive3.1.2 + Tez、Spark3.0.0 + Ranger2.0 + Presto + Kylin3.0 + Azkaban3.8.4 + Atlas2.0 +
SmallScorpion
Look at the world with reptiles and write code for the rest of your life;
Illuminate the stars with data and conquer the sea with technology
展开
-
电商数仓3.0 ADS层会员主题相关需求分析处理
会员信息-- ads-会员-会员信息drop table if exists ads_user_topic;create external table ads_user_topic( `dt` string COMMENT '统计日期', `day_users` string COMMENT '活跃会员数', `day_new_users` string COMMENT '新增会员数', `day_new_payment_users` string COMMENT '新原创 2020-11-23 17:53:01 · 463 阅读 · 0 评论 -
电商数仓3.0 ADS层设备主题相关需求分析处理
设备活跃数(日、周、月)增加 is_weekend 和 is_monthend 字段的意义在于将日周月三个量的计算频率保持一致,都是每天执行一次,后续如果想求完整的周活只要是 字段为 Y 就行-- 创建表drop table if exists ads_uv_count;create external table ads_uv_count( `dt` string COMMENT '统计日期', `day_count` bigint COMMENT '当日用户数量', `wk原创 2020-11-17 17:14:29 · 404 阅读 · 0 评论 -
电商数仓3.0 DWS层和DWT层数据处理之每日地区统计
创建DWS每日地区统计表drop table if exists dws_area_stats_daycount;create external table dws_area_stats_daycount( `id` bigint COMMENT '编号', `province_name` string COMMENT '省份名称', `area_code` string COMMENT '地区编码', `iso_code` string COMMENT 'iso编码',原创 2020-11-09 16:52:38 · 389 阅读 · 0 评论 -
电商数仓3.0 DWS层和DWT层数据处理之每日活动统计
创建DWS每日活动统计表drop table if exists dws_activity_info_daycount;create external table dws_activity_info_daycount( `id` string COMMENT '编号', `activity_name` string COMMENT '活动名称', `activity_type` string COMMENT '活动类型', `start_time` string C原创 2020-11-09 16:38:28 · 248 阅读 · 0 评论 -
电商数仓3.0 DWS层和DWT层数据处理之每日商品行为
创建DWS每次商品行为表drop table if exists dws_sku_action_daycount;create external table dws_sku_action_daycount ( sku_id string comment 'sku_id', order_count bigint comment '被下单次数', order_num bigint comment '被下单件数', order_amount decimal(16,2)原创 2020-11-09 16:32:47 · 710 阅读 · 0 评论 -
电商数仓3.0 DWS层和DWT层数据处理之每日会员行为
创建DWS每日会员行为表drop table if exists dws_user_action_daycount;create external table dws_user_action_daycount( user_id string comment '用户 id', login_count bigint comment '登录次数', cart_count bigint comment '加入购物车次数', order_count bigint comme原创 2020-11-09 16:26:36 · 288 阅读 · 0 评论 -
电商数仓3.0 DWS层和DWT层数据处理之每日设备行为
创建DWS层每日设备行为表每日设备行为,主要按照设备id统计。-- dws层-每日设备行为drop table if exists dws_uv_detail_daycount;create external table dws_uv_detail_daycount( `mid_id` string COMMENT '设备id', `brand` string COMMENT '手机品牌', `model` string COMMENT '原创 2020-11-06 17:35:53 · 344 阅读 · 0 评论 -
电商数仓3.0 DWD层业务数据之事实表处理
创建支付事实表(事务型)drop table if exists dwd_fact_payment_info;create external table dwd_fact_payment_info ( `id` string COMMENT 'id', `out_trade_no` string COMMENT '对外业务编号', `order_id` string COMMENT '订单编号', `user_id` string COMMENT '用户编号',原创 2020-11-04 17:59:41 · 510 阅读 · 0 评论 -
电商数仓3.0 DWD层业务数据之维度表处理
创建商品维度表(全量)商品维度表主要是将商品表SKU表、商品一级分类、商品二级分类、商品三级分类、商品品牌表和商品SPU表退化为商品表。-- dwd-业务数据-创建商品维度表(全量)DROP TABLE IF EXISTS `dwd_dim_sku_info`;CREATE EXTERNAL TABLE `dwd_dim_sku_info` ( `id` string COMMENT '商品id', `spu_id` string COMMENT 'spuid', `pric原创 2020-11-04 16:17:37 · 991 阅读 · 0 评论 -
电商数仓3.0 DWD层用户行为数据处理
启动日志格式// 一条启动日志JSON格式{ "common": { "ar": "420000", "ba": "Xiaomi", "ch": "xiaomi", "md": "Xiaomi 9", "mid": "mid_896", "os": "Android 11.0", "uid": "130", "vc": "v2.1.111" }, "start": { "entry": "notice", "loading_time": 4243, "o原创 2020-11-03 17:52:39 · 331 阅读 · 0 评论 -
电商数仓3.0 ODS层业务数据处理
建表-- 订单表(增量及更新)-- hive (gmall)>drop table if exists ods_order_info;create external table ods_order_info ( `id` string COMMENT '订单号', `final_total_amount` decimal(16,2) COMMENT '订单金额', `order_status` string COMMENT '订单状态', `user_id` s原创 2020-10-29 16:43:39 · 273 阅读 · 0 评论 -
电商数仓3.0 ODS层用户行为数据处理
创建日志表ods_log-- ODS创建日志表ods_logdrop table if exists ods_log; -- 创建表存在先删除CREATE EXTERNAL TABLE ods_log (`line` string) -- 创建外部表,字段就是jsonPARTITIONED BY (`dt` string) -- 按照时间创建分区STORED AS -- 指定存储方式,读数据采用LzoTextInputFormat; INPUTFORMAT 'com.hadoop.mapred原创 2020-10-28 16:17:41 · 212 阅读 · 0 评论 -
电商数仓3.0 数仓搭建之DataGrip连接Hive客户端
启动界面连接Hive客户端这边要进行一个配置(先不慌,我们要先启动hiveserver2)启动hiveserver2// 启动hiverserver2[scorpion@warehouse102 ~]$ hiveserver2配置连接hive客户端参数这边在进行测试连接时,可能会下载一个驱动,点击下载即可测试连接出现如图所示即可显示数据库显示控制台控制台选择数据库...原创 2020-10-27 16:44:35 · 330 阅读 · 1 评论 -
电商数仓3.0 数仓搭建之DataGrip安装
资料官网地址:https://www.jetbrains.com/datagrip/链接:https://pan.baidu.com/s/1-SguDZQM8miv-RXNWXpG7A提取码:axgeWelcome to DataGrip SetupChoose Install Location修改安装路径(next)Installation Options安装选项(next)Choose Start Menu Folder选择开始菜单的一个文件夹(next)Completin原创 2020-10-27 16:27:56 · 331 阅读 · 0 评论 -
电商数仓3.0 数仓搭建之Hive关于Yarn调度器并发度问题解决
默认队列defaultYarn默认调度器为Capacity Scheduler(容量调度器),且默认只有一个队列——default。如果队列中执行第一个任务资源不够,就不会再执行第二个任务,一直等到第一个任务执行完毕。解决办法一:增加ApplicationMaster资源比例,进而提高运行app数量。解决办法二:创建多队列,比如增加一个hive队列。// 由于未指定队列,初始化的 spark session 默认占用 defaul 队列,且会一直占用该队列,直到 hive 客户端退出hive (d原创 2020-10-27 11:58:49 · 419 阅读 · 0 评论 -
电商数仓3.0 数仓搭建之Hive on Spark 配置
资料Spark官网jar下载:http://spark.apache.org/downloads.html链接:https://pan.baidu.com/s/17Wu0-T_mwfKtckaqJP8yVg提取码:rn60兼容问题官网下载的Hive3.1.2和Spark3.0.0默认是不兼容的。因为Hive3.1.2支持的Spark版本是2.4.5,所以需要我们重新编译Hive3.1.2版本。解压// 解压[scorpion@warehouse102 09_Spark]$ tar -zxvf原创 2020-10-26 17:46:26 · 679 阅读 · 0 评论 -
电商数仓3.0 业务数据模块之Hive安装
资料参考博客:https://blog.csdn.net/qq_40180229/article/details/104858967链接:https://pan.baidu.com/s/1V554UcEuawYl9J7VQmEqMA提取码:506m原创 2020-10-26 15:56:28 · 153 阅读 · 1 评论 -
电商数仓3.0 业务数据导入到HDFS
同步策略全量:base_dic(编码字典表)、base_trademark(品牌表)、base_category3(商品三级分类表)、base_category2(商品二级分类表)、base_category1(商品一级分类表)、activity_info(活动表)、activity_shu(活动参与商品表)、activity_rule(优惠规则表)、coupon_indo(优惠券表)、sku_info(SKU商品表)、spu_info(SPU商品表)、cart_info(加购表原创 2020-10-23 17:35:45 · 235 阅读 · 0 评论 -
电商数仓3.0 同步策略
为什么会有同步策略1. 基于大数据环境下的数据,若将数据从DB中导入到HDFS中。每天导入的方式都是将一张表数据中所有数据都全部导入都HDFS(全量导入),如订单表16号、17号、18号。。。的数据都会导入到HDFS中会造成这么一种情况,HDSF中17号分区的数据存储着16号和17号的数据,18号分区中会存储16号、17号和18号的数据。。如下所示:由此可以看出,每天全量导入后,保存当天最新的分区即可,前面分区数据可以删除掉,若是数据量过大,将会造成任务变慢,且单个分区数据量会越来越大2. 为了改变原创 2020-10-23 15:34:46 · 450 阅读 · 0 评论 -
电商数仓3.0 业务数据模块之Sqoop安装
资料参考博客:https://blog.csdn.net/qq_40180229/article/details/104843630链接:https://pan.baidu.com/s/1dmr6cUe4fo6IcXH_9X1oNw提取码:7w1b修改配置文件// 在/opt/module/sqoop-1.4.7/conf 目录下,重命名配置文件[scorpion@warehouse102 conf]$ mv sqoop-env-template.sh sqoop-env.sh// 修改配置原创 2020-10-22 10:38:57 · 108 阅读 · 0 评论 -
电商数仓3.0 EZDML业务数据建模
下载地址采用EZDML这款数据库设计工具进行数据建模:http://www.ezdml.com/download_cn.html新建模型导入数据库配置连接导入数据库表建立表关系选中主表(主键所在表)点 “连接” 按钮点击从表,配置连接条件效果展示缩略图...原创 2020-10-21 16:55:38 · 406 阅读 · 0 评论 -
电商数仓3.0 业务数据生成
资料链接:https://pan.baidu.com/s/19TqiPAfDwaMYGjtbbNW-Sw提取码:niuo创建数据库导入数据库结构脚本生成业务数据// 在 /opt/module/ 目录下创建dblog文件夹[scorpion@warehouse102 module]$ mkdir dblog// 把gmall2020-mock-db-2020-04-01.jar和application.properties上传到warehouse102的/opt/module/dbl原创 2020-10-21 16:23:46 · 264 阅读 · 0 评论 -
电商数仓3.0 业务数据模块之MySQL安装
资料参考博客:https://blog.csdn.net/qq_40180229/article/details/108755530链接:https://pan.baidu.com/s/1LoAqJ3HjEK6gFOTmzXdiSA提取码:kvbd删除原有MySQL[scorpion@warehouse102 07_mysql]$ rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps[scorpion@wareh原创 2020-10-21 15:49:11 · 145 阅读 · 0 评论 -
电商数仓3.0 数据采集模块之消费Kafka数据Flume安装
资料文档查看地址:http://flume.apache.org/FlumeUserGuide.htmlFlume官网地址:http://flume.apache.org/下载地址:http://archive.apache.org/dist/flume/参考博客:https://blog.csdn.net/qq_40180229/article/details/104523248链接:https://pan.baidu.com/s/1EWOiiNWyIWTYjxYfBfZplw提取码:3hti原创 2020-10-21 11:09:53 · 215 阅读 · 1 评论 -
电商数仓3.0 数据采集模块之采集日志Flume安装
资料文档查看地址:http://flume.apache.org/FlumeUserGuide.htmlFlume官网地址:http://flume.apache.org/下载地址:http://archive.apache.org/dist/flume/参考博客:https://blog.csdn.net/qq_40180229/article/details/104523248链接:https://pan.baidu.com/s/1EWOiiNWyIWTYjxYfBfZplw提取码:3hti原创 2020-10-20 12:21:41 · 197 阅读 · 0 评论 -
电商数仓3.0 Kafka压力测试
Kafka Producer压力测试// record-size是一条信息有多大,单位是字节。// num-records是总共发送多少条信息。// throughput 是每秒多少条信息,设成-1,表示不限流,可测出生产者最大吞吐量。[scorpion@warehouse102 kafka_2.11-2.4.1]$ bin/kafka-producer-perf-test.sh --topic test --record-size 100 --num-records 100000 --throu原创 2020-10-20 10:41:04 · 225 阅读 · 0 评论 -
电商数仓3.0 数据采集模块之Kafka安装
资料参考博客:https://blog.csdn.net/qq_40180229/article/details/104573927链接:https://pan.baidu.com/s/1PBwcTWnobItD-Y-GI0_65A提取码:z4uj集群规划创建logs文件夹在/opt/module/kafka_2.11-2.4.1目录下创建logs文件夹[scorpion@warehouse102 kafka_2.11-2.4.1]$ mkdir logs修改配置文件[scorpio原创 2020-10-19 17:28:46 · 181 阅读 · 0 评论 -
电商数仓3.0 数据采集模块之Zookeeper安装
资料参考博客:https://blog.csdn.net/qq_40180229/article/details/104532276链接:https://pan.baidu.com/s/1OFddSr2SK0mI0T4m60hAng提取码:cok6解压分发后配置服务器编号// 在/opt/module/zookeeper-3.5.7/这个目录下创建zkData[scorpion@warehouse102 zookeeper-3.5.7]$ mkdir zkData// 在/opt/modul原创 2020-10-19 11:03:06 · 115 阅读 · 0 评论 -
电商数仓3.0 LZO压缩配置
资料lzo.jar链接:https://pan.baidu.com/s/13PtZPMvmRLXn243hS1X-pQ提取码:v6t6放置Jar包固定位置将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-3.1.3/share/hadoop/common/[scorpion@warehouse102 02_hadoop]$ mv hadoop-lzo-0.4.20.jar /opt/module/hadoop-3.1.3/share/hadoop/common/cor原创 2020-10-16 16:49:49 · 202 阅读 · 0 评论 -
电商数仓3.0 集群数据均衡
服务器间的数据均衡集群有多台服务器组成,每台服务器是集群中的一个节点,节点间所存储数据的均衡处理开启数据均衡命令# 10 代表集群中各个节点的磁盘空间利用路不超过10%start-balancer.sh -threshold 10停止数据均衡命令# HDFS需要启动单独的Rebalance Server来执行Rebalance操作# 尽量不要在NameNode上执行start-balancer.sh,而是找一台比较空闲的机器。stop-balancer.sh磁盘间数据均衡一原创 2020-10-16 15:21:37 · 168 阅读 · 2 评论 -
电商数仓3.0 数据采集模块之Hadoop安装
集群所有进程查看脚本在/home/scorpion/bin目录下创建脚本xcall[scorpion@warehouse102 bin]$ vim xcall#! /bin/bash#集群所有进程查看脚本for i in warehouse102 warehouse103 warehouse104do echo --------- $i ---------- ssh $i "$*"done[scorpion@warehouse102 bin]$ chmod 777 xca原创 2020-10-15 16:53:29 · 131 阅读 · 0 评论 -
电商数仓3.0 模拟数据
资料链接:https://pan.baidu.com/s/1jFtwR5omjN6bszAPt_kqDQ提取码:dwak用户行为数据生成将application.properties、gmall2020-mock-log-2020-04-01.jar、path2.json上传到 warehouse102 的/opt/module/applog目录下[scorpion@warehouse102 ~]$ cd /opt/module/[scorpion@warehouse102 module]$原创 2020-10-15 12:11:22 · 662 阅读 · 0 评论 -
电商数仓3.0 项目架构
技术选型技术选型主要考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算数据采集传输:Flume、Kafka、Sqoop、Logstash、DataX数据存储:MySQL、HDFS、HBase、Redis、MongoDB数据计算:Hive,Tez, Spark, Flink,Storm数据查询:Presto,Kylin ,Impala,Druid数据可视化:Echarts、Superset、QuickBI、DataV任务调度:Azk原创 2020-09-30 15:18:55 · 323 阅读 · 0 评论 -
电商数仓3.0 服务器准备
虚拟机准备warehouse102,warehouse103,warehouse104windows本地映射配置虚拟机映射[root@warehouse102 ~]# vim /etc/hosts[root@warehouse103 ~]# vim /etc/hosts[root@warehouse104 ~]# vim /etc/hosts192.168.43.142 warehouse102192.168.43.143 warehouse103192.168.43.144 ware原创 2020-09-28 17:26:33 · 363 阅读 · 0 评论