自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 问答 (1)
  • 收藏
  • 关注

原创 数据仓库系列2-数据仓库建模介绍

文章目录一.建模理论1.1 ER实体模型1.2 维度建模1.2.1 事实表1.2.2 维度表1.3 Data Vault模型1.4 Anchor二. 四种基本建模方法对比三. 维度建模技术基本概念3.1 收集业务需求与数据实现3.2 协作维度建模研讨3.3 4 步骤维度设计过程3.4 业务过程3.5 粒度3.6 描述环境的维度3.7 用于度量的事实3.8 星型模式与 OLAP 多维数据库3.9 方便地扩展到维度模型参考:一.建模理论1.1 ER实体模型在信息系统中,将事务抽象为“实体”(Entity

2021-11-30 09:29:33 2020

原创 数据仓库系列1-数据仓库介绍

文章目录一. 数据仓库定义二. 操作型系统和分析型系统三. 数据仓库的用途参考:一. 数据仓库定义数据仓库(Data Warehouse,简称DW)是面向主题的、集成的、稳定的、反映历史变化的数据集合。面向主题主题是业务数据特点的一种抽象表达,一般从主题名称字面意思即可大致了解主题下数据的业务意义。常见主题如客户主题,其下实体有客户基本信息、客户资产信息等等。集成包括数据的集成及编码规则的集成。数据仓库中的数据通常来自于各不同源业务应用系统,在入数据仓库时,这些数据可能被集成。另外,由

2021-11-29 16:52:06 1449

原创 MySQL一次大表迁移的优化

文章目录一.问题描述二. 解决方案2.1 调整索引2.2 调整参数2.3 重新导入数据2.4 重建索引2.5 恢复mysql配置文件一.问题描述  今天一个做Java开发的哥们向我咨询了一个问题。  他想把一个300多万条数据数据的表迁移到本地测试环境,他处理的方案是 先通过mysqldump命令将该表做一个备份,然后传输到测试环境,最后执行备份文件。  理想很丰满,现实很骨感,300多万的数据不大,备份下来也就2.5GB左右的sql文件,可是在测试环境居然执行了12个小时才执行了一半,无奈只能终止

2021-11-26 21:54:43 1048

原创 MySQL从整库备份中恢复单表

备注:MySQL 5.7.31文章目录一.问题描述二. 解决方案2.1 从整库备份中找到单表的备份文件2.1.1 直接通过sed命令处理2.1.2 切分后通过grep来查找2.2 恢复到一个新表2.3 还原到源环境参考:一.问题描述之前帮朋友搭建的MySQL数据库,说是有个表的数据被误删除了,现在需要进行恢复。二. 解决方案还好我之前给他安装MySQL数据库的时候,特意做了备份,每天凌晨都会把整库进行备份。2.1 从整库备份中找到单表的备份文件2.1.1 直接通过sed命令处理在网上找到了

2021-11-26 17:55:58 1454

原创 Kafka系列5-Kafka 常见面试题

文章目录一. 常见面试题1.1 Kafka 中的 ISR(InSyncRepli)、 OSR(OutSyncRepli)、 AR(AllRepli)代表什么?1.2 Kafka 中的 HW、 LEO 等分别代表什么?1.3 Kafka 中是怎么体现消息顺序性的?1.4 Kafka 中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?1.5 Kafka 生产者客户端的整体结构是什么样子的?使用了几个线程来处理?分别是什么?1.6 消费组中的消费者个数如果超过 topic 的分区,那么就会有消费者消

2021-11-25 15:41:24 665

原创 Kafka系列4-Kafka API

文章目录一. Producer API1.2 异步发送普通生产者1.2 异步发送带回调函数的生产者1.3 生产者分区策略测试二. API消费者2.1 简单消费者2.2 消费者重置offset2.3 消费者保存offset读取问题2.4 消费者手动提交offset2.5 数据漏消费和重复消费分析2.6 自定义存储offset三. 自定义拦截器参考:一. Producer API消息发送流程  Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——ma

2021-11-24 10:16:00 1245

原创 Kafka系列3-Kafka架构

文章目录一. 工作流程二. 文件存储三. 生产者分区策略四. 生产者ISR4.1 副本数据同步策略4.1.1 半数follower同步完成即发送ack4.1.2 全部follower同步完成完成发送ack4.1.3 kafka的选择4.2 ISR(同步副本集)五. 生产者ack机制六. 数据一致性问题七. ExactlyOnce八. Kafka消费者分区分配策略8.1. 分区分配策略8.2. 消费者offset的存储九. 高效读写&Zookeeper作用9.1 高效读写9.2 zookeeper作用

2021-11-24 10:06:27 384

原创 MySQL测试数据准备

一. 7亿数据的测试表MySQL 测试数据准备:-- 建表语句CREATE TABLE fact_sale ( id bigint(8) NOT NULL AUTO_INCREMENT, sale_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, prod_name varchar(50) DEFAULT NULL, sale_nums int(11) DEFAULT NULL,

2021-11-23 15:23:24 1212

原创 Kafka系列2-Kafka QUICKSTART

文章目录一. 安装和启动Kafka1.1 Kafka的配置文件二. 创建一个主题来存储事件2.1 创建主题2.2 查看当前事件描述2.3 删除主题三. 在主题中加入一些事件四. 读事件六. 用kafka connect导入/导出你的数据作为事件流七. 用kafka流处理你的事件参考:一. 安装和启动Kafka我本地机器已经安装CDH 6.3.1版本,此处省略安装和启动Kafka的步骤。Kafka版本:2.2.1ps -ef|grep '/libs/kafka.\{2,40\}.jar'1.1 K

2021-11-23 09:21:07 315

原创 Kafka系列1-Kafka介绍

文章目录一.官网Kafka介绍1.1 什么是事件流?1.2 我可以使用事件流做什么?1.3 Apache Kafka®是一个事件流平台。这是什么意思?1.4 简而言之,Kafka是如何工作的?1.5 主要概念和术语二.Kafka简介2.1 Kafka消费模式2.2 Kafka的基础架构参考:一.官网Kafka介绍1.1 什么是事件流?事件流是相当于人体中枢神经系统的数字系统。它是“永远在线”世界的技术基础,在这个世界里,企业越来越多地由软件定义和自动化,软件的用户也更多地是软件。从技术上讲,事件流是

2021-11-23 09:16:04 510

原创 Superset系列10-仪表盘布局

文章目录一. 布局调整二. 自动刷新参考:一. 布局调整调整 2 × 2 格式1)Dashboards / 数据可视化2)点击编辑按钮3)使用行列组件预先布局4)拖动图表到指定坑位5)最终结果二. 自动刷新1)点击配置按钮根据实际需求去调整,如果是离线数仓,可以调整12小时根据实际需求去调整,如果是实时数仓,可以调整10秒钟参考:https://blog.csdn.net/weixin_45417821/article/details/119920554...

