12 2020 档案
发表于 2020-12-31 19:39阅读:287评论:0推荐:0
摘要:我拥有的时间资源 周一到周五,每天晚上3小时 周六日算1.5天,每天10小时,共15小时 一周时间是3*5+15=30小时 一年的时间是30*52=1560小时 我的计划 软考中级 2021.01--2021.05 每天3小时, 50天 共150小时 PMP考试 2021.02--2021.07 每
阅读全文 »
发表于 2020-12-29 19:12阅读:562评论:0推荐:0
摘要:4个角度轻松理解 Flink中的Watermark Watermark 理解了,但是想讲给别人听, 总是讲不清楚,这篇让我理解了 原文: 当我们第一次接触 Flink 时往往会对其中的 watermark 感到困惑。但实际上 watermark 并不复杂。在本文中我们将通过一个简单的例子来说明为什么
阅读全文 »
发表于 2020-12-29 19:01阅读:761评论:0推荐:0
摘要:Flink中Checkpoint和Savepoint 的 3 个不同点 Savepoint和Checkpoint分别是什么? Savepoint 是用来为整个流处理应用在某个“时间点”(point-in-time)进行快照生成的功能。该快照包含了数据源读取到的偏移量(offset),输入源的位置信息
阅读全文 »
发表于 2020-12-29 18:59阅读:690评论:0推荐:0
摘要:Flink在开发中的7点建议 1. 使用DataStreamAPI还是Table API/SQL? 在 DataStream API 和 Table API/SQL 的选择上,如果有强烈的需求控制状态和每条状态到来的处理,则需要使用 DataStream API; 如果是简单的数据提取和关系代数的运
阅读全文 »
发表于 2020-12-29 18:56阅读:1280评论:0推荐:0
摘要:Flink调优法则 一. 性能定位 口诀分析 1. 看背压 通常最后一个背压高的subTask的下游就是job的明显瓶颈之一 2. 看checkoint时长 checkpoint的时长在一定程度上可以影响job的整体吞吐 3. 查看关键指标 通过延迟与吞吐指标可以对任务的性能进行精准的判断 4. 资
阅读全文 »
发表于 2020-12-29 18:54阅读:598评论:0推荐:0
摘要:Spark性能调优之资源分配 1. 分配哪些资源? spark任务可以分配的资源主要包括 executor、cpu per executor、memory per executor、driver memory 2. 在哪里分配这些资源? 在我们在生产环境中,在提交spark作业时,用的spark-s
阅读全文 »
发表于 2020-12-29 18:53阅读:324评论:0推荐:0
摘要:Spark Shuffle调优之调节map端内存缓冲与reduce端内存占比 调优原理 默认情况下shuffle的map task输出到磁盘文件的时候,统一都会先写入每个task自己关联的一个内存缓冲区。这个缓冲区大小,默认是32kb。 每一次当内存缓冲区满溢之后才会进行spill操作(溢写操作)溢
阅读全文 »
发表于 2020-12-29 18:16阅读:84评论:0推荐:0
摘要:推荐系列文章: 从程序员到项目经理
阅读全文 »
发表于 2020-12-25 22:30阅读:87评论:0推荐:0
摘要:java反射 什么是反射? 一种动态实例化对象,并且可以获取到实例对象的属性,方法,并对其进行一些操作 常规调用对象 在 Java 中创建对象,获取属性,调用对象的方法通常都是通过 Object o = new Object(), 然后通过 o.getXXX(), o.setXXX() o.doSo
阅读全文 »
发表于 2020-12-24 23:09阅读:866评论:0推荐:0
摘要:flink1.12连接hive修改并行度 在HiveTableSource 中. getDataStream 方法: int parallelism = 0; int splitNum = new HiveParallelismInference(tablePath, flinkConf) .inf
阅读全文 »
发表于 2020-12-22 23:27阅读:775评论:0推荐:0
摘要:Flink反压判断 随着版本的持续变更,截止 1.10.0 版本,Flink 提供的监控指标中与反压最为密切的如下表所示: 指标名称 用途 outPoolUsage 发送端缓冲池的使用率 inPoolUsage 接收端缓冲池的使用率 floatingBuffersUsage 处理节点缓冲池的使用率
阅读全文 »
发表于 2020-12-22 22:03阅读:169评论:0推荐:0
摘要:HBase API操作 1、环境准备 新建项目后在pom.xml中添加依赖: <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.3.1</version>
阅读全文 »
发表于 2020-12-21 14:15阅读:393评论:0推荐:0
摘要:一、Vi/Vim 介绍 VI(Visual Interface),是一个文本编辑器,主要在 Unix 及类 Unix 环境中使用。 Vim(Vi improved)在 Vi 的基础之上进行了功能提升,相当于 Vi 的增强版。 所有类 Unix 系统都会内建 vi 文本编辑器,就像 window 电脑
阅读全文 »
发表于 2020-12-21 14:14阅读:147评论:0推荐:0
摘要:查看Linux系统信息 arch #显示机器的处理器架构(1) uname -m #显示机器的处理器架构(2) uname -r #显示正在使用的内核版本 dmidecode -q #显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda #罗列一个磁盘的架构特性
阅读全文 »
发表于 2020-12-21 14:11阅读:133评论:0推荐:0
摘要:1 帮助命令 1.1 man man [命令或配置文件] (功能描述:获得帮助信息) 例子 [root@hadoop101 ~]# man ls 1.2 help help 命令 (功能描述:获得shell内置命令的帮助信息) 例子 [root@hadoop101 ~]# help cd 1.3 常
阅读全文 »
发表于 2020-12-21 14:10阅读:82评论:0推荐:0
摘要:Linux-top命令 第一行,任务队列信息,同 uptime 命令的执行结果 系统时间:09:27:22 运行时间:up 228 days, 当前登录用户: 3 user 负载均衡(uptime) load average: 0.02, 0.03, 0.00 average后面的三个数分别是1分钟
阅读全文 »
发表于 2020-12-19 16:16阅读:249评论:0推荐:0
摘要:客户端源码总结 1. 把核心流程封装在一个方法里面,代码流程是比较清晰的 2. 自定义异常,异常的提示很清晰. 3. 底层代码异常往上抛,核心逻辑捕获异常,对异常进行处理. 4. 面向对象的思想还是不错的. 5. 自己设计高性能的多线程结构(线程安全,读多写少) 6. 高并发的情况下,为了性能(线程
阅读全文 »
发表于 2020-12-19 15:53阅读:458评论:0推荐:0
摘要:大数据职业发展方向 参考原文 https://mp.weixin.qq.com/s/O8ubCasBL6lwaTd4I7g0xg 说明: 以下的我,不是我,是原作者。 我从业的两段经历 大数据的方向有很多的,即使没有真正经历过,平时也会耳濡目染,在各大杂志公众号新闻上听说过,什么大数据人工智能,大数
阅读全文 »
发表于 2020-12-19 15:35阅读:6079评论:0推荐:1
摘要:Flink Checkpoint 参数详解 什么是 checkpoint 保存状态 Checkpoint 参数详解 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); // 每
阅读全文 »
发表于 2020-12-19 15:13阅读:135评论:0推荐:0
摘要:1.BIO、NIO和AIO的区别? BIO 一个线程只做一件事,效率慢. NIO 一个线程做多个事,效率块.(原理见 java_NIO) AIO Netty概念 NIO框架,它提供了对TCP、UDP和文件传输的支持 Netty特点 1)设计 统一的API,适用于不同的协议(阻塞和非阻塞) 基于灵活、
阅读全文 »
发表于 2020-12-19 15:01阅读:100评论:0推荐:0
摘要:NIO概念 NIO与原来的IO有同样的作用和目的,但是使用 的方式完全不同,NIO支持面向缓冲区的、基于 通道的IO操作。NIO将以更加高效的方式进行文 件的读写操作。 精髓 NIO 可以让服务器端使用一个或有限几个线程来同 时处理连接到服务器端的所有客户端 NIO是一个全栈工程师 IO 与 NIO
阅读全文 »
发表于 2020-12-19 11:38阅读:329评论:0推荐:0
摘要:kafka发送消息原理图 producer发送消息核心流程图
阅读全文 »
发表于 2020-12-19 11:30阅读:209评论:0推荐:0
摘要:Kafka高性能的原理 高性能,高并发,高可用 使用了NIO技术。高并发。 顺序读写。硬盘的顺序读写性能要高于内存的随机读写。 跳表设计。 稀疏索引。index文件里面有部分offset的位置。 使用零拷贝。从内存,直接拷贝到网卡。 producer: 按批次发消息,而不是条数。 producer:
阅读全文 »
发表于 2020-12-19 10:35阅读:198评论:0推荐:0
摘要:Hbase表设计 1. RowKey设计 Rowkey设计三原则 一、rowkey长度原则 越短越好,不要超过16个字节。 二、rowkey散列原则 三、rowkey唯一原则 2.列簇设计 最好一个列簇,命名一个字符足以。 3. 建表高级属性 1、BLOOMFILTER(布隆过滤器) 使用方法: c
阅读全文 »
发表于 2020-12-19 10:34阅读:232评论:0推荐:0
摘要:Hbase的读写过程 Hbase的读过程 1、客户端通过ZooKeeper以及-ROOT-表和.META.表找到目标数据所在的RegionServer(就是数据所在的 Region的主机地址) 2、联系RegionServer查询目标数据 3、RegionServer定位到目标数据所在的Region
阅读全文 »
发表于 2020-12-19 10:33阅读:404评论:0推荐:0
摘要:Hbase各组件职责 Client职责 1、HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个Region,无论如何不会分裂 2、Client访问用户
阅读全文 »
发表于 2020-12-19 10:02阅读:83评论:0推荐:0
摘要:什么是java的深浅拷贝? 浅拷贝 就是很肤浅的拷贝,只拷贝了别人的地址。没有拷贝地址里面的值。地址里面的值改变后,就都改变了。 深拷贝 就是很深入的拷贝,深入到核心的拷贝,拷贝了别人地址里面的值,别人的值改变后,我不受影响。
阅读全文 »
发表于 2020-12-19 09:53阅读:186评论:0推荐:0
摘要:flink问题1 报错: More buffers requested available than totally available 查看源码: /** * This method makes sure that at least a certain number of memory segme
阅读全文 »
发表于 2020-12-18 22:16阅读:3842评论:0推荐:0
摘要:Flink内存模型 此图是基于flink1.12版本. 一个taskmanager给了6g内存,可以有很清楚的看到各个部分占用的内存,还是实时变化的. 名词解释 组件 配置项 描述 Framework Heap Memory taskmanager.memory.framework.heap.siz
阅读全文 »
发表于 2020-12-18 11:39阅读:82评论:0推荐:0
摘要:使用 用来做大数据去重的。并且占用空间小。 原理 有一个全为0的byte数组 array。 把一个字符串a,使用hash算法,变成一个整数g,然后把array【g】位置的数变为1,代表这个数据出现过。 下次判断字符串a是否存在,就判断array【g】位置是否为1 。为1就存在,为0 就不存在。 优点
阅读全文 »
发表于 2020-12-17 20:37阅读:1408评论:1推荐:0
摘要:一个 Spark 应用程序的完整执行流程 1、编写 Spark Application 应用程序 2、打 jar 包,通过 spark-submit 提交执行 3、SparkSubmit 提交执行 4、执行 Spark Application 的 main 方法 5、初始化 SparkContext
阅读全文 »
发表于 2020-12-17 20:21阅读:112评论:0推荐:0
摘要:Spark 的 RPC 什么是RPC 在Spark中很多地方都涉及网络通信,比如Spark各个组件间的消息互通、用户文件与Jar包的上传、节 点间的Shuffle过程、Block数据的复制与备份等。 如果把分布式系统(HDFS, HBASE,SPARK等)比作一个人,那么RPC可以认为是人体的血液循
阅读全文 »
发表于 2020-12-17 19:46阅读:101评论:0推荐:0
摘要:Spark调优 1. 避免创建重复的RDD 1. 1. 一个简单的例子 2. 尽可能复用同一个RDD 2. 1. 一个简单的例子 3. 对多次使用的RDD持久化 3. 1. 对多次使用的RDD进行持久化的代码示例 3. 2. Spark的持久化级别 3. 3. 如何选择一种最合适的持久化策略 4.
阅读全文 »
发表于 2020-12-17 17:44阅读:143评论:0推荐:0
摘要:Hbase系列文章 HBase(一): c#访问hbase组件开发 HBase(二): c#访问HBase之股票行情Demo HBase(三): Azure HDInsigt HBase表数据导入本地HBase 基于HDInsight 3.4 HBase集群规划参考 hadoop(四): 本地 hb
阅读全文 »
发表于 2020-12-17 17:35阅读:1871评论:0推荐:0
摘要:使用 分布式快照机制 和 两阶段提交 两阶段提交 在 Flink 中两阶段提交的实现方法被封装到了 TwoPhaseCommitSinkFunction 这个抽象类中,我们只需要实现其中的beginTransaction、preCommit、commit、abort 四个方法就可以实现“精确一次”的
阅读全文 »
发表于 2020-12-16 22:51阅读:947评论:0推荐:0
摘要:Flink相对于Spark的优点 容错 Flink 基于两阶段提交实现了精确的一次处理语义。 Spark Streaming 只能做到不丢数据,但是有重复。 反压 Flink 在数据传输过程中使用了分布式阻塞队列,一个阻塞队列中,当队列满了以后发送者会被天然阻塞住,这种阻塞功能相当于给这个阻塞队列提
阅读全文 »
发表于 2020-12-15 23:28阅读:551评论:0推荐:0
摘要:最详细10招Spark数据倾斜调优 数据量大并不可怕,可怕的是数据倾斜 。 数据倾斜发生的现象 绝大多数 task 执行得都非常快,但个别 task 执行极慢。 数据倾斜发生的原理 在进行 shuffle 的时候,必须将各个节点上相同的 key 的数据拉取到某个节点 上的一个 task 来进行处理,
阅读全文 »
发表于 2020-12-12 10:37阅读:331评论:1推荐:0
摘要:2021年学习计划和完成情况 总体目标 大讲台--大数据运维 (已完成) 软考-软件设计师(中级)2021年5月(已取消) 奈学-P8大数据架构师(已完成) PMP考试.(已取消) 十大机器学习算法原理 贪心-推荐系统 2021-05 看书 书名 开始时间 结束时间 评分★☆ 读后感 罗马史-得到
阅读全文 »
发表于 2020-12-11 21:15阅读:167评论:0推荐:0
摘要:问题: hbase 集群启动不了,maste一直在初始化,数据面临丢失风险。 解决: 把hbfs上 /hbase 目录移走 改名为/hbase-bak 删除zk上的数据,重新建立一个新的hbase集群. 使用如下代码, 把/hbase-bak里面的数据恢复到 现有的hbase集群中. public
阅读全文 »
发表于 2020-12-10 21:22阅读:336评论:0推荐:0
摘要:官宣 | Apache Flink 1.12.0 正式发布,流批一体真正统一运行! 原创 Apache 博客 Flink 中文社区 翻译 | 付典 Review | 徐榜江、朱翥 Apache Flink 社区很荣幸地宣布 Flink 1.12.0 版本正式发布!近 300 位贡献者参与了 Flin
阅读全文 »
发表于 2020-12-04 23:00阅读:1766评论:2推荐:0
摘要:import org.apache.flink.table.api.*; import org.apache.flink.table.catalog.hive.HiveCatalog; /** * @Auther WeiJiQian * @描述 */ public class FlinkReadHi
阅读全文 »
发表于 2020-12-04 22:59阅读:2378评论:3推荐:0
摘要:把hive 表stu77 的数据写入 mysql 表test_stu 中. 中间可以加自己的逻辑. import org.apache.flink.table.api.EnvironmentSettings; import org.apache.flink.table.api.StatementSe
阅读全文 »