业务数据模拟/采集
2.2 业务数据模拟
2.2 .1 连接MySQL
通过MySQL可视化客户端连接数据库。2.2 .2 建表语句
1 )通过SQLyog创建数据库2 )设置数据库名称为gmall,编码为utf- 8 ,排序规则为utf8_general_ci3 )导入数据库结构脚本(gmall. sql)注意:完成后,要记得右键,刷新一下对象浏览器,就可以看见数据库中的表了。
2.2 .3 生成业务数据
1 )在hadoop102的/ opt/ module/ 目录下创建db_log文件夹
[ atguigu@hadoop102 module] $ mkdir db_log/
2 )把gmall2020- mock- db- 2021 - 11 - 14 . jar和application. properties上传到hadoop102的/ opt/ module/ db_log路径上。
3 )根据需求修改application. properties相关配置
logging. level. root= infospring. datasource. driver- class - name= com. mysql. jdbc. Driver
spring. datasource. url= jdbc: mysql: / / hadoop102: 3306 / gmall? useUnicode= true & characterEncoding= utf- 8 & useSSL= false & serverTimezone= GMT % 2B8
spring. datasource. username= root
spring. datasource. password= 000000 logging. pattern. console= % m% nmybatis- plus. global- config. db- config. field- strategy= not_null#业务日期
mock. date= 2020 - 06 - 14
#是否重置 注意:第一次执行必须设置为1 ,后续不需要重置不用设置为1
mock. clear= 1
#是否重置用户 注意:第一次执行必须设置为1 ,后续不需要重置不用设置为1
mock. clear. user= 1 #生成新用户数量
mock. user. count= 100
#男性比例
mock. user. male- rate= 20
#用户数据变化概率
mock. user. update- rate: 20 #收藏取消比例
mock. favor. cancel- rate= 10
#收藏数量
mock. favor. count= 100 #每个用户添加购物车的概率
mock. cart. user- rate= 50
#每次每个用户最多添加多少种商品进购物车
mock. cart. max- sku- count= 8
#每个商品最多买几个
mock. cart. max- sku- num= 3 #购物车来源 用户查询,商品推广,智能推荐, 促销活动
mock. cart. source- type- rate= 60 : 20 : 10 : 10 #用户下单比例
mock. order. user- rate= 50
#用户从购物中购买商品比例
mock. order. sku- rate= 50
#是否参加活动
mock. order. join- activity= 1
#是否使用购物券
mock. order. use- coupon= 1
#购物券领取人数
mock. coupon. user- count= 100 #支付比例
mock. payment. rate= 70
#支付方式 支付宝:微信 :银联
mock. payment. payment- type= 30 : 60 : 10 #评价比例 好:中:差:自动
mock. comment. appraise- rate= 30 : 10 : 10 : 50 #退款原因比例:质量问题 商品描述与实际描述不一致 缺货 号码不合适 拍错 不想买了 其他
mock. refund. reason- rate= 30 : 10 : 20 : 5 : 15 : 5 : 5
4 )并在该目录下执行,如下命令,生成2020 - 06 - 14 日期数据:
[ atguigu@hadoop102 db_log] $ java - jar gmall2020- mock- db- 2021 - 11 - 14 . jar
5 )查看gmall数据库,观察是否有2020 - 06 - 14 的数据出现
2.2 .4 业务数据建模
可借助EZDML 这款数据库设计工具,来辅助我们梳理复杂的业务表关系。
1 )下载地址
http : / / www. ezdml. com/ download_cn. html
2 )使用说明
(1 )新建模型(2 )命名模型(3 )点击图标,选中模型(4 )导入数据库(5 )配置数据库连接(6 )选择导入的表(标注红点的表不需要导入)(7 )建立表关系
第一步:点击选中主表(主键所在的表)第二步:点击连接按钮第三步:点击从表,配置连接条件第四步:效果展示3 )使用技巧
(1 )缩略图(2 )热键
按住shift键,用鼠标点击表,进行多选,可实现批量移动
按住ctrl键,用鼠标圈选表,也可进行多选,实现批量移第3 章 业务数据采
第3 章 业务数据采集模块
3.1 采集通道3.2 采集工具3.3 采集通道Maxwell配置
1 )修改Maxwell配置文件config. properties
[ atguigu@hadoop102 maxwell] $ vim / opt/ module/ maxwell/ config. properties
2 )配置参数如下
log_level= infoproducer= kafka
kafka. bootstrap. servers= hadoop102: 9092 , hadoop103 : 9092 #kafka topic配置
kafka_topic= topic_db# mysql login info
host= hadoop102
user= maxwell
password= maxwell
jdbc_options= useSSL= false & serverTimezone= Asia/ Shanghai
3 )重新启动Maxwell
[ atguigu@hadoop102 bin] $ mxw. sh restart
4 )通道测试
(1 )启动Zookeeper以及Kafka集群
(2 )启动一个Kafka Console Consumer,消费topic_db数据
[ atguigu@hadoop103 kafka] $ bin/ kafka- console- consumer. sh -- bootstrap- server hadoop102: 9092 -- topic topic_db
(3 )生成模拟数据
[ atguigu@hadoop102 bin] $ cd / opt/ module/ db_log/
[ atguigu@hadoop102 db_log] $ java - jar gmall2020- mock- db- 2021 - 11 - 14 . jar
(4 )观察Kafka消费者是否能消费到数据
{ "database" : "gmall" , "table" : "cart_info" , "type" : "update" , "ts" : 1592270938 , "xid" : 13090 , "xoffset" : 1573 , "data" : { "id" : 100924 , "user_id" : "93" , "sku_id" : 16 , "cart_price" : 4488.00 , "sku_num" : 1 , "img_url" : "http://47.93.148.192:8080/group1/M00/00/02/rBHu8l-sklaALrngAAHGDqdpFtU741.jpg" , "sku_name" : "华为 HUAWEI P40 麒麟990 5G SoC芯片 5000万超感知徕卡三摄 30倍数字变焦 8GB+128GB亮黑色全网通5G手机" , "is_checked" : null , "create_time" : "2020-06-14 09:28:57" , "operate_time" : null , "is_ordered" : 1 , "order_time" : "2021-10-17 09:28:58" , "source_type" : "2401" , "source_id" : null } , "old" : { "is_ordered" : 0 , "order_time" : null } }