
机会终于来了
文章平均质量分 56
留歌留歌
只要最后那个人是你,晚一点也没关系
展开
-
一次数据库扩容导致FlinkCDC作业挂掉引发的思考
查看yarn日志发现报下面的错org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrategy谷歌了一下 发现说是 导致数据源不太稳定 导致的,同时建议把开启自动重启功能,这里我看了下线上的代码,发现重启策略配置的是 失败不重启,本以为很离谱,但是后来问了才发现说 原来任务是1.5版本起的,在没有完全全量阶段的数据的ck之前,重启会锁表,导致业务出现问题,所以这里配置的不重启,原创 2022-03-01 18:09:18 · 2805 阅读 · 0 评论 -
Hive生产最jia实践
原始数据 新增数据 如何做增量full join (不支持map join)改写为未变化的数据(left join 子表为空) union all 新增以及变化的数据 (即子表)原创 2022-02-25 11:16:24 · 842 阅读 · 0 评论 -
DataX 浅入浅出
DataX定位:是一个异构数据源之间的离线同步工具架构:采用Framework + Plugin架构构建,将数据源读取和写入抽象成为Reader/Writer插件核心模块:DataX完成单个数据同步的作业,我们称之为Job,DataX接受到一个Job之后,将启动一个进程来完成整个作业同步过程。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。DataX Job启动后,会根据不同的源端切分策略,将Jo原创 2022-02-21 18:55:28 · 891 阅读 · 0 评论 -
Sqoop 浅入浅出
Sqoop一个在Hadoop和关系型数据库之间高效传输数据的工具最新稳定版1.4.7(Sqoop2不建议生产使用)已经从Apache毕业本质其实只是一个命令行工具生产中基本都是 在拼接Sqoop命令完成数据的导入导出底层工作机制:导入导出 在底层实际被翻译为MapReduce程序来实现,主要是对MR的 InputFormat 和 OutputFormat 进行定制学习前提:linux常用命令 RDBMS基操 Hadoop用途和基操安装Sqoop后续的jar包都放在lib目录即可一、sq原创 2022-02-21 18:34:50 · 923 阅读 · 0 评论 -
MySQL
mysql存储引擎:不同的数据组织形式innodb.frm存放表结构或者元数据.ibd存放表数据和表索引索引文件和数据文件是放在一起的有事务默认支持行锁锁一般是锁数据,但是innodb是锁的索引如果没有索引,也只能是表锁支持外键undolog可以保证事务的原子性,innodb还可以用undolog保证多版本并发控制mvccmyisam.myd 存放表数据.myi 存放表索引.frm 存放表结构等没有事务默认支持表锁不支持外键不同引擎意味着 不同文件的组织形式原创 2022-02-21 03:27:21 · 598 阅读 · 0 评论 -
垃圾回收GC
gc什么是垃圾:没有引用的对象就是垃圾c和c ➕➕ 不需要你自己清理垃圾tlab 线程本地缓存 不用和其他线程竞争怎么去定位垃圾?1.根可达算法(解决对象循环引用的问题问题:哪些常见的类是根?一般是初始化加载的对象。推荐 《jvm虚拟机规范》2.对象引用次数统计:python就是用的refrence count 。但是不足之处是:无法解决循环应用的问题。内存分为三类:存活对象块未使用块可回收块gc回收算法(声明:各个算法没有优劣之分)1.标记清除???? mark sw原创 2022-02-21 03:24:58 · 531 阅读 · 0 评论 -
HashMap Redis MySQL 到 分布式 HBase
hashmap redis mysql 分布式 hbase️问题引入:1w个元素数组链表线性表 1.数据有序二分查找才是最快的,o logn2.数据无顺序只能从头到尾 ,此时时间复杂度o(n)3.或者跳跃表或者红黑树????️核心:分治思想如果使用数组为长度为4的,每个下面是一个2500长度的链表接着对每一个元素进行hash,1.每个元素得到一个hash值,2.用hash值对4进行取余那么就把这个元素放到指定位置下后面在查找某一元素的时候就先对查找元素进行hash,然后得原创 2022-02-21 03:18:09 · 229 阅读 · 0 评论 -
从网络到分布式 从单机到微服务
第一大部分:计算机网络+TCP/IP -=======================================osi七层参考模型 tcpip五层模型 分层解耦 各干各的 提供好标准应用层 传输层 网络层 链路层 物理层tcpdump 网络抓包软件tcpdump -nn -i enp0s3 port 80curl www.baidu.com就会打印三次握手 发送数据 打印数据 四次分手 四个过程提示:一个连接可以看成是一个文件描述符????------------------原创 2022-02-21 03:08:27 · 346 阅读 · 0 评论 -
记录一次生产Hive表数据恢复过程
写在前面有一张离线同步用到的表 源表新增了一个字段,所以对应的ods的表也要相应改变。这张 表比较特殊,源表数据后端自己维护,只会保留最近几天的数据,对于历史数据是按天分区存放在ods的,所以对于历史数据的查询只能到数仓才行。目前ods的历史数据累计大于3亿多条。公司一个小伙伴在做的时候,一开始不清楚这一点,然后直接把源表给干掉了,源表其实还是使用的外部表,他也直接把HDFS上的文件直接给删除了,然后重建了新的表。然后重新同步了数据,任务也能成功,但就是历史数据也没啦,呜呜呜~~这里其实有一个点:如原创 2022-02-17 10:24:42 · 1282 阅读 · 0 评论 -
MySQL ON DUPLICATE KEY UPDATE (插入更新) 产生的ID增长过快问题
CREATE TABLE `test_duplicate_key` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `name` varchar(255) DEFAULT NULL, `age` int(11) , PRIMARY KEY (`id`), UNIQUE KEY `name_idx` (`name`)) ENGINE=InnoDB;select * from test_duplicate_key1原创 2022-02-14 14:48:49 · 2349 阅读 · 3 评论 -
《BI工程师必读》数据可视化篇 #02
写在前面对于大数据团队来说,我们把计算好的数据,以一种简洁美观的方式展现给产品经理或领导也是十分重要的,其实也就是数据可视化。一种方式就是公司自研一个可视化平台,比如用SpringBoot+Echarts就可以达到一些效果,但是这无疑是比较耗费时间的,所以选择一款高效的可视化工具就显得尤为重要。BI工具目前市面上有很多,像是Tableau、FineBI这种典型代表,他们或多或少都比较商业化一些,无奈没钱啊。。那么开源免费的呢?肯定也是有不少的哈,目前开源比较流行的有,redash metabse s原创 2021-11-30 09:49:35 · 643 阅读 · 0 评论 -
Presto 一篇不太正经的全面学习笔记
写在前面本文内容基本来源于官网,然后我结合我自己实际工作中的一些场景 把我认为 重要 且常用 的一些操作给记录下来了。目前presto是拆分为了两个项目 prestodb 和 prestosql,有兴趣的小伙伴可以看一下,这里选用的是prestodb。如果有任何不对的地方,欢迎小伙伴指正!笔芯~~咱们开始把 !#01 概述不是数据库!()Presto是一种分布式高效 大量数据的即席查询工具,简单来说就是对于 TB 或 PB 级数据,能够比较快的得到查询结果。数据可以是传统关系型数据库,也可以是原创 2021-11-24 09:45:41 · 3200 阅读 · 0 评论 -
《BI工程师必读》日期处理篇 #01
– 天、周、月、季度、年等聚合操作– mysql– 当天日期select date(now())select date_sub(current_date,interval dayofweek(current_date) day)select weekday(current_date()) – 周日 6 周一 0select dayofweek(current_date()) – 周日 1 周一 2– 当天日期的周一 :select date_sub(current_date()原创 2021-11-16 18:19:04 · 1602 阅读 · 3 评论 -
Hive SQL 面试题-【高频&硬核】
create table t (id int,p_date date,quantity int);insert into t values(1001,'2021-01-01',122);insert into t values(1002,'2021-01-01',41);insert into t values(1003,'2021-01-01',56);insert into t values(1001,'2021-01-02',165);insert into t values(1.原创 2021-11-09 10:16:38 · 3969 阅读 · 4 评论 -
踩坑填坑-个人总结持续更新
===================================== AirFlow 部分========================================1.Airflow 任务假死问题版本:Airflow 1.10.9现象:日志出现: dependency ‘Task Instance State’ FAILED: Task is in the ‘running’ state which is not a valid state for execution. The task原创 2021-10-26 09:09:45 · 2420 阅读 · 0 评论 -
spark 各种骚操作 之日志统计分析 机会终于来了系列
import org.apache.spark.{SparkConf, SparkContext}/** * Description: 日志统计分析 * .collect().foreach(println) * .take(10).foreach(println) * * * 分隔符 , *map()是对每一行数据进行操作 *reduceByKey()是将相...原创 2019-08-02 16:52:50 · 513 阅读 · 0 评论 -
数仓中的全量表,增量表,拉链表,流水表,快照表 机会终于来了系列
写在前面先简单说明一下这几种表形态的定义:全量表:每天的所有写最新状态的数据1、有无变化,都要报2、每次上报的数据都是所有的数据(变化的+没有变化的)增量表:新增的数据1、增量表,只报变化量,无变化不用报拉链表:1、记录一个事物从开始,一直到当前状态的所有变化的信息2、拉链表每次上报的都是历史记录的最终状态,是记录在当前时候的历史总量流水表:对于表的每一个修改都会记录,可以用户反映实际记录的变更1、拉链表通常是对账户信息的历史变动进行处理保留的结果,流水表是对每天的交原创 2020-12-08 12:38:11 · 3764 阅读 · 0 评论 -
SQL经典面试题-连续3天登陆用户 机会终于来了系列
写在前面连续登陆问题可以扩展到很多其他方面:1.我们每天使用的某团外卖,就可以统计用户连续点外卖的天数。如果发现你连续5天都没有点外卖,可能就会给你发优惠券,刺激消费2.比如银行贷款你连续预期好多好多天,一直没有处理。银行就会按照自己的流程对你采集一定的措施。反正就是确实在数仓中还是用的比较多的,比较实际的需求。需求:编写hql,统计连续3天登陆的用户分析:如何判断连续,这个是本题的关键可以对user_id进行分组排序后,得到rn,然后用登陆日期减去rn ,就会得到一个日期差,如果是连续的话原创 2020-12-03 21:55:14 · 1056 阅读 · 0 评论