2021-11-22 08:55:46 611

原创 Superset系列9- 制作地图

文章目录一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择地址1.3 配置如下1.4 命名并保存到仪表盘参考:一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择地址1.3 配置如下1.4 命名并保存到仪表盘参考:https://blog.csdn.net/weixin_45417821/article/details/119919345...

2021-11-22 08:54:15 1109

原创 Superset系列8- 制作饼图

文章目录一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择饼图1.3 配置如下1.4 命名并保存到仪表盘参考:一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择饼图1.3 配置如下1.4 命名并保存到仪表盘参考:https://blog.csdn.net/weixin_45417821/article/details/119919345...

2021-11-19 09:04:21 792

原创 Superset系列7- 制作柱状图

文章目录一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择柱状图1.3 配置如下1.4 命名并保存到仪表盘1.5 如果觉得布局不OK,可以自定义设置参考:一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择柱状图1.3 配置如下1.4 命名并保存到仪表盘1.5 如果觉得布局不OK,可以自定义设置参考:https://blog.csdn.net/weixin_45417821/article/deta

2021-11-19 09:02:59 1382 2

原创 Superset系列6-制作折线图

文章目录一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择折线图1.3 图表说明二.查看仪表盘一. 创建图表1.1 点击 Charts/+CHART1.2 选择数据源及图表类型,这里选择折线图1.3 图表说明1. TimeTimeColumn 代表所选数据源里面的时间列Time GRAIN 时间的粒度 年、季度、月、周、日等Time Range 时间的范围2. Query度量和汇总方式group by选择分组的列

2021-11-18 09:58:19 2419 1

原创 Superset系列5-制作仪表盘

文章目录一. 创建空白仪表盘二. 创建图表2.1 点击 Charts/+CHART2.2 选择数据源及图表类型,这里选择折线图2.3 图表说明三.查看仪表盘参考:一. 创建空白仪表盘点击 Dashboards/+DASHBOARDS命名并保存二. 创建图表2.1 点击 Charts/+CHART2.2 选择数据源及图表类型,这里选择折线图2.3 图表说明1. TimeTimeColumn 代表所选数据源里面的时间列Time GRAIN 时间的粒度 年、季度、月

