- 博客(277)
- 收藏
- 关注
原创 服务器CPU高定位代码方式
CPU高如何定位代码top命令查看进程id,假设看到的进程id是75191 top -p 75191 -H (83828代表进程id,-H 代表线程模式) 第一个线程75259从十进制转换为16进制为0x125fb jstack 75259 | grep 125fb -A 100ps:线程问题基本围绕jstack命令展开来源于同事的分享...
2021-12-17 14:30:53
160
转载 Flink-cdc 2.1
CDC (Change Data Capture) 是一种用于捕捉数据库变更数据的技术,Flink 从 1.11 版本开始原生支持 CDC 数据(changelog)的处理,目前已经是非常成熟的变更数据处理方案。link CDC Connectors 是 Flink 的一组 Source 连接器,是 Flink CDC 的核心组件,这些连接器负责从 MySQL、PostgreSQL、Oracle、MongoDB 等数据库读取存量历史数据和增量变更数据。Flink CDC Connectors 是
2021-11-18 11:00:18
901
转载 pycharm 插件
大家好,我是一行之前一行分享过Python好用的几种编辑器IDLE,测试Python有没有下载成功jupyter notebook & spyder, 用来做数据分析pycharm,python开发的大杀器vscode,txt等等,小众猿群使用那在用pycharm这个python开发大杀器的同时,一行也来分享几个它很好用的插件,来给你的搬砖提提速1staticsstaitcs可以作为KPI摸鱼好助手120w次下载的这个插件,可以直接统计代码的具体情况对工程里的每
2021-11-10 17:45:10
1133
原创 大数据架构了解迭代
一、首先介绍几种常见的架构批流一体架构面临的挑战传统架构数据仓库的架构随着业务分析实时化的需求也在不断演进,但在数据分析平台的最初起步阶段,为了满足实时分析需求,传统方案的做法一般都会将实时分析和历史批量数据分析拆分成2种不同的独立架构,形成如下图片所示的异构环境:在这样完全不同的独立异构环境下,不管是从部署架构层面,还是从数据存储介质层面都可以说是完全不一致的,这就使得在技术实现上面临比较大的挑战。分别维护实时分析与离线分析两套不同架构的服务,对于系统运行的稳定性,后续应用升级,故障处
2021-11-09 17:17:35
2189
原创 vagrant+virtualbox安装centos
一、下载安装vagrant 01 访问Vagrant官网 https://www.vagrantup.com/ 02 点击Download Windows,MacOS,Linux等 03 选择对应的版本 04 傻瓜式安装 05 命令行输入vagrant,测试是否安装成功 二、下载安装virtualbox 01 访问VirtualBox官网 https://www.virtualbox.org/ 02 选择左侧的“Downloads” 03 选择对应的操作系统.
2021-09-28 15:15:17
375
原创 Hivesql 一维表转为二维表
一个表里的两个字端,一个机型,一个周,要展示成每周的top10 机型,用一个SQL实现原始数据显示:jx 周 销量 iphone ww1 11 iphone ww1 22 iphone ww2 34 huawei ww1 21 huawei ww1 1 huawei ww2 33 然后我们需要做些处理,展示成如下select jx,sum(case when week=2021..
2021-09-16 21:30:31
733
1
原创 架构的理解
前言:在这个知识分享的爆炸时代,鉴于java生态的完整和繁荣,各种框架、中间件和工具包供我们使用。连新培训出来的人都知道ssm,微服务、集群、多线程、队列、高并发等技术,技术的间隔性正变得越来越小,仿佛我们只需要按部就班的去使用别人说的框架等技术就可以解决问题.如果刨除redis、rabbitmq、kafka、dubbo、springcloud这些具体的技术框架,你有没有静下心来真正思考过架构是什么呢?这些框架是究竟是扮演怎么样的角色?如果让你给架构下一个定义,你会选择如何去描述架构呢?背景: 从当时流行
2021-09-14 15:40:46
405
原创 数据湖使用分享
1 引入背景:目前我们实时接入binlog,用的是kudu,但kudu对大事务支持不好,关键成本比较高,大数据加胜同学建议尝试数据湖,从而开始了数据湖的探索。后续与培殿同学一直配合跟进数据湖,发掘出数据湖更多功能,用于生产。2 数据湖基本概念本质来讲,数据湖是一个关于存储的设计模式2.1 数据湖基础概念snapshotsnapshot是iceberg比较重要的概念。Iceberg 基于MVCC(Multi-Version Concurrency Control)设计,每次commit..
2021-09-14 15:12:30
756
原创 什么是数据湖
什么是数据湖?数据湖是一个集中式存储库,允许以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析 – 从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。关于数据湖的定义确实是一个业界有较多争议的地方。狭义的数据湖指的是数据湖存储,即可以存放海量数据(各种格式)的地方,包括 Hadoop 的文件系统 HDFS 或者云上的对象存储系统 S3 都属于这个范畴。广义的数据湖除了数据湖存储,还包括数据湖的管理和分析,即提供一整
2021-09-14 15:01:39
4020
转载 指标体系搭建
指标体系搭建一个好的数据指标体系可以助力业务快速的解构业务、理解业务、发现业务问题,快速定位原因,并且找到最合适的解决方案。因此学习搭建一个好的数据指标体系是数据助力业务决策的灵魂。本文会从四个方向来进行相对应的展开和论述:首先我们来看下,为什么需要一个好的数据指标体系,好的数据指标体系和大家日常看见的这些数据指标到底有什么区别?然后看下,到底什么是一个好的数据指标体系,它的基准是什么?在有了目标和基准之后,我们会聊聊如何进行一个好的数据指标体系的建设;最后,会做一个简单的回顾,以及未来工作的延展。
2021-09-09 21:50:29
635
转载 数仓建设及数据治理
数仓为什么要分层? 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。 通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。
2021-08-31 13:24:15
711
转载 Linux 状态查看
1、核心命令linux 监控网络IO、磁盘、CPU、内存:CPU:vmstat 、sar –u、top磁盘IO:iostat –xd、sar –d、top网络IO:iftop -n、ifstat、dstat –nt、sar -n DEV 2 3磁盘容量:df –h内存使用:free –m、top2、常用命令(1)内存:条数、每条大小、内存是DDR4还是DDR3、内存频率是2666MT/S还是1600MT/s条数: dmidecode|grep -A5 'Memory Device'|.
2021-08-30 07:03:38
1918
转载 Group by后使用rollup
一、如何理解group by后带rollup子句所产生的效果group by后带rollup子句的功能可以理解为:先按一定的规则产生多种分组,然后按各种分组统计数据(至于统计出的数据是求和还是最大值还是平均值等这就取决于SELECT后的聚合函数)。因此要搞懂group by后带rollup子句的用法主要是搞懂它是如何按一定的规则产生多种分组的。另group by后带rollup子句所返回的结果集,可以理解为各个分组所产生的结果集的并集且没有去掉重复数据。下面举例说明:1、对比没有带rollup的go
2021-08-26 17:10:43
6032
转载 剖析数据倾斜
数据倾斜问题剖析数据倾斜是分布式系统不可避免的问题,任何分布式系统都有几率发生数据倾斜,但有些小伙伴在平时工作中感知不是很明显。这里要注意本篇文章的标题—“千亿级数据”,为什么说千亿级,因为如果一个任务的数据量只有几百万,它即使发生了数据倾斜,所有数据都跑到一台机器去执行,对于几百万的数据量,一台机器执行起来还是毫无压力的,这时数据倾斜对我们感知不大,只有数据达到一个量级时,一台机器应付不了这么多数据,这时如果发生数据倾斜,最后就很难算出结果。所以就需要我们对数据倾斜的问题进行优化,尽量避免或减轻数
2021-08-18 14:19:13
268
转载 Flink 1.12的CDC
基于Flink构建流批一体的实时数仓是目前数据仓库领域比较火的实践方案。随着Flink的不断迭代,其提供的一系列技术特性使得用户构建流批一体的应用变得越来越方便。本文将以Flink1.12为例,一一介绍这些特性的基本使用方式,主要包括以下内容: Flink集成Hive Hive Catalog与Hive Dialect Flink读写Hive Flink upsert-kafka连接器 Flink CDC的connector 尖叫提示:本文内容
2021-08-18 13:59:33
1639
转载 Flink on yarn日志收集
背景在 Flink on yarn 的模式下,程序运行的日志会分散的存储在不同的 DN 上,当 Flink 任务发生异常的时候,我们需要查看日志来定位问题,一般我们会选择通过 Flink UI 上面的 logs 来查看日志,或者登录到对应的服务器上去查看,但是在任务日志量非常大的情况下,生成的日志文件就非常多,这对于我们排查问题来说,就造成了很大的不便,所以,我们需要有一种统一的日志收集,检索,展示的方案来帮忙我们快速的分析日志,定位问题.那么我们很容易就能想到 ELK 分布式日志收集解决方案 EL
2021-08-18 13:55:50
2055
1
原创 Hive SQL常用的函数记录
日期函数获取当前日期是第几周:from_unixtime(unix_timestamp('20210909','yyyyMMdd'), 'ww');下面这种方式获取周,会少了一周:weekofyear(from_unixtime(unix_timestamp(cast('20210809' as string),'yyyyMMdd'),'yyyy-MM-dd')) ;日期范围当前月的第一天到最后一天:and a.day >=date_format(DATE_SUB(FROM_UNIXTI
2021-08-09 10:35:09
886
转载 Docker 和 Kubernetes了解一下
1.Docker1.什么是 DockerDocker 是一个开源的应用容器引擎,是一种资源虚拟化技术,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。虚拟化技术演历路径可分为三个时代: 物理机时代,多个应用程序可能跑在一台物理机器上 虚拟机时代,一台物理机器启动多个虚拟机实例,一个虚拟机跑多个应用程序 容器化时代,一台物理机上启动多个容器实例,一个容器跑多个应用程序 在没有 Docker 的时代,我们会使用硬件虚拟化(
2021-07-28 22:42:00
414
转载 HashMap的工作原理
1、HashMap 在 JAVA 中的怎么工作的?基于 Hash 的原理。2、什么是哈希?最简单形式的 hash,是一种在对任何变量 / 对象的属性应用任何公式 / 算法后, 为其分配唯一代码的方法。一个真正的 hash 方法必须遵循下面的原则:“哈希函数每次在相同或相等的对象上应用哈希函数时, 应每次返回相同的哈希码。换句话说, 两个相等的对象必须一致地生成相同的哈希码。Java 中所有的对象都有 Hash 方法,Java 中的所有对象都继承Object...
2021-07-28 22:30:44
489
转载 voliate
voliate的两个特性:cacheline、伪共享。他为了保证唯一其实损耗了性能,为此做具体说明Java虚拟机规范试图定义一种Java内存模型(JMM),来屏蔽掉各种硬件和操作系统的内存访问差异,让Java程序在各种平台上都能达到一致的内存访问效果。简单来说,由于CPU执行指令的速度是很快的,但是内存访问的速度就慢了很多,相差的不是一个数量级,所以搞处理器的那群大佬们又在CPU里加了好几层高速缓存。 在Java内存模型里,对上述的优化又进行了一波抽象。JMM规定所有变量都是存在主存中的,类似于上面提到
2021-07-14 20:36:39
1483
转载 ubuntu截图工具flameshot
FLAMESHOT简介有如下盛名linux系统里面最好用的截屏工具 支持图形化截图 支持命令行截图v0.6.0及之后的版本就已经支持了插入字体的功能,但是需要去github上下载才可以使用执行命令安装sudo apt install flameshot配置快捷键打开设置 选择device 选择键盘 配置快捷键 点击加号 然后command输入下面命令 name随便填写即可flameshot gui命令行运行## 1 开启捕捉界面fla
2021-07-06 12:48:45
314
原创 学无止境啊,身体是革命本钱
1Spark Thrift Server 介绍Spark Thrift Server 是Apache Spark社区基于HiveServer2实现的一个Thrift服务,旨在无缝兼容HiveServer2。它通过JDBC接口将Spark SQL的能力以纯SQL的方式提供给终端用户。这种“开箱即用”的模式可以最大化地降低用户使用Spark的障碍和成本。我们先从传统的 Spark 作业提交方式入手,谈谈 Spark Thrift Server 具备的优势。1.1 传统作业方式在没有 Spark Thri
2021-06-26 09:16:09
174
转载 OceanBase使用的Paxos协议和Raft的理解
前段时间相信都被阿里的OceanBase数据库刷屏了,它击败世界头号数据库厂商Oracle,登顶全球第一。先不看新闻内容,光是看标题就足以让人耳目一新了。又是“击败”,又是“第一”,又是“打破世界纪录”。即使是IT行业的门外汉,相信也会对这个消息感到振奋。但是你知道其底层其实使用的Paxos协议吗?如果你不知道也没关系,这篇文章主要就是让你理解Paxos协议到底是个什么东西?一、从分布式理论说起我们知道分布式架构中有一个基础的CAP理论,也就是我们的系统最多只能满足数据一致性(Consistency
2021-06-09 10:47:39
979
1
转载 bitmap灵活存储思维
数据仓库的数据统计,可以归纳为三类:增量类、累计类、留存类。而累计类又分为历史至今的累计与最近一段时间内的累计(比如滚动月活跃天,滚动周活跃天,最近 N 天消费情况等),借助 bitmap 思想统计的模型表可以快速统计最近一段时间内的累计类与留存类。一、背景数据仓库的数据统计,可以归纳为三类:增量类、累计类、留存类。而累计类又分为历史至今的累计与最近一段时间内的累计(比如滚动月活跃天,滚动周活跃天,最近 N 天消费情况等),借助 bitmap 思想统计的模型表可以快速统计最近一段时间内的累计类与.
2021-06-03 14:17:27
523
原创 Druid的SQL查询时间处理
druid的SQL查询中时间的格式化格式化为天__time为druid中存储时间的字段TIME_FORMAT(__time,'Y-MM-dd')格式化为周其实为格式化为周的第一天TIME_FORMAT(DATE_TRUNC('week',__time),'Y-MM-dd')格式化为月其实为格式化为月的第一天TIME_FORMAT(DATE_TRUNC('month',__time),'Y-MM-dd')格式化为小时TIME_FORMAT(__time.
2021-05-27 15:53:19
2814
转载 Flink + Iceberg 数据湖探索与实践
01 数据仓库平台建设的痛点痛点一:我们凌晨一些大的离线任务经常会因为一些原因出现延迟,这种延迟会导致核心报表的产出时间不稳定,有些时候会产出比较早,但是有时候就可能会产出比较晚,业务很难接受。为什么会出现这种现象的发生呢?目前来看大致有这么几点要素:任务本身要请求的数据量会特别大。通常来说一天原始的数据量可能在几十TB。几百个分区,甚至上千个分区,五万+的文件数这样子。如果说全量读取这些文件的话,几百个分区就会向 NameNode 发送几百次请求,我们知道离线任务在凌晨运行的时候,Na
2021-05-26 21:32:58
532
转载 数据湖的了解认识
数据湖概述数据湖这一概念,最早是在2011年由CITO Research网站的CTO和作家Dan Woods首次提出。其比喻是:如果我们把数据比作大自然的水,那么各个江川河流的水未经加工,源源不断地汇聚到数据湖中。业界便对数据湖一直有着广泛而不同的理解和定义。“数据湖是一个集中化存储海量的、多个来源,多种类型数据,并可以对数据进行快速加工,分析的平台,本质上是一套先进的企业数据架构。”"数据湖"的核心价值在于为企业提供了数据平台化运营机制。随着DT时代的到来,企业急需变革,需要利用信息化、数字化
2021-05-17 21:19:36
867
转载 Flink的watermark理解
摘要对于Flink来说,Watermark是个很难绕过去的概念。本文将从整体的思路上来说,运用感性直觉的思考来帮大家梳理Watermark概念。1 问题关于Watermark,很容易产生几个问题Flink 流处理应用中,常见的处理需求/应对方案是什么? Watermark究竟应该翻译成水印还是水位线? Watermark本质是什么? Watermark是如何解决问题?下面我们就来简要解答这些问题以给大家一个大致概念,在后文中,会再深入描述。问题1. Flink 流处理应用中常见的
2021-05-17 20:36:39
731
原创 Ubuntu安装中文输入法
sudo apt-get update若你的Ubuntu是英文版的,请按以下步骤安装中文输入法:第一步:打开设置在这里插入图片描述第二步:添加汉语,配置相关选项在这里插入图片描述在这里插入图片描述此时重启后,你会发现界面都变成了中文:在这里插入图片描述第三步,安装搜狗输入法在Ubuntu的浏览器中访问如下网址:https://pinyin.sogou.com/linux/ 1选择适合自己系统的搜狗输入法版本,如下图:在这里插入图片描述可以选择打开:...
2021-05-07 19:51:07
164
原创 基于Mysql的Flink-cdc
flink-cdc解析要想深入学习,先去哥的GitHub上去下载源码:https://github.com/BaronND/flink-cdc-connectors起源背景数据库的更改对于客户端来说是没有感知的,你需要开启线程去查询,才知道数据有没有更新,但是就算是查询,如果是直接select * from ....,这样获取的结果还要和上次获取的结果对比,才知道数据有没有发生变化,耗时大。要想实时监控mysql数据,要用到mysqlbinlog日志处理流程,binlog里保存了mysql的DD.
2021-04-16 11:45:20
2537
原创 yarn application日志查看
Yarn application 日志查看方式一:正在运行任务,可以在任务启动后或者在yarn application UI页面找到applicationId,然后在服务器上查看:yarn logs -applicationId ***方式二:已完成任务点击applicationId进去查看log方式三:在yarn-site.xml配置文件里查看log的位置,然后可以直接在浏览器上看log详情Flink任务日志查看方式一:任务启动后直接在linux上看打印出...
2021-04-12 13:36:55
9258
原创 Flink的反压机制
Flink 流处理为什么需要⽹络流控? Flink V1.5 版之前⽹络流控介绍 Flink V1.5 版之前的反压策略存在的问题 Credit的反压策略实现原理,Credit是如何解决 Flink 1.5 之前的问题? Flink 如何在吞吐量和延迟做权衡? Flink 反压相关 Metrics 介绍 基于 Flink 的流控机制和反压如何定位 Flink 任务的瓶颈。或者说,如果⼀个平时正常的 Flink 任务突然出现延迟了,怎么来定位问题?到底是 Kafka 读取数据慢,还是中间某
2021-04-08 18:01:23
714
原创 时间复杂度分析-大O表示法
开篇词 | 从今天起,跨过“数据结构与算法”这道坎你好,我是王争,毕业于西安交通大学计算机专业。现在回想起来,本科毕业的时候,我的编程水平其实是很差的。直到读研究生的时候,一个师兄给了我一本《算法导论》,说你可以看看,对你的编程会很有帮助。没想到,从此我对算法的“迷恋”便一发不可收拾。之后,我如饥似渴地把图书馆里几乎所有数据结构和算法书籍都读了一遍。我常常边读边练。没多久,我就发现,写代码的时候,我会不由自主考虑很多性能方面的问题。我写出时间复杂度高、空间复杂度高的垃圾代码越来越少了,算法能力提
2021-04-07 18:10:49
2668
原创 Linux找回删除文件
注意:root账户操作第一步:创建文件,删除文件第二步:另启一个Xshell,打开刚刚被删除文件所在分区命令 df /root/第三步:debugfs修复3.1、打开debugs3.2、执行命令open /dev/mapper/vg_root-lv_root(第二步结果) 查看目录分区3.3、显示文件所在目录3.4、执行命令“ logdump -i <262066>”查找文件所在区块号3.5、退出 q...
2021-04-07 17:35:53
1511
3
转载 Redis和zk的分布式锁
为什么用分布式锁?在讨论这个问题之前,我们先来看一个业务场景:系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。此时系统架构如下:但是这样一来会产生一个问题:假如某个时刻,redis里面的某个商品库存为1,此时两个请求同时到来,其中一个请求执行到上图的第3步,更新数据库的库存为0,但是第4步还
2021-03-31 18:16:11
1070
原创 linux中直接修改jar包内配置文件
当有些文件上传到服务器调试的时候,为了方便修改jar包里的东西可以直接在服务器上进行修改,不需要每次都打包上传。(1)使用jar tvf jar名称 | grep 目标文件名 查询出目标文件在jar包中的目录jar tvf service-0.0.1-SNAPSHOT.jar |grep config.properties(2)使用jar xvf jar名称 目标文件名(copy上面查出的全路径) 将目标文件及所在jar包中的目录解压到当前路径jar xvf service-0.0.1-SN.
2021-03-17 09:23:18
3702
4
转载 腾讯基于Flink的优化扩展
一、背景及现状1.三种模式的分析Flink 作业目前有三种创建方式:JAR 模式、画布模式和 SQL 模式。不同的提交作业的方式针对的人群也是不一样的。■ Jar 模式Jar 模式基于 DataStream/DataSet API 开发,主要针对的是底层的开发人员。 优点: 功能灵活多变,因为它底层的 DataStream/DataSet API 是 Flink 的原生 API,你可以用它们开发任何你想要的算子功能或者 DAG 图; 性能...
2021-03-16 20:29:14
610
转载 数仓由来
从架构师角度仅讨论中大型企业的数仓架构建设。本文主要以一问一答式来展开讨论。1、为什么要建数仓?这就要从数仓能解决的问题或者痛点来说,大型公司的业务相对复杂,随着公司业务的扩大,跨BU,跨BG的业务往来越来越多,而数据一般分散在各个部门,这样需要统一的平台来存储这样的跨系统的数据。此外,近年来分库分表等应用越来越多,仅通过传统关系型数据库做数据分析和挖掘已经不能满足要求。当然随着手机APP的大量使用,埋点等数据一般都以log日志方式存在,需要一个新的介质后者方案来解析这些数据,为了解决这个问题,数仓
2021-03-16 20:19:18
514
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