自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mischen520的博客

技术成就梦想

  • 博客(67)
  • 资源 (17)
  • 收藏
  • 关注

原创 Vue 的 keep-alive 的作用?

keep-alive可以在组件切换时,保存其包裹的组件的状态,使其不被销毁,防止多次渲染。其拥有两个独立的生命周期钩子函数 actived 和 deactived,使用keep-alive包裹的组件在切换时不会被销毁,而是缓存到内存中并执行 deactived 钩子函数,命中缓存渲染后会执行 actived 钩子函数。propsinclude - 字符串或正则表达,只有匹配的组件会被缓存exclude - 字符串或正则表达式,任何匹配的组件都不会被缓存<template> <

2021-07-30 18:53:56 136

原创 大数据架构师必须掌握的前沿技术生态体系

图中涉及的技术名词解释如下:1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySQL)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。2)Flume:Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;3)Kafka:Kafka是一种高吞吐量的分布式发布订阅.

2021-07-25 16:48:40 236

原创 为什么需要HDFS?

随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之

2021-07-25 16:28:39 1168

原创 Zookeeper监听器原理(面试重点)

2021-07-25 15:24:51 220

原创 Zookeeper内部原理-节点类型分析

2021-07-25 15:22:56 91

原创 zk删除非空节点,递归实现

//封装一个方法,方便递归调用public void deleteAll(String path, ZooKeeper zk) throws KeeperException, InterruptedException { //判断节点是否存在 Stat stat = zkClient.exists(path, false); if (stat == null) { System.out.println("节点不存在..."); return;

2021-07-25 15:18:15 920

原创 Zookeeper配置文件zoo.cfg详解

1)tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)2)initLimit =10:LF初始通信时限集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心

2021-07-25 13:06:32 609

原创 Zookeeper的应用场景

提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。统一命名服务:统一配置管理:统一集群管理:服务器动态上下线:软负载均衡:...

2021-07-25 12:48:17 73

原创 java压缩文件夹以及下面的所有文件(支持递归压缩)

直接上代码:package com.mischen.it.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.util.Date;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** * @ClassName TestCreateZip * @Description D

2021-07-24 14:48:42 1639

原创 什么是Azkaban?

Azkaban是一个工作流调度系统,为什么需要工作流调度系统1)一个完整的数据分析系统通常都是由大量任务单元组成:Shell脚本程序,Java程序,MapReduce程序、Hive脚本等2)各任务单元之间存在时间先后及前后依赖关系3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行常见工作流调度系统1)简单的任务调度:直接使用Linux的Crontab来定义;2)复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如Azkaban、Ooize、Airflow、Dol

2021-07-24 14:19:25 406

原创 Flink计算资源的调度是如何实现的?

TaskManager中最细粒度的资源是Task slot,代表了一个固定大小的资源子集,每个TaskManager会将其所占有的资源平分给它的slot。通过调整 task slot 的数量,用户可以定义task之间是如何相互隔离的。每个 TaskManager 有一个slot,也就意味着每个task运行在独立的 JVM 中。每个 TaskManager 有多个slot的话,也就是说多个task运行在同一个JVM中。而在同一个JVM进程中的task,可以共享TCP连接(基于多路复用)和心跳消息,可以减少

2021-07-24 13:49:35 600

原创 简述Spark中共享变量(广播变量和累加器)的基本原理与用途

累加器(accumulator)是Spark中提供的一种分布式的变量机制,其原理类似于mapreduce,即分布式的改变,然后聚合这些改变。累加器的一个常见用途是在调试时对作业执行过程中的事件进行计数。而广播变量用来高效分发较大的对象。共享变量出现的原因:通常在向Spark 传递函数时,比如使用 map() 函数或者用 filter() 传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值也不会影响驱动器中的对应变量。Spark.

2021-07-13 20:55:04 960 3

原创 简述Spark中的缓存机制(cache和persist)与checkpoint机制,并指出两者的区别与联系

都是做RDD持久化的cache:内存,不会截断血缘关系,使用计算过程中的数据缓存。checkpoint:磁盘,截断血缘关系,在ck之前必须没有任何任务提交才会生效,ck过程会额外提交一次任务。

2021-07-13 08:18:41 813

原创 Spark常用算子reduceByKey与groupByKey的区别,哪一种更具优势?