2021-11-18 09:55:54 708

原创 Superset系列4-连接MySQL数据库

文章目录一.安装依赖二. 重启 Superset三. 数据源配置1.1 Database配置1.2 table配置参考:一.安装依赖官网是pip 安装,这边是conda 安装,原因是现在是用conda 做python 环境,如果用pip安装的话,可能会发生兼容性问题,为了保守不出现问题,这边用的是conda 环境。conda activate supersetconda install mysqlclient二. 重启 Supersetcd /home/miniconda3sh super

2021-11-17 09:59:59 2970

原创 Superset系列3-测试数据准备

环境:MySQL 8.0文章目录一. 准备维表数据1.1 时间维度1.2 产品维度1.3 地区维度二.通过维度表及随机数生成测试数据参考:一. 准备维表数据1.1 时间维度create or replace view dim_date aswith recursive dt(date_in,n) as( select '2020-01-01' as date_in, 1 as n union all select adddate(date_in,1), n+1 from dt wher

2021-11-17 09:57:13 425

原创 MySQL 5.6忘记root密码

一. 修改配置文件首先找到mysql的配置文件,如: /etc/my.cnf在[mysqld]字段下新增如下内容,然后保存退出。skip-grant-tables然后重启mysql服务service mysqld restart二. 修改root密码使用空密码登陆mysql mysql -uroot -p -- 不输入密码直接回车 USE mysql; UPDATE user SET Password = password('YourPassword') where user =

2021-11-16 16:34:12 1557

原创 Flink案例系列2-提交到yarn集群报错java.lang.NoClassDefFoundError FlinkKafkaConsumer

文章目录一.问题描述二.解决方案2.1 代码的问题?2.2 maven依赖的问题2.3 手工上传jar包2.3.1 上传FlinkKafkaConsumer相关的jar包2.3.2 上传FlinkKafkaConsumerBase相关的jar包一.问题描述环境介绍:CDH 6.3.1集群Flink版本 1.9.0Kafka版本 2.12本地运行无问题,提交到yarn集群报错代码:package org.example;/* @author 只是甲 * @date 2021-

2021-11-16 12:09:28 3912

原创 Flink案例系列1-本地运行Flink报错java.lang.NoClassDefFoundError

文章目录一.问题描述二.解决方案一.问题描述环境介绍Flink版本 1.9.0Kafka版本 2.12代码:package org.example;/* @author 只是甲 * @date 2021-08-30 * @remark Flink Souce之Kafka */import org.apache.flink.api.common.serialization.SimpleStringSchema;import org.apache.flink.strea

2021-11-16 12:07:54 2892

原创 Superset系列2-CentOS7安装Superset

文章目录一. 安装miniconda31.1 下载及安装miniconda31.2 加载环境变量二. 创建 Python3.7 环境三. 安装Superset四. Superset 启动五.superset 启停脚本5.1 脚本内容5.2 加执行权限5.3 测试参考:一. 安装miniconda3Superset安装需要Python 3.7及以上版本,而CentOS自带的是Python 2.7版本, yum需要使用Python 2.7,所以需要同时安装Python 3版本和Python 2版本。此时可以

2021-11-16 10:36:00 1206

原创 Superset系列1-Superset简介

文章目录一. Superset 概述二. 架构介绍2.1 后端2.2 前端2.3 局限性参考:一. Superset 概述  Superset是Airbnb开源BI数据分析与可视化平台(曾用名Caravel、Panoramix),该工具主要特点是可自助分析、自定义仪表盘、分析结果可视化(导出)、用户/角色权限控制,还集成了一个SQL编辑器,可以进行SQL编辑查询等,原来是用于支持Druid的可视化分析,后面发展为支持很多种关系数据库及大数据计算框架,如:mysql, oracle, Postgres,

2021-11-16 10:27:35 2410

原创 Flink项目系列6-订单支付实时监控

文章目录一.项目概述1.1 订单支付实时监控1.2 订单支付实时对账二. 代码2.1 pom文件配置2.2 POJO类2.3 订单支付超时监控-CEP2.4 订单支付超时监控-Without CEP2.5 支付账单核对2.6 账单核对-使用join参考:一.项目概述1.1 订单支付实时监控基本需求用户下单之后,应设置订单失效时间,以提高用户支付的意愿,并降 低系统风险用户下单后15分钟未支付,则输出监控信息解决思路利用 CEP 库进行事件流的模式匹配,并设定匹配的时间间隔也可以利用状态

2021-11-15 09:24:46 2258

原创 Flink项目系列5-恶意登录监控

文章目录一.项目概述二.代码2.1 pom文件配置2.2 POJO类2.3 恶意登陆监控 - KeyedProcessFunction2.4 恶意登陆监控 - CEP参考:一.项目概述基本需求用户在短时间内频繁登录失败,有程序恶意攻击的可能同一用户(可以是不同IP)在2秒内连续两次登录失败,需要报警解决思路将用户的登录失败行为存入 ListState,设定定时器2秒后触发,查看 ListState 中有几次失败登录更加精确的检测,可以使用 CEP 库实现事件流的模式匹配二.代码

2021-11-15 09:11:56 1471

原创 Flink项目系列4-市场营销商业指标统计分析

文章目录一. 项目概述二.代码2.1 pom文件配置2.2 POJO类2.3 自定义测试数据源2.4 分渠道统计2.5 不分渠道(总量)统计2.6 黑名单过滤参考:一. 项目概述  随着智能手机的普及,在如今的电商网站中已经有越来越多的用户来自移动端, 相比起传统浏览器的登录方式 ,手机 APP 成为了更多用户访问电商网站的首选 。对 于电商企业来说 ,一般会通过各种不同的渠道对自己的 APP 进行市场推广,而这些 渠道的统计数据(比如,不同网站上广告链接的点击量、 APP 下载量)就成了市场 营销的重

2021-11-12 15:05:51 1626

原创 Flink项目系列3-实时流量统计

文章目录一.项目概述1.1 模块创建和数据准备1.2 基于服务器 log 的热门页面浏览量统计二.pom文件配置三.代码3.1 POJO类3.2 热门页面3.3 页面访问量3.4 页面独立访问量3.5 布隆过滤器实现独立访问量参考:一.项目概述1.1 模块创建和数据准备  新建一个NetworkFlowAnalysis的package。  将 apache 服务器的日志文件 apache.log 复制到资源文件目录 src/main/resources下,我们将从这里读取数据。  当然, 我们

2021-11-12 14:55:24 2334

原创 Flink项目系列2-实时热门商品统计

文章目录一. 项目剖析二.pom文件配置三.代码3.1 POJO类3.2 热门商品-纯Java代码2.3 热门商品-Table API和Flink SQL实现2.4 将文件写入kafka参考:一. 项目剖析基本需求:统计近1小时内的热门商品,每5分钟更新一次热门度用浏览次数(“pv”)来衡量解决思路在所有用户行为数据中,过滤出浏览(“pv”)行为进行统计构建滑动窗口,窗口长度为1小时,滑动距离为5分钟按照商品Id进行分区设置时间窗口时间窗口(timeWindow)区间为左闭右开同

2021-11-11 11:14:18 1724 1

原创 Flink项目系列1-项目介绍

文章目录一. 电商的用户行为二. 项目主要模块三. 数据源解析四. 项目模块设计4.1 数据源解析4.2 项目模块参考:一. 电商的用户行为  电商平台中的用户行为频繁且较复杂,系统上线运行一段时间后,可以收集到大量的用户行为数据, 进而利用大数据技术进行深入挖掘和分析, 得到感兴趣的商 业指标并增强对风险的控制。  电商用户行为数据多样,整体可以分为用户行为习惯数据和业务行为数据两大类。用户的行为习惯数据包括了用户的登录方式、上线的时间点及时长、点击和浏 览页面、页面停留时间以及页面跳转等等, 我们

2021-11-11 10:51:40 1067

原创 Flink基础系列35-Flink CDC简介

文章目录一. Flink CDC介绍二.Flink CDC 实操2.1 MySQL配置2.2 pom文件2.3 Java代码2.4 测试结果参考:一. Flink CDC介绍  Flink在1.11版本中新增了CDC的特性,简称 改变数据捕获。名称来看有点乱,我们先从之前的数据架构来看CDC的内容。  以上是之前的mysql binlog日志处理流程,例如canal监听binlog把日志写入到kafka中。而Apache Flink实时消费Kakfa的数据实现mysql数据的同步或其他内容等。拆分来说

2021-11-10 09:43:49 997

原创 Flink基础系列34-Flink CEP简介

文章目录一.什么是CEP二.CEP特点三. Pattern API3.1 个体模式(Individual Patterns)3.2 组合模式(Combining Patterns)3.3 模式组3.3.1 模式的检测3.3.2 匹配事件提取3.3.3 超时事件提取参考:一.什么是CEP复杂事件处理(Complex Event Processing,CEP)Flink CEP是在Flink中实现的复杂事件处理(CEP)库CEP允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中重要的

2021-11-08 11:32:22 309

原创 Flink基础系列33-Table API和Flink SQL之函数

文章目录一. 函数1.1 系统内置函数1.2 UDF1.2.1 注册用户自定义函数 UDF1.2.2 标量函数(Scalar Functions)1.2.3 表函数(Table Functions)1.2.4 聚合函数(Aggregate Functions)1.2.5 表聚合函数(Table Aggregate Functions)二.案例2.1 Scalar Function2.2 Table Function2.3 Aggregate Function参考:一. 函数  Flink Table

2021-11-08 11:24:45 1369

原创 Flink基础系列32-Table API和Flink SQL之窗口

文章目录一.窗口1.1 分组窗口(Group Windows)1.1.1 滚动窗口1.1.2 滑动窗口1.1.3 会话窗口1.2 Over Windows1.3 SQL 中窗口的定义1.3.1 Group Windows1.3.2 Over Windows二.案例参考:一.窗口  时间语义,要配合窗口操作才能发挥作用。最主要的用途,当然就是开窗口、根据时间 段做计算了。下面我们就来看看 Table API 和 SQL 中,怎么利用时间字段做窗口操作。  在 Table API 和 SQL 中,主要有两

2021-11-05 09:07:15 494

原创 Flink基础系列31-Table API和Flink SQL之流处理中的特殊概念

文章目录一. 流处理中的特殊概念1.1 流处理和关系代数(表,及 SQL)的区别1.2 动态表(Dynamic Tables)1.3 流式持续查询的过程1.3.1 将流转换成表(Table)1.3.2 持续查询(Continuous Query)1.3.3 将动态表转换成流1.4 时间特性1.4.1 处理时间(Processing Time)1.4.1.1 DataStream 转化成 Table 时指定1.4.1.2 定义Table Schema时指定1.4.1.3 创建表的 DDL 中指定1.4.2 事

2021-11-05 08:59:31 519

原创 Flink基础系列30-Table API和Flink SQL之API调用

文章目录一.基本程序结构二.创建表环境三.在 Catalog 中注册表3.1 表(Table)的概念3.2 连接到文件系统(Csv 格式)3.3 连接到 Kafka四. 表的查询4.1 Table API 的调用4.2 SQL 查询五. 将DataStream 转换成表5.1 代码表达5.2 数据类型与 Table schema 的对应六. 创建临时视图(Temporary View)七. 输出表7.1 输出到文件7.2 更新模式(Update Mode)7.3 输出到 Kafka7.4 输出到 Elast

2021-11-04 09:26:52 604

原创 Flink基础系列29-Table API和Flink SQL之整体介绍

文章目录一.整体概述1.1 什么是 Table API 和 Flink SQL1.2 需要引入的pom依赖1.3 两种 planner(old & blink)的区别二.Table API和Flink SQL 测试样例参考:一.整体概述1.1 什么是 Table API 和 Flink SQL  Flink本身是批流统一的处理框架,所以Table API和 SQL,就是批流统一的上层处理 API。目前 功能尚未完善 ,处于活跃的开发阶段。  Table API是一套内嵌在 一套内嵌在 一套内

2021-11-04 08:57:53 271

原创 Flink基础系列28-Flink容错机制

文章目录一. 一致性检查点(checkpoint)二. 从检查点恢复状态三. Flink检查点算法四. 保存点(Savepoints)五.检查点和重启策略配置六. 状态一致性6.1 概述6.2 分类6.3 一致性检查点(Checkpoints)七. Flink+Kafka 端到端状态一致性的保证参考:一. 一致性检查点(checkpoint)Flink 故障恢复机制的核心,就是应用状态的一致性检查点有状态流应用的一致检查点,其实就是所有任务的状态,在某个时间点的一份拷贝(一份快照);1)这

2021-11-03 08:58:36 456

原创 Flink基础系列27-ProcessFunction API(底层API)

文章目录概述:一. KeyedProcessFunction二. TimerService和定时器(Timers)三. 侧输出流(SideOutput)四. CoProcessFunction参考:概述:我们之前学习的转换算子是无法访问事件的时间戳信息和水位线信息的。而这在一些应用场景下,极为重要。例如MapFunction这样的map转换算子就无法访问时间戳或者当前事件的事件时间。基于此,DataStream API提供了一系列的Low-Level转换算子。可以访问时间戳、watermark以及注册

2021-11-03 08:46:47 230

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除