- 博客(112)
- 收藏
- 关注
原创 【大数据面试题】007 谈一谈 Flink 背压
在流式处理框架中,如果下游的处理速度,比上游的输入数据小,就会导致程序处理慢,不稳定,甚至出现崩溃等问题。
2024-02-16 16:58:25
1189
原创 【大数据面试题】006介绍一下Parquet存储格式的优势
在 Hadoop, Spark, Presto, Python 等都支持,所以 Parquet 文件可以在不同系统和语言通用。同一列的数据是同一种数据类型,所以压缩比例可以更高。同时一般查询使用时不会使用所有列,而是只用到几列,所以查询速度会更快。因为是列式存储,所以可以对同一类型的一段做压缩,压缩比例高。
2024-02-14 00:07:49
494
原创 【大数据面试题】005 谈一谈 Flink Watermark 水印
在实时处理任务时,由于网络延迟,人工异常,各种问题,数据往往会出现乱序,不按照我们的预期到达处理框架。话不多说,直接给个 Watermark 水印样例代码。一步一个脚印,一天一道面试题。WaterMark 水印,就是。
2024-02-07 15:16:01
1226
原创 【大数据面试题】004 Flink状态后端是什么
将状态存储在 FileSystem,如本地文件系统,或 HDFS 文件系统。写入到文件后,如果遇到程序中断停止,能够正常恢复。生产环境中, FsStateBackend 是个不错的选择。所以如果需要更高的性能,可以使用这个状态后端。那作为最热门的实时处理框架,Flink对状态管理是有一套的。那就是状态后端,拿来管理,储存 Flink 里状态的东西,默认是用 MemoryBackend。很不稳定,如果程序中断停止,存在内存中的状态就会消失,重启不能正常恢复,处理状态。那就需要记录到之前的状态,数值。
2024-02-07 10:05:20
2225
原创 【大数据面试题】002 Flink 如何实现 Exactly-Once 语义
最后,在数据消费端,需要确保消费者能够支持“事务性”提交,比如使用支持事务的数据库(如 MySQL)进行数据写入。这样,在发生故障时,Flink 可以回滚未完成的事务,并重新执行已提交的事务,从而保证数据的一致性和准确性。尽管在程序正常运行、资源充足的情况下实现 Exactly-Once 语义并不难,但实际生产环境中存在各种复杂情况和突发状况,因此为了可靠地实现 Exactly-Once,需要以下容错机制。这样,如果程序重启,可以准确地从未被消费的第一条数据开始读取,既不会多读也不会少读。
2024-02-04 23:38:13
1012
原创 【大数据面试题】001 Flink 的 Checkpoint 原理
一步一个脚印,一天一道大数据面试题。Flink 是大数据实时处理计算框架。实时框架对检查点,错误恢复的功能要比离线的更复杂,所以一起来了解 Flink 的 Checkpoint 机制吧。
2024-02-03 20:52:45
1051
原创 随心所欲而不逾矩
举个例子,假设你某天突然发现你对写作有着强烈的兴趣,但周围的人都认为这是一种不稳定的职业选择,他们鼓励你选择更传统且稳定的职业道路。然而,如果你能够真正听从自己的内心,追随自己的激情,可能会发现你在写作方面有着出色的才华和潜力。放在普世环境下无比正确的,但其中一些类似的“普世”正确的观念,对你,却十分不适应。你会发现,在追求自己的梦想的过程中,你能够克服困难、拥抱挑战,并以更加积极的态度和能量去面对生活中的各种问题。如果身体在做的事,和内心是不一致的,那么很快内心会发生摩擦,内耗,并积累难受的情绪。
2023-12-24 11:02:30
512
原创 出发,目标60分
如果我们不能一次性完成所有任务,难道我们就不能开始行动吗?比如,不能同时洗完所有的碗筷就不去清洗;不能腾出完整的30分钟就放弃写作;不能保持完美的学习状态就不愿学习。你是否也有过这样的烦恼?有时,当我想要学习一门技术时,我会不由自主地陷入了解其历史背景、产生背景、架构和与同类技术的异同之中。接受自己的不完美,以全力以赴的状态为100分,向着60分的目标出发。这样我们的大脑就不会被困难所迷惑,而可以轻松达成目标。我曾因为想了解技术背后的故事而错过了开始学习的时机,我想这是。
2023-10-31 13:25:57
145
原创 【随笔】【杂谈】君子慎独有感
而我以前是以为君子要谨慎独处,或者说尽量不要独处,因为独处时我们没有监管,有时我们的欲望完全不受限制。比如深夜自己在一个房间有时会一直一直打游戏,然后第二天问自己“胡适之啊胡适之,你不能这么下去了!比如自己也确实想好好学习找工作,但关上门后就不自觉打开了游戏玩了一个上午。“君子慎独”,实际的意思是在独处时应该更加谨慎,更加自律。所以我现在找到的独处的解决办法是:一般学习时不关门,这个有了一点点小体验,便想简单写下来分享一下。,有家人看着会让我们更加自觉。最近在关上门学习,对。
2023-06-30 16:21:56
208
原创 Spark 数据倾斜优化及热点数据处理
最近在复习Spark 内容,Spark 数据倾斜方面的优化一直是实际生产环境中比较重要的一点,所以学习编写以下内容
2023-04-19 11:57:36
744
1
原创 查看 Elasticsearch 分析器
标准分析器(standard analyzer):标准分析器是 Elasticsearch 默认使用的分析器。自定义分析器(custom analyzer):自定义分析器可以根据具体需求定制各种分析器组件,例如字符过滤器(char filter)、分词器(tokenizer)和标记过滤器(token filter)等。它适用于非常规的文本分析,例如单词短、不需要分词的场景。n-gram 分析器:与 edge n-gram 分析器不同,n-gram 分析器会生成全部字符片段,可以用于实现搜索任意位置匹配。
2023-04-08 13:34:14
676
原创 【Elastic Search】简单操作指令(含 Kibana 控制台)
从指定的索引中搜索与查询匹配的文档。将“”替换为索引名称,“”替换为字段名称,“”替换为要匹配的值。此命令会列出所有索引的列表。显示集群中所有节点的列表,以及有关每个节点的信息,例如节点 ID、IP 地址、状态、角色等。显示每个节点的 IP 地址、堆内存使用情况百分比和 CPU 使用情况。显示当前集群的健康状况。该状态可用于监控集群的稳定性和性能。这些是一些常用的 Elasticsearch 统计语句。显示当前集群中索引的数量。
2023-03-31 00:26:33
1067
原创 【学习笔记 - Flink】Flink,Spark Word Count 对比
带着疑问去学习 Flink 的 WordCount 程序:Spark, Flink 批处理,Flink 流处理 3者,在这 3 处有何不同?声明会话方式?处理中的 map 算子有何不同?如何执行?(如 .show())// Flink 批处理import org.apache.flink.api.scala._object WordCount { def main(args: Array[String]): Unit = { // 创建批处理的执行环境 val en.
2022-04-05 07:45:05
1541
原创 【学习笔记 - Flink】 Flink 架构
Flink 学习笔记本文目的在于自己学习过程中的些许总结,会部分引用到以下文章,特此声明,侵删,感谢引用,学习链接:Flink官网三分钟秒懂大数据 - 史上最全干货!Flink面试大全总结(全文6万字、110个知识点、160张图)Flink 架构Client (项目发起者,架构师)Flink 提供的 CLI 命令行工具。用于提交代码到集群,负责 Stream Graph, Job Graph 的构建。Job Manager (项目经理)Ⅰ 根据并行度将 Flink 分解为子任务
2022-04-03 22:01:23
2688
转载 优秀文章转载
https://www.fangzhipeng.com/spring-cloud.htmlJava 相关学习https://mp.weixin.qq.com/s/tVHicty0KNc7Aac5yF1TEAHadoophttps://mp.weixin.qq.com/s/TWfErsYIxN43f5Y-3z1gZQHivehttps://mp.weixin.qq.com/s/3FCyoBITMbIN-TK_DFXnogFlink
2021-12-30 08:07:51
146
原创 【随笔】“快感”与“痛感”之间的平衡
【随笔】“快感”与“痛感”之间的平衡文章背景思维导图科学原理如何避免?文章背景这篇文章是因为在 B站刷到了up主 帅soserious的视频 【快感上瘾?】如何欺骗大脑做困难的事! 觉得解答了我生活中的一些困惑,有所收获,因此自己也稍稍总结一下,写成文章,希望能有更多朋友有所收获。(个人觉得视频很好看,可以点进去看看,视频不管是剪辑,文案或是节奏我都觉得很棒)思维导图科学原理我喜欢基于科学理论上的“方法论”,而视频开头就告诉了我:人体大脑中产生快感,痛感的区域是重叠的。 因此,当我们产生一定“
2021-12-26 20:04:44
4176
原创 《逆境》读后感
目录登山中的逆境反应停止灾难化登山中的逆境反应这是书中让我最感同身受的例子了,希望大家也能从中有所收获。把我们的人生比作登山,而在登山的过程中,则会出现以下3种人:放弃者,扎营者和攀登者,这 3 种人也对应我们逆境时的 3 种人。放弃者:顾名思义,就是不愿意攀登,害怕遇到困难的人。他们往往只想着 “车到山前必有路” 作为借口,逃避攀登带来的痛苦,讽刺的是,放弃者往往因为躲避一次次的小痛苦,而遭遇了真正领他印象深刻的痛苦。就比如我大三时放弃了学习,等到大四,毕业时在朋友们找到13K的工作时,我只找到
2021-05-30 19:09:04
800
原创 随想
距离上一篇更新,已经有4个月没更新了。这期间我还是做了很多事的。裸辞,再1个月内找到工作并入职(工资翻倍)认为自己写的博客比较浅薄,虽然对我的学习很有帮助,但我想尝试写一些较深的内容,不断尝试互相指定并完成周学习/锻炼计划 除了做了些事以外,我也慢慢想通了些东西。大学四年间,我一直觉得大厂是遥不可及的,只能当
2020-10-27 23:27:21
836
原创 大数据时代必备的搜索引擎 ElasticSearch——你学废了吗?(入门)
ES相关组件安装解压即可安装解压 elasticsearch-7.6.2-windows-x86_64.zip 到 D:\Software\ELK\elasticsearch目录结构|- bin 启动文件|- config 配置|- jdk|- lib 依赖的jar包|- logs 日志|- modules 各模块jar包|- plugins 插件,如后续需要使用的 ik分词器启动 /bin/elasticsearch.bat页面测试# 文档的基本
2020-06-29 23:26:21
446
3
原创 Kafka入门——可达鸭都觉得不难?
目录简介基础架构说明面试题简介 相信从事IT行业的你一定有听过Kafka这门消息队列技术。个人认为是随着行业的不断成熟,出现了越来越多的系统,系统间的信息传输愈发频繁,这促使了消息队列技术的诞生。而Kafka由于其较强的性能与可靠性在各类技术中脱颖而出。 希望本篇文章能对你入门Kafka带来一点帮助。基础架构说明
2020-06-05 16:33:47
493
原创 设计模式 -- 单例模式
我们一位很认真负责又和蔼可亲的老师说过一句话:“现在各种语言技术更新迭代的速度非常快,推陈出新。但一些经典的思想不会被时间冲淡,设计模式就是一些经典开发思想的总结” 所以我们今天来看看设计模式中最常出现的单例模式,希望能给看到这篇文章的朋友能够有所收获。单例模式 单例模式是我们常用的设计模式。我们的生活中就有很多单例模式例子。例如:一个xlsx文件一般只能打开一个工作窗口...
2020-04-11 16:37:16
224
原创 大数据面试题整理汇总(持续更新ING)
目录Spark1. 对于Spark存在的数据倾斜问题你有什么好的解决方法吗?2. 简述你所理解的 Spark 的 shuffle 过程3. Spark中的算子分为哪两类?Spark1. 对于Spark存在的数据倾斜问题你有什么好的解决方法吗?调整并行度分散Key(一般是增大并行度)自定义Partitioner(默认HashPartitioner)处理Key,如增加随机的前缀2. 简...
2020-04-06 22:50:40
731
原创 通过Spark的UDAF看各类大数据组件原理
通过Spark的UDAF看各类大数据组件大数据处理的原理Spark UDAF(用户自定义聚合函数)一点感想 在IT界,每一项技术的兴起往往是因为这项技术解决了某项痛点。C语言作为高级语言兴起,很大程度是因为降低了编程难度(对比汇编语言)。数据库的兴起是因为解决了重要数据的存储问题。以Hadoop为首的大数据组件的兴起,就是为了应对爆炸增长的数据量。大数据处理的原理 Ha...
2020-03-29 23:17:09
355
原创 招聘岗位上到处都要求熟练的Hive究竟是何方神圣?
目录简介数据结构数据模型简介Hive是基于Hadoop的数据仓库大数据组件。将易上手的SQL语句转化的MapReduce作业。数据结构元数据Hive存储的是一张张的数据表,而元数据就是其中的表结构;存储形式:存于Derby数据库,或MySQL,Oracle数据库。表数据表中存储的数据。存储形式:每张表存于HDFS中的一个目录中;数据模型内部表最接近普通关系型数...
2020-03-27 00:17:47
499
原创 常用的 ps -ef 究竟是什么意思呢?
在提起常用的Linux命令时,你排查异常进程时,一定使用过 ps -ef,那么如此常见的 ps 命令具体是什么意思呢?ps -ef字段含义UID进程的所属用户PID进程IDPPID父进程IDC进程的所属用户STIME进程的所属用户TTY所属终端TIME消耗的CPU时间CMD执行的命令...
2020-01-24 09:59:42
2601
原创 【错误处理】Spark读取数据库 Numberic Overflow
目录1. 错误背景2. 错误详情3. 解决方案4. 不知道如何总结1. 错误背景前些天,Spark读取Oracle数据库时发生这个报错。Numberic Overflow,一般来说就是拿来装数字的字段类型装不下了。比如你用 Int类型来装 Long类型的大数字。一般这种问题,将字段类型增大即可,但几经尝试,发现结果并不是如此,不过怎么加大Spark中对应的字段类型,都无济于事。2. 错误详情...
2020-01-19 23:09:17
526
原创 Linux 常用命令汇总(持续更新)
目录iptables 防火墙ls 浏览文件Linux命令种类繁多,有一些语法复杂冗余,不容易记住。所以我就在平时兼顾运维时总结一些常用的 Linux命令,以便不时之需。iptables 防火墙ls 浏览文件ls -lt #按时间排序列出文件ls -lrt #按时间排序列出文件,升序...
2020-01-16 05:25:02
247
原创 Flume入门
目录Flume简介个人理解Flume核心组件Flume简介Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible arch...
2019-12-31 10:51:37
183
原创 【错误处理】Kettle-JNDI模式-密码错误
我们通过配置 jdbc.properties 来使用 JNDI 模式连接数据库;这次我们的密码是#错误原因就是 #student/password=stu#123因为Kettle在解析 jdbc.properties 时,如果遇到井号,会截取到井号前的内容该行后面的内容都将丢失 int idx = line.indexOf('#'); // remove comment...
2019-12-26 12:58:19
1206
1
原创 【错误处理】Shell,Properties在Linux下无法执行
目录原因解决方法近期编写 jdbc.properties 配置文件,上传至 Linux 后无法执行。检查核对无错误。原因我在Windows 环境下编写的文件,在Linux下无法执行。是因为在Windows环境下编写时,会自动在每一行的结尾处添加一个特殊字符做处理,或是因为使用的编码与 vim 不一致。解决方法要在 Linux 下执行的 Shell脚本,Properties配置文件,均在 ...
2019-12-20 13:00:52
284
原创 【错误处理】ORA-14400 插入的分区关键字未映射到任何分区
一般是由分区未能自动拓展造成的,修改表自动拓展分区即可。ALTER TABLE b_student SET INTERVAL(NUMTOYMINTERVAL(1, 'DAY'));
2019-12-18 14:05:18
1236
原创 【错误处理】【Kettle】ORA-01013 user requested cancel of current operation 用户取消当前操作
问题背景在 Kettle 的【表输入】模块,编写了复杂的SQL语句,虽然在数据库中正常执行,数据量和查询时间都不大,但就是会出现ORA-01013 user requested cancel of current operation 用户取消当前操作这个一般认为是超时的错误。解决方法简化SQL我将那段复杂的SQL语句改为视图,这样原先复杂的SQL就不会出现在Kettle中了。我个人...
2019-12-14 22:59:39
5559
原创 【错误处理】Kettle报错ConcurrentModificationException
目录报错背景解决办法报错背景Ketttle版本: 5.1JDK版本: jdk1.7.0_67在编写Kettle任务时,如果内容是类似下图的多任务,总是出现ConcurrentModificationException,有时报错,有时又不报错。这应该是Kettle工具的内部BUG吧,但我也摸索到了这个BUG的解决办法,希望能帮到你。解决办法将放在同一个ktr(转换)的多个任务,拆解到多...
2019-12-14 22:39:05
765
原创 java中的时间转换(三)(java.time)
在 Java 8中,添加了新的时间工具类;java.timeLocalDateLocalTimeLocalDateTime下面我们以 LocalDate为示例,说明它的操作方法获取时间//获取当前时间(日期) 2019-12-08LocalDate nowDate = LocalDate.now();//自定义日期 2008-06-01LocalDate ofDate ...
2019-12-08 16:48:38
358
原创 java中的时间转换(二)(SimpleDateFormat)
SimpleDateFormat创建SimpleDateFormat时即可指定各种时间格式//DemoSimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd")SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format() 把时间转化为对应格...
2019-12-07 17:20:45
504
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