reduceByKey:按照key进行聚合,在shuffle之前有combine(预聚合)操作,返回结果是RDD[k,v]。groupByKey:按照key进行分组,直接进行shuffle。开发指导:reduceByKey比groupByKey,建议使用。但是需要注意是否会影响业务逻辑。...

2021-07-13 08:09:59 347

原创 列举Spark的transformation算子(不少于8个),并简述功能(重点)

1)map(func):返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成.2)mapPartitions(func):类似于map,但独立地在RDD的每一个分片上运行,因此在类型为T的RD上运行时,func的函数类型必须是Iterator[T] => Iterator[U]。假设有N个元素,有M个分区,那么map的函数的将被调用N次,而mapPartitions被调用M次,一个函数一次处理所有分区。3)reduceByKey(func,[numTask]):在一个(K,V

2021-07-13 08:06:55 640

原创 Spark有几种部署方式?请分别简要论述

1)Local:运行在一台机器上,通常是练手或者测试环境。2)Standalone:构建一个基于Mster+Slaves的资源调度集群,Spark任务提交给Master运行。是Spark自身的一个调度系统。3)Yarn: Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。4)Mesos:国内大环境比较少用。...

2021-07-13 08:02:11 687

原创 Flink Job的提交流程

用户提交的Flink Job会被转化成一个DAG任务运行,分别是:StreamGraph、JobGraph、ExecutionGraph,Flink中JobManager与TaskManager,JobManager与Client的交互是基于Akka工具包的,是通过消息驱动。整个Flink Job的提交还包含着ActorSystem的创建,JobManager的启动,TaskManager的启动和注册。...

2021-07-12 08:12:31 336 1

原创 什么是Operator Chains(算子链)?

为了更高效地分布式执行,Flink会尽可能地将operator的subtask链接(chain)在一起形成task。每个task在一个线程中执行。将operators链接成task是非常有效的优化:它能减少线程之间的切换,减少消息的序列化/反序列化,减少数据在缓冲区的交换,减少了延迟的同时提高整体的吞吐量。这就是我们所说的算子链。...

2021-07-11 10:46:46 711

原创 Flink的反压和Strom有哪些不同?

Storm 是通过监控 Bolt 中的接收队列负载情况,如果超过高水位值就会将反压信息写到 Zookeeper ,Zookeeper 上的 watch 会通知该拓扑的所有 Worker 都进入反压状态,最后 Spout 停止发送 tuple。Flink中的反压使用了高效有界的分布式阻塞队列,下游消费变慢会导致发送端阻塞。二者最大的区别是Flink是逐级反压,而Storm是直接从源头降速。...

2021-07-11 10:45:09 158

原创 Flink是如何处理反压的?

Flink 内部是基于 producer-consumer 模型来进行消息传递的,Flink的反压设计也是基于这个模型。Flink 使用了高效有界的分布式阻塞队列,就像 Java 通用的阻塞队列(BlockingQueue)一样。下游消费者消费变慢,上游就会受到阻塞。...

2021-07-11 10:43:05 289

原创 Flink任务延迟高,想解决这个问题,你会如何入手?

在Flink的后台任务管理中,我们可以看到Flink的哪个算子和task出现了反压。最主要的手段是资源调优和算子调优。资源调优即是对作业中的Operator的并发数(parallelism)、CPU(core)、堆内存(heap_memory)等参数进行调优。作业参数调优包括:并行度的设置,State的设置,checkpoint的设置。...

2021-07-11 10:41:18 681

原创 Flink中在使用聚合函数 GroupBy、Distinct、KeyBy 等函数时出现数据热点该如何解决?

数据倾斜和数据热点是所有大数据框架绕不过去的问题。处理这类问题主要从3个方面入手:在业务上规避这类问题例如一个假设订单场景,北京和上海两个城市订单量增长几十倍,其余城市的数据量不变。这时候我们在进行聚合的时候,北京和上海就会出现数据堆积,我们可以单独数据北京和上海的数据。Key的设计上把热key进行拆分,比如上个例子中的北京和上海,可以把北京和上海按照地区进行拆分聚合。参数设置Flink 1.9.0 SQL(Blink Planner) 性能优化中一项重要的改进就是升级了微批模型,即

2021-07-11 08:21:44 978

原创 Flink中的Window出现了数据倾斜,你有什么解决办法?

