- 博客(348)
- 资源 (22)
- 收藏
- 关注
原创 spark 内存模型
Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD、Shuffle、JVM 等相关概念。
2024-08-09 12:26:15 666
原创 [ 2024春节 Flink打卡 ] -- 优化(draft)
堆内:taskmanager.memory.task.heap.size,默认none,由Flink内存扣除掉其他部分的内存得到。堆外:taskmanager.memory.task.off-heap.size,默认0,表示不使用堆外内存。堆外:taskmanager.memory.framework.off-heap.size,默认128MB。堆内:taskmanager.memory.framework.heap.size,默认128MB。Flink内存=4g-256m-409.6m=3430.4m。
2024-02-21 23:45:00 1228
原创 [ 2024春节 Flink打卡 ] -- Paimon
2024,游子未归乡。工作需要,flink coding。觉知此事要躬行,未休,特记Flink 社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合,推出新一代的 Streaming Lakehouse 技术,促进数据在数据湖上真正实时流动起来,并为用户提供实时离线一体化的开发体验。
2024-02-18 00:39:22 1161
原创 [ 2024春节 Flink打卡 ] -- 理论基础
这里的 TaskManager,就是真正“干活的人”,数据的处理操作都是它们来做的,如图 3-1 所示。而在海量数据的批处理领域,Spark 能够处理的吞吐量更大,加上其完善的生态和成熟易用的 API,目前量数据的批处理领域,Spark 能够处理的吞吐量更大,加上其完善的生态和成熟易用的 API,目前同样优势比较明显。 状态的访问权限。我们知道 Flink 上的聚合和窗口操作,一般都是基于 KeyedStream的,数据会按照 key 的哈希值进行分区,聚合处理的结果也应该是只对当前 key 有效。
2024-02-17 06:40:44 1222
原创 error=86, Bad CPU type in executable
【代码】error=86, Bad CPU type in executable。
2023-06-20 15:10:15 1315
原创 git reset
-mixed(默认):(1)使用完reset --mixed后,我們可以直接执行 git add 将這些改变果的文件內容加入 index 暂存区中,再执行 git commit 将 Index暂存区 中的內容提交至Repository中,这样一样可以达到合并commit节点的效果(与上面--soft合并commit节点差不多,只是多了git add添加到暂存区的操作);所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。
2023-01-29 22:24:16 596
原创 Spark中的Shuffle
一、Spark Shuffle 概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网 络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也 必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜, shuffle调优只能在整个Spark的性能调优中占到一小部分而已。 在 Spark 的源码中,负责 shuffle 过程的执行、计算和处理的组件主
2022-06-17 22:42:57 6717
原创 RSS VIST
在k8s中需要根据其提供的平台查看内存和cpu占用信息。其中内存主要看RSS(https://juejin.cn/post/6844903923774390279)RSS是Resident Set Size(常驻内存大小)的缩写,用于表示进程使用了多少内存(RAM中的物理内存),RSS不包含已经被换出的内存。RSS包含了它所链接的动态库并且被加载到物理内存中的内存。RSS还包含栈内存和堆内存。VSZ是Virtual Memory Size(虚拟内存大小)的缩写。它包含了进程所能访问的所有内存,包含了被换
2022-02-25 18:48:53 364
转载 ClickHouse特性及底层存储原理
ClickHouse的特性ClickHouse是一款MPP架构的列式存储数据库,但MPP和列式存储并不是什么"稀罕"的设计。拥有类似架构的其他数据库产品也有很多,但是为什么偏偏只有ClickHouse的性能如此出众呢?ClickHouse发展至今的演进过程一共经历了四个阶段,每一次阶段演进,相比之前都进一步取其精华去其糟粕。可以说ClickHouse汲取了各家技术的精髓,将每一个细节都做到了极致。接下来将介绍ClickHouse的一些核心特性,正是这些特性形成的合力使得ClickHouse如此优秀。完
2021-08-31 15:02:28 491
原创 Spark中repartition & coalesce
一.spark 分区 partition的理解:spark中是以vcore级别调度task的。如果读取的是hdfs,那么有多少个block,就有多少个partition举例来说:sparksql 要读表T, 如果表T有1w个小文件,那么就有1w个partition这时候读取效率会较低。假设设置资源为 --executor-memory 2g --executor-cores 2 --num-executors 5。步骤是拿出1-10号10个小文件(也就是10个partition) 分别给5个e
2021-06-19 23:32:52 2341
原创 经典HQL总结
Hive 执行逻辑星型模型,数据有一定冗余,但是SQL的编写相对容易雪花模型,数据冗余度很低,SQL的复杂度就很高数据主题域用户:user商品:info属性:param交易:trade订单:order优惠券:coupon回收:recycle租赁:lease维修:repair流量:traffic用户行为:ub归因:attribute直播:live供应链:scm物流:logistics采购:pur仓储:st...
2021-04-06 12:28:51 643
原创 golang 日常开发小抄
一 int in64 string 转换1. int <->stringstring转成int:int, _ := strconv.Atoi(string)int转成string:string := strconv.Itoa(int)2. int64 <->stringstring转成int64:int64, _:= strconv.ParseInt(string, 10, 64)int64转成string:string := strconv..
2021-03-24 15:43:01 324
原创 大数据知识点总结笔记 -- 应用篇
周末两天,继续整理了近些年从事大数据工作经验以及调优,本次主要针对一些Hive应用层面。一、事实表分类1. 事务型事实表事务型事实表,一般指随着业务发生不断产生的数据。特点是一旦发生不会再变化。一般比如,交易流水,操作日志,出库入库记录等等。典型案例--交易流水表:2. 周期型事实表周期型事实表,一般指随着业务发生不断产生的数据。与事务型不同的是,数据会随着业务周期性的推进而变化。比如订单,其中订单状态会周期性变化。再比如,请假、贷款申请,随着批复状态在周期性变化。.
2021-03-22 00:00:02 923
原创 Hive参数调优手册
Hive执行机制元数据。默认保存在derby中,一般会选择保存在mysql中。元数据包括:Database、表名、列名、列的类型,存储空间、分区、表数据所在目录等。核心组件会经过四个步骤 驱动器->编译器->优化器->执行器driver :驱动器 接收用户的sql语句给到compilercompiler:编译器 sql语句编译成一个 执行计划optimizer:优化器 对执行计划优化,提升效率Executor:执行器执行步骤,大致分为如下1. 第一阶段 sql.
2021-03-17 23:51:16 529
原创 大数据知识点总结笔记
周末两天,整理了近些年从事大数据工作经验以及调优,越是到深水域,越发感觉知识的无穷尽。更深切的理解 Stay Hungry,Stay Foolish。一、OLTP 和 OLAP 的区别1.联机事务处理 OLTP(on-line transaction processing)OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。2.联机分析处理 OLAP(On-Line Analytical Processing)OLAP是数据仓库系统的主要应用,支持复杂的分析操
2021-03-08 02:08:56 2140
原创 Redis进阶
redis的性能调优基本都在redis.conf.txt 。一、MEMORY MANAGEMENT1.redis 设置密码 requirepass mypassconfig set requirepass "123456"2.缓存过期策略.内存打满时 --清除无用和过期数据# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory# is reached. You can select amo.
2021-03-06 00:39:10 189 1
原创 [ 2021春节 Flink打卡第二弹 ] -- 理论应用
广播变量基本概念• 从Client端将一份反复要使用的数据封装到广播变量中,分发到每个TaskManager的内存中存储起来将某个变量分发给每个节点上,保持每个节点都保存一份只读的缓存变量,而不是传送变量的副本给tasks• TaskManager中的所有Slot所管理的线程在执行task的时候就从TaskManager进程的内存读取数据,达到数据共享的效果。如果不使用 broadcast,则在每个节点中的每个 task 中都需要拷贝一份数据集,比较浪费内存(也就是一个节点中可能会存在多份数..
2021-02-22 02:56:43 410
原创 [ 2021春节 Flink打卡第一弹] -- 原理架构
Flink on Yarn的两种运行方式1. 启动一个yarn session在Yarn中初始化一个flink集群,开辟指定的资源,以后提交任务都向这里提交。这个flink集群会常驻在Yarn集群中,除非手动停止。YarnSessionClusterEntrypoint即为Flink在Yarn上的ApplicationMaster,同时也是JobManager;YarnTaskExecutorRunner负责接收 subTask,并运行,就是TaskManagera.在 YARN ...
2021-02-14 02:47:42 348 2
转载 Spark性能优化指南——高级篇
继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个ta
2021-02-14 00:57:49 348
原创 ElasticSearch 进阶小抄
一、ES组件介绍1.shard一个Shard就是一个Lucene实例,是一个完整的搜索引擎。主分片的数量在index创建的时候就决定好了, 副本分片的数量可以随时改变shard 分片大小确定 ? a.分片数过多会导致检索时打开比较多的文件,多台服务器之间通讯成本加大。 b. 而分片数过少会导至单个分片索引过大,所以检索速度也会慢。 c. 建议单个分片最多存储10G-20G左右的索引数据,并且尽量集群的所有节点都分片数一致,不要出现分片数不一样导致的一个实例负载过大,等待合并的时间...
2021-02-08 00:59:21 940
转载 Spark性能优化指南
调优概述Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。开发调优,就是要让大家了解以下一些Spark基本开发原则,包括:RDD lineage设计、算子的合理使用、特殊操作的优化等。在开发过程中,时时刻刻都应该注意以上原则,并将这些原则根据具体的业务以及实际的应用场景,灵活地运用到自己的Spark作业中。原则一:避免创建重复的RDD通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD;接
2021-02-05 23:14:10 183
原创 深入理解Kafka
总感觉kafka理解不透彻,结合《Kafka权威指南》写篇博客,学而时习之。一、Partition 分区 分区数和消费者数一致;每个分区都有leader 和副本follower;生产者把消息发送到leader之后,follower会去leader同步数据。1. Partition 组件介绍a. Partition 为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,一个...
2021-02-02 23:58:43 419
原创 人生赏心十六件乐事--苏轼
清溪浅水行舟;微雨竹窗夜话;暑至临溪濯足;雨后登楼看山;柳荫堤畔闲行;花坞樽前微笑;隔江山寺闻钟;月下东邻吹箫;晨兴半柱茗香;午倦一方藤枕;开瓮勿逢陶谢;接客不着衣冠;乞得名花盛开;飞来家禽自语;客至汲泉烹茶;抚琴听者知音。不卑不亢,积极向上。愿你我都能在平凡的日子里热爱生活,有思想,正能量。...
2021-01-31 20:28:33 747
原创 [LeetCode解题] -- 动态规划 [ 最小路径和 & 机器人走方格 ]
总感觉动态规划问题有理解不扎实,拿了2道dp基础题打夯,最小路径和 & 机器人走方格。一. 最小路径和64. 最小路径和[ 题目描述 ]给定一个包含非负整数的 mxn网格grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [ [1,3,1], [1,5,1], [4,2,1]...
2021-01-29 22:24:05 2162 1
原创 开放平台kong&redis
一、kong/konga 安装在github上有详细的安装步骤此处仅给出demo示例,核心操作如下-- kongadocker pull pantsel/kongasudo docker run -p 5555:1337 --network kong-net --name konga pantsel/konga-- kong 同上sudo docker run -d --name kong \ --network=kong-net \ -e "KONG
2021-01-24 01:03:52 613
原创 MR大数据去重 & MR流程
居然被问到MR,好久没写MR了,此处凭借记忆和手记整理一 、大数据去重1. 以wc举例,来说明MR的过程StringTokenizer(String str) :构造一个用来解析 str 的 StringTokenizer 对象。java 默认的分隔符是空格("")、制表符(\t)、换行符(\n)、回车符(\r)。public class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> {
2021-01-22 22:46:41 891
原创 [LeetCode解题] -- DFS -- [ 岛屿数量 ]
200. 岛屿数量[ 题目描述 ]给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出..
2020-12-28 22:53:58 212 1
原创 [LeetCode解题] -- DFS [ 全排列 括号生成 组合总数]
全排列组合总数一 全排列46. 全排列 medium[ 题目描述 ]给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]][ 解题思路 ][ 代码实现 ][ 性能分析 ]二 组合总数39. 组合总和 medium[ 题目描述 ]给定一个无重复元素的数组candida...
2020-12-24 00:30:26 274
原创 开放平台日志推送---kafka
解耦ASynchronize异步Synchronize 同步Kafka消息数据积压,Kafka消费能力不足怎么处理?1)如果是Kafka消费能力不足,则可以考虑增加Topic的分区数,并且同时提升消费组的消费者数量,消费者数=分区数。(两者缺一不可)2)如果是下游的数据处理不及时:提高每批次拉取的数量。批次拉取数据过少(拉取数据/处理时间<生产速度),使处理的数据小于生产的数据,也会造成数据积压。kafka安装1. 创建docker-netdocker netwo.
2020-12-23 01:17:48 966
原创 [LeetCode解题] -- 螺旋矩阵
一、螺旋矩阵54. 螺旋矩阵[ 题目描述 ]给定一个包含m x n个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]输出: [1,2,3,4,8,12,11,10,9,5,6,7...
2020-12-17 22:05:09 240
原创 开放平台上线--elasticsearch 线上救火速查
##################### 运维指南 ########################### 查看节点集群状态http://192.168.26.3:9200/_cat#统计总数据条数GET openai_detail_log_202012/_countGET openai_detail_log/_count统计总存储空间占用GET /_cat/shards?v##################### index ########################.
2020-12-14 12:05:58 172
原创 开放平台上线--elasticsearch数据删除与读写流程
一、数据删除1. 分片大小、分片个数 机器少的话,分片数最好是你的data节点的机器数倍数,这样请求负载能够均摊到每个机器上,如果机器比较多,最好保证分片数不要太多,比如最好别超过20-30个,然后根据你的数据量评估一下,尽量保证每个分片在15到20G2.实际分片a. 实际数据库存储大小500万条 555M 100万->110M b. 预计分配200w/d -> 220M/d 200W*30 ->220*30=6600M=6.5G...
2020-12-14 11:48:18 362
原创 [LeetCode解题] -- DFS 一 [ 路径总和 ]
一、路径总和112. 路径总和 easy[ 题目描述 ]给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ ...
2020-12-09 00:26:43 194
原创 [LeetCode解题] -- 打家劫舍
一 打家劫舍 I 198. 打家劫舍 easy[ 题目描述 ]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (...
2020-12-06 16:26:51 127 1
原创 [LeetCode解题] -- 零钱兑换
动态规划是 求解最优化问题的一种常用策略零钱兑换 322. 零钱兑换[ 题目描述 ]给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。你可以认为每种硬币的数量是无限的。示例1:输入:coins = [1, 2, 5], amount = 11输出:3 解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3...
2020-12-06 01:03:29 618
原创 [LeetCode解题] -- funny HashMap
本节介绍leetcode如下解题1 两数之和 easy49 字母异位词分组 medium187 重复的DNA序列 medium205 同构字符串 easy219 存在重复元素 II easy242 字母异位词 easy290 模式匹配 easy804 唯一摩尔斯密码词 easy1 两数之和 easy1. 两数之和[ 题目描述 ]给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。...
2020-11-30 23:08:32 340 1
原创 布隆过滤器
一、布隆过滤器在Hbase中的应用Hbase中为了优化查询,经常会开启行级或者行加列级顾虑器什么时候应该使用布隆过滤器?布隆过滤器的主要作用,是帮助HBase跳过那些显然不包括所查找数据的底层文件。那么,当所查找的数据均匀分布在所有文件中(当用户定期更新所有行时,就可能导致这种情况),布隆过滤器的作用就微乎其微,反而浪费了存储空间。相反,如果我们查找的数据只包含在少部分的文件中,就应该果断使用布隆过滤器。应该选择行级还是行加列级布隆过滤器?很显然,行加列级因为粒度更细,占用的存储空间也就越多。因
2020-11-30 22:47:19 223
原创 [LeetCode解题] -- 动态规划三 [ 打家劫舍 ]
1.打家劫舍198. 打家劫舍[ 题目描述 ]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的..
2020-11-27 01:45:41 234
原创 [LeetCode解题] -- 动态规划二 [ 子串、子序列问题 ]
子序列 vs 子串、子数组、子区间子序列 : 可以不连续子串、子数组、子区间 : 必须连续1.最大连续子序[ 子数组]和53. 最大子序和[ 题目描述 ]给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解...
2020-11-26 01:53:33 479
原创 开放平台上线SQL小计
一、随机数# 1.随机生成 10 - 1010wSELECT FLOOR(10 +(RAND()*1000))# 2.随机生成10w - 110wSELECT FLOOR(100000 +(RAND()*1000000))# 3.生成 10w - 110w的随机数SELECT id ,api_name ,SELECT FLOOR(100000 +(RAND()*1000000)) AS successful_called ,SELECT FLOOR(10 +(RAND()*1000)
2020-11-20 15:50:53 195
Algorithm negotiation fail
2017-09-06
开发hadoop配置
2017-02-16
IO集合增强for循环练习
2016-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人