11 2020 档案
发表于 2020-11-25 15:19阅读:425评论:0推荐:0
摘要:数组与链表的优缺点 原理 数组,在内存上给出了连续的空间. 链表,内存地址上可以是不连续的, 数组: 优点:使用方便 ,查询效率 比链表高,内存为一连续的区域 缺点:大小固定,不适合动态存储,不方便动态添加 链表: 优点:可动态添加删除 大小可变 缺点:只能通过顺次指针访问,查询效率低 链表和数组的
阅读全文 »
发表于 2020-11-25 11:41阅读:1945评论:0推荐:0
摘要:查看正在进行的任务 ./flink list 取消job并保存状态 ./flink cancel -s jobid 重启job ./flink run -s savepointPath -c 主类 xxx.jar
阅读全文 »
发表于 2020-11-25 11:32阅读:482评论:0推荐:0
摘要:Flink优化 1.使用flink tuples tuples 是否比pojo性能好呢? 是的. 类继承自 Tuple public class ProvinceEvent extends Tuple3<Long,String,String> { // private Long timestamps
阅读全文 »
发表于 2020-11-25 11:30阅读:782评论:0推荐:1
摘要:prometheus+grafana 监控hadoop、yarn https://blog.csdn.net/c275090933/article/details/82108014 Prometheus+Grafana搭建监控系统 https://www.jianshu.com/p/5f74d22b
阅读全文 »
发表于 2020-11-25 11:25阅读:1116评论:0推荐:0
摘要:写入redis resultStream.addSink(new RedisSink(FlinkUtils.getRedisSinkConfig(parameters),new MyRedisMapper())); getRedisSinkConfig public static FlinkJedi
阅读全文 »
发表于 2020-11-25 11:12阅读:981评论:0推荐:0
摘要:Flink批处理与hbase的读写 source-hbase 父类 是模仿官方写的. import org.apache.flink.api.common.io.LocatableInputSplitAssigner; import org.apache.flink.api.common.io.Ri
阅读全文 »
发表于 2020-11-25 10:38阅读:1122评论:0推荐:1
摘要:flink on yarn 为什么要用yarn? 如果不用yarn.假设有10个job运行在flink集群上,如果有一个出问题.发生了OOM,最后导致taskmanager挂掉.那么jobmanager会调度任务到其他的taskmanager上面.最后是连锁反应,会造成所有的taskmanager都
阅读全文 »
发表于 2020-11-25 10:29阅读:723评论:0推荐:0
摘要:使用 RichAsyncFunction 加 CacheBuilder CacheBuilder.newBuilder() //最多存储10000条 .maximumSize(10000) //过期时间为1分钟 .expireAfterWrite(60, TimeUnit.SECONDS) .bui
阅读全文 »
发表于 2020-11-25 10:23阅读:288评论:0推荐:0
摘要:结果 /** * @author WeiJiQian * BF_CARDINAL_THRESHOLD BF_FALSE_POSITIVE_RATE 保存的数据量 * 100,0000 0.01 391万 * 1000,0000 0.01 3700万 * 1,0000,0000 0.01 total:
阅读全文 »
发表于 2020-11-25 10:21阅读:1098评论:1推荐:0
摘要:import org.apache.flink.api.common.state.ReducingState; import org.apache.flink.api.common.state.ReducingStateDescriptor; import org.apache.flink.api.
阅读全文 »
发表于 2020-11-25 10:20阅读:1426评论:0推荐:0
摘要:1. 流与批处理的区别 流处理系统 流处理系统,其节点间数据传输的标准模型是:当一条数据被处理完成后,序列化到缓存中,然后立刻通过网络传输到下一个节点,由下一个节点继续处理。 批处理系统 批处理系统,其节点间数据传输的标准模型是:当一条数据被处理完成后,序列化到缓存中,并不会立刻通过网络传输到下一个
阅读全文 »
发表于 2020-11-25 10:10阅读:926评论:0推荐:0
摘要:怎么确定一个Flink job的资源 Slots && parallelism 一个算子的parallelism 是5 ,那么这个算子就需要5个slot, 公式 :一个算子的parallelism 是n ,那么这个算子就需要5个n 通俗理解:几个并行度,就是有几个线程处理。 如何计算Slot 如果不
阅读全文 »
发表于 2020-11-25 09:51阅读:1213评论:0推荐:0
摘要:.keyBy(0) .window(TumblingProcessingTimeWindows.of(Time.days(1), Time.hours(-8))) .trigger(ContinuousProcessingTimeTrigger.of(Time.seconds(10))) .evic
阅读全文 »
发表于 2020-11-25 09:49阅读:1919评论:0推荐:0
摘要:public static ParameterTool getParameterTool(String[] args){ try { return ParameterTool .fromPropertiesFile(PropertiesUtil.class.getResourceAsStream("
阅读全文 »
发表于 2020-11-20 22:05阅读:293评论:0推荐:0
摘要:1 尽量避免数据源的数据倾斜 比如数据源是Kafka 以Spark Stream通过DirectStream方式读取Kafka数据为例。由于Kafka的每一个Partition对应Spark的一个Task(Partition),所以Kafka内相关Topic的各Partition之间数据是否平衡,直
阅读全文 »
发表于 2020-11-20 22:03阅读:550评论:0推荐:0
摘要:数据倾斜只会发生在shuffle过程中。这里给大家罗列一些常用的并且可能会触发shuffle操作的算子:distinct、groupByKey、reduceByKey、aggregateByKey、join、cogroup、repartition等。出现数据倾斜时,可能就是你的代码中使用了这些算子中
阅读全文 »
发表于 2020-11-20 22:02阅读:111评论:0推荐:0
摘要:什么是数据倾斜 对Spark/Hadoop这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜。 何谓数据倾斜?数据倾斜指的是,并行处理的数据集中,某一部分(如Spark或Kafka的一个Partition)的数据显著多于其它部分,从而使得该部分的处理速度成为整个数据集处理的瓶颈。 如果数据倾斜
阅读全文 »
发表于 2020-11-19 11:26阅读:538评论:0推荐:1
摘要:1 内存调整要点 Memory Tuning,Java对象会占用原始数据2~5倍甚至更多的空间。最好的检测对象内存消耗的办法就是创建RDD,然后放到cache里面去,然后在UI上面看storage的变化。使用-XX:+UseCompressedOops选项可以压缩指针(8字节变成4字节)。在调用co
阅读全文 »
发表于 2020-11-19 11:21阅读:340评论:0推荐:0
摘要:1 Spark Web UI Spark提供了一些基本的Web监控页面,对于日常监控十分有用。 通过http://master:4040(默认端口是4040,可以通过spark.ui.port修改)我们可以获得运行中的程序信息:(1)stages和tasks调度情况;(2)RDD大小及内存使用;(3
阅读全文 »
发表于 2020-11-19 11:19阅读:191评论:0推荐:0
摘要:1基本概念和原则 每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面去执行。Stage指的是一组并行运行的task,stage内部是不能出现shuffle的,因为shuffle的就像篱笆一样阻止了并行task的运行
阅读全文 »
发表于 2020-11-19 11:14阅读:349评论:0推荐:0
摘要:Spark性能优化指南——高级篇 Spark性能优化指南——基础篇
阅读全文 »
发表于 2020-11-19 11:13阅读:446评论:0推荐:0
摘要:1.使用mapPartitions算子提高性能 mapPartition的优点:使用普通的map操作,假设一个partition中有1万条数据,那么function就要被执行1万次,但是使用mapPartitions操作之后,function仅仅会被执行一次,显然性能得到了很大的提升,这个就没必要在
阅读全文 »
发表于 2020-11-19 11:08阅读:471评论:0推荐:0
摘要:1 task的内存缓冲调节参数 2 reduce端聚合内存占比 spark.shuffle.file.buffer map task的内存缓冲调节参数,默认是32kb spark.shuffle.memoryFraction reduce端聚合内存占比,默认0.2 怎么判断在什么时候对这两个参数进行
阅读全文 »
发表于 2020-11-19 11:07阅读:356评论:0推荐:0
摘要:降低cache操作的内存占比 方案: 通过SparkConf.set("spark.storage.memoryFraction","0.6")来设定。默认是0.6,可以设置为0.5 0.3 等 原因: spark中,堆内存又被划分成了两块儿,一块儿是专门用来给RDD的cache、persist操作
阅读全文 »
发表于 2020-11-19 11:05阅读:174评论:0推荐:0
摘要:数据本地化等待时长调节的优化 在项目该如何使用? 通过 spark.locality.wait 参数进行设置,默认为3s,6s,10s。 项目中代码展示: new SparkConf().set("spark.locality.wait","10"); 作者:z小赵 链接:https://www.j
阅读全文 »
发表于 2020-11-19 11:04阅读:127评论:0推荐:0
摘要:广播大变量,重复用到的变量 原因见 https://www.jianshu.com/p/2c297b23ebda
阅读全文 »
发表于 2020-11-19 11:03阅读:110评论:0推荐:0
摘要:如果一个RDD在两个地方用到,就持久化他.不然第二次用到他时,会再次计算. 直接调用cache()或者presist()方法对指定的RDD进行缓存(持久化)操作,同时在方法中指定缓存的策略。 原文:https://www.jianshu.com/p/9555644ccc0f
阅读全文 »
发表于 2020-11-19 11:02阅读:523评论:0推荐:0
摘要:问题一:有哪些资源可以分配给spark作业使用? 答案:executor个数,cpu per exector(每个executor可使用的CPU个数),memory per exector(每个executor可使用的内存),driver memory 问题二:在什么地方分配资源给spark作业?
阅读全文 »
发表于 2020-11-19 11:00阅读:87评论:0推荐:0
摘要:作者:十一喵先森 链接:https://juejin.im/post/5e1c41c6f265da3e152d1e62 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 对上文的总结. Shuffle 的核心要点 什么是shuffle? 需要统筹全局的算子,sort就
阅读全文 »
发表于 2020-11-19 10:59阅读:163评论:0推荐:0
摘要:作者:十一喵先森 链接:https://juejin.im/post/5e1c414fe51d451cad4111d1 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 对上文的总结 Spark 任务调度概述 一个Spark应用程序包括Job、Stage以及Task三
阅读全文 »
发表于 2020-11-19 10:57阅读:90评论:0推荐:0
摘要:Spark 集群会启动 Driver 和 Executor 两种 JVM 进程 我们只关注Executor的内存. 分为堆内内存和堆外内存 内存分为 存储内存 : 存储数据用的. 执行内存: 执行shuffle时占用的. 其他内存: 用户自定义的对象. 堆内内存 这是由jvm管理.spark自己不知
阅读全文 »
发表于 2020-11-19 10:56阅读:172评论:0推荐:0
摘要:Master URL Meaning local 在本地运行,只有一个工作进程,无并行计算能力。 local[K] 在本地运行,有K个工作进程,通常设置K为机器的CPU核心数量。 local[*] 在本地运行,工作进程数量等于机器的CPU核心数量。 spark://HOST:PORT 以Standa
阅读全文 »
发表于 2020-11-19 10:51阅读:2096评论:0推荐:1
摘要:提升Spark运行 spark.sql.adaptive.enabled=true spark的自适应执行,启动Adaptive Execution spark.dynamicAllocation.enabled=true 开启动态资源分配,Spark可以根据当前作业的负载动态申请和释放资源 spa
阅读全文 »
发表于 2020-11-19 10:50阅读:322评论:0推荐:1
摘要:1 Spark开发调优篇 原则一:避免创建重复的RDD 原则二:尽可能复用同一个RDD 原则三:对多次使用的RDD进行持久化 原则四:尽量避免使用shuffle类算子 因此在我们的开发过程中,能避免则尽可能避免使用reduceByKey、join、distinct、repartition等会进行sh
阅读全文 »
发表于 2020-11-17 18:46阅读:424评论:0推荐:0
摘要:Durid的特点 1.为什么会有Durid? 创建Druid的最初意图主要是为了解决查询延迟问题,当时试图使用Hadoop来实现交互式查询分析,但是很难满足实时分析的需要。而Druid提供了以交互方式访问数据的能力,并权衡了查询的灵活性和性能而采取了特殊的存储格式。 2.Durid的优点. 在高并发
阅读全文 »
发表于 2020-11-17 17:38阅读:82评论:0推荐:0
摘要:尚硅谷大数据的各种知识 https://zhenchao125.github.io/ https://github.com/zhenchao125
阅读全文 »
发表于 2020-11-17 16:27阅读:958评论:0推荐:0
摘要:Kylin的特点 0.原理 从Hive读取数据,计算引擎可以用MapReduce 或者Spark, 把结果写入Hbase. 下次查询就会很快,也就是所谓的预计算. 1.为什么会有Kylin? hive查询太慢了 2.Kylin的优点. 写SQL查询,结果预聚合. 有可视化页面 3.什么时候可以用Ky
阅读全文 »
发表于 2020-11-17 16:24阅读:837评论:0推荐:0
摘要:Kudu的特点 0.原理 列式存储管理器 一个列式存储数据的地方,跟mysql差不多,只是mysql是行式存储. 他是一个集群,能分布式存储. 查询也是写sql语句. 列式存储效率高. 1.为什么会有Kudu? hive读写数据快,分析数据慢 hbase 分析数据快,读写慢. 上面两个是极端,kud
阅读全文 »
发表于 2020-11-17 16:23阅读:290评论:0推荐:0
摘要:Impala的特点 0. 原理 基于内存的分析框架. 1.为什么会有Impala? hive进行计算太慢了,于是就有了Impala,Impala可以理解为是hive的内存版本. 2.Impala的优点. hive的升级版本,完全基于内存计算 会hive 就会Impala 3.什么时候可以用Impal
阅读全文 »
发表于 2020-11-17 16:20阅读:3894评论:0推荐:0
摘要:1.为什么会有Clickhouse? 实时数据分析数据库 俄罗斯的谷歌开发的. 2.Clickhouse的优点. 真正的面向列的 DBMS ClickHouse 是一个 DBMS,而不是一个单一的数据库。它允许在运行时创建表和数据库、加载数据和运行 查询,而无需重新配置和重新启动服务器。 数据压缩
阅读全文 »
发表于 2020-11-17 16:19阅读:1020评论:0推荐:0
摘要:什么是olap 01、绝大多数请求都是读请求 02、数据以相当大的批次(>1000行)更新,而不是单行更新;或者它根本没有更新 03、数据已添加到数据库,但不会进行修改 04、对于读取,每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列 05、表格“宽”,意味着它们包含大量列 06、查询相对
阅读全文 »
发表于 2020-11-15 15:13阅读:86评论:0推荐:0
摘要:博客园博客设置自己的主题 主题文档 页面效果 博客主题github地址
阅读全文 »