window产生数据倾斜指的是数据在不同的窗口内堆积的数据量相差过多。本质上产生这种情况的原因是数据源头发送的数据量速度不同导致的。出现这种情况一般通过两种方式来解决:在数据进入窗口前做预聚合重新设计窗口聚合的key...

2021-07-11 08:17:51 365

原创 Flink是如何保证Exactly-once语义的?

Flink通过实现两阶段提交和状态保存来实现端到端的一致性语义。分为以下几个步骤:开始事务(beginTransaction)创建一个临时文件夹,来写把数据写入到这个文件夹里面预提交(preCommit)将内存中缓存的数据写入文件并关闭正式提交(commit)将之前写完的临时文件放入目标目录下。这代表着最终的数据会有一些延迟丢弃(abort)丢弃临时文件若失败发生在预提交成功后,正式提交前。可以根据状态来提交预提交的数据,也可删除预提交的数据。...

2021-07-11 08:06:36 588

原创 Flink是如何做容错的?

Flink 实现容错主要靠强大的CheckPoint机制和State机制。Checkpoint 负责定时制作分布式快照、对程序中的状态进行备份;State 用来存储计算过程中的中间状态。

2021-07-11 07:33:33 383

原创 Flink分布式快照的原理是什么?

Flink的容错机制的核心部分是制作分布式数据流和操作算子状态的一致性快照。 这些快照充当一致性checkpoint,系统可以在发生故障时回滚。 Flink用于制作这些快照的机制在“分布式数据流的轻量级异步快照”中进行了描述。 它受到分布式快照的标准Chandy-Lamport算法的启发,专门针对Flink的执行模型而定制。barriers在数据流源处被注入并行数据流中。快照n的barriers被插入的位置(我们称之为Sn)是快照所包含的数据在数据源中最大位置。例如,在Apache Kaf.

2021-07-11 07:30:46 1613

原创 Flink是如何做到高效的数据交换的?

在一个Flink Job中,数据需要在不同的task中进行交换,整个数据交换是有 TaskManager 负责的,TaskManager 的网络组件首先从缓冲buffer中收集records,然后再发送。Records 并不是一个一个被发送的,二是积累一个批次再发送,batch 技术可以更加高效的利用网络资源。...

2021-07-11 07:29:04 545

原创 Flink 中的Watermark机制

Watermark 是一种衡量 Event Time 进展的机制,可以设定延迟触发Watermark 是用于处理乱序事件的,而正确的处理乱序事件,通常用Watermark 机制结合 window 来实现;数据流中的 Watermark 用于表示 timestamp 小于 Watermark 的数据,都已经到达了,因此,window 的执行也是由 Watermark 触发的。...

2021-07-08 23:14:13 203 2

原创 说说Flink中的窗口?

Flink 支持两种划分窗口的方式,按照time和count。如果根据时间划分窗口,那么它就是一个time-window 如果根据数据划分窗口,那么它就是一个count-window。flink支持窗口的两个重要属性(size和interval)如果size=interval,那么就会形成tumbling-window(无重叠数据) 如果size>interval,那么就会形成sliding-window(有重叠数据) 如果size< interval, 那么这种窗口将会丢失数据。比如...

2021-07-08 23:10:41 159

原创 Flink CEP 编程中当状态没有到达的时候会将数据保存在哪里?

在流式处理中,CEP 当然是要支持 EventTime 的,那么相对应的也要支持数据的迟到现象,也就是watermark的处理逻辑。CEP对未匹配成功的事件序列的处理,和迟到数据是类似的。在 Flink CEP的处理逻辑中,状态没有满足的和迟到的数据,都会存储在一个Map数据结构中,也就是说,如果我们限定判断事件序列的时长为5分钟,那么内存中就会存储5分钟的数据...

2021-07-08 23:07:19 511

原创 介绍一下Flink的CEP机制

CEP全称为Complex Event Processing,复杂事件处理Flink CEP是在 Flink 中实现的复杂事件处理(CEP)库CEP 允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中重要的部分一个或多个由简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据 —— 满足规则的复杂事件...

2021-07-08 23:04:45 335

原创 Runnable和Callable的区别

1)Runnable接口中的方法没有返回值;Callable接口中的方法有返回值2)Runnable接口中的方法没有抛出异常;Callable接口中的方法抛出了异常3)Runnable接口中的落地方法是call方法;Callable接口中的落地方法是run方法...

2021-07-08 21:00:35 131

原创 二叉树的特点?

(1)树执行查找、删除、插入的时间复杂度都是O(logN)(2)遍历二叉树的方法包括前序、中序、后序(3)非平衡树指的是根的左右两边的子节点的数量不一致(4)在非空二叉树中,第i层的结点总数不超过 , i>=1;(5)深度为h的二叉树最多有个结点(h>=1),最少有h个结点;(6)对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;...

2021-07-08 20:55:24 206

原创 什么是二叉树?

2021-07-08 20:45:12 133

原创 什么是数据湖?

数据湖(Data Lake)是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。目前,Hadoop是最常用的部署数据湖的技术,所以很多人会觉得数据湖就是Hadoop集群。数据湖是一个概念,而Hadoop是用于实现这个概念的技术。 数据仓库 数据湖 主要处理历史的、结构化的数据,而且这些数据必须与数据仓库事先定义的模型吻合。 能处理所有类型的数据,如结构化数据,非结构化数据,半结构化数据等,数据的.

2021-07-08 20:35:59 538

原创 java可视化报表工具有哪些?

Echarts(百度开源)、kibana(开源)、Tableau(功能强大的收费软件)、Superset(功能一般免费)、QuickBI(阿里云收费的离线)、DataV(阿里云收费的实时)

2021-07-08 20:32:25 292

原创 java实现文件流保持到本地的方法

private void savePic(InputStream inputStream, String fileName) { OutputStream os = null; try { String path = "D:\\testFile\\"; // 2、保存到临时文件 // 1K的数据缓冲 byte[] bs = new byte[1024]; ...

2021-07-08 18:53:12 6037

原创 reduceByKey、foldByKey、aggregateByKey、combineByKey区别

ReduceByKey 没有初始值 分区内和分区间逻辑相同foldByKey 有初始值 分区内和分区间逻辑相同aggregateByKey 有初始值 分区内和分区间逻辑可以不同combineByKey 初始值可以变化结构 分区内和分区间逻辑不同...

2021-07-07 08:06:50 717

原创 Repartition和Coalesce的区别

1)关系:两者都是用来改变RDD的partition数量的,repartition底层调用的就是coalesce方法:coalesce(numPartitions, shuffle = true)2)区别:repartition一定会发生shuffle,coalesce根据传入的参数来判断是否发生shuffle一般情况下增大rdd的partition数量使用repartition,减少partition数量时使用coalesce...

2021-07-07 08:03:38 862

原创 map和mapPartitions区别

1)map:每次处理一条数据2)mapPartitions:每次处理一个分区数据

2021-07-07 08:02:25 381

redis-2.6.zip

redis测试开发使用,直接在windows安装即可使用,需要的小伙伴们可以下载哦

2019-06-05

SecureCRT.exe

一款非常好用的支持ssh的连接工具,不要注册码的安装,安装好以后可以直接使用

2017-01-18

mysql64位安装工具

一款非常还用的MySQL,支持64位操作系统

2017-01-18

mysql-5.5.40-win32安装包

非常好用的mysql数据库,简单易装

2017-01-18

远程连接服务器工具SFTP

一款非常好用的连接服务器的工具,支持快速上传和下载

2017-01-18

登陆注册界面实现

登陆注册界面实现

2016-08-03

servlet作为服务器响应请求.zip

servlet作为服务器登陆注册界面的实现,非常有用的一段代码。

2016-07-14

用js写的163登陆界面系统

用js写的163登陆界面系统,所有功能几乎都已完善,只有少许有待优化

2016-07-11

apache-tomcat-6.0.18.exe

2016-07-11

MyEclipse10.1破解工具及方法图解.zip

2016-07-10

mysql-connector-java-5.1.26.jar

mysql-connector-java-5.1.26.jar,支持mysql 5.0

2016-06-28

commons-logging-1.2-bin.zip

2016-06-26

eclipse4.5.1.exe

只支持32位windows系统

2016-06-26

eclipse-inst-win32.zip

只支持32位windows操作系统

2016-06-25

net.sf.jadclipse压缩包

一款非常耐用的java反编译器,下载非常方便

2016-06-23

mysql中文学习手册

mysql中文学习手册,很值得一看哦!

2016-06-23

mysql 5.0资源下载

非常好用的一个mysql 5.0的配置文件,欢迎下载

2016-06-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除