
java
文章平均质量分 83
zhou12314456
这个作者很懒,什么都没留下…
展开
-
一文读懂spark数据倾斜
spark中出现数据倾斜的原因?前面分析过shuffle 的原理,主要就是按照key来进行values的数据的输出,拉取和聚合的。同一个key的value,肯定会分配到同一个reduce task进行处理的。为什么会出现数据倾斜呢,举个例子,假如多个key对应的values,一共是100万,但是可能某个key对应的value数量就已经到达了98万,占了绝大多数,另外两个key,可能各分配到了一...原创 2019-12-25 00:39:08 · 177 阅读 · 0 评论 -
HDFS数据块损坏是如何处理的?
HDFS数据块损坏是如何处理的?数据块损坏恢复流程在namenode中对于进行数据块副本的管理都是在FSnameSystem中,其中有一个成员变量 corruptReplicats,其中就存储着损坏数据与DataNode的映射,当某个数据块损坏后(DataNode可以通过数据块扫描器获知,通过心跳发送给namenode),namenode会将损坏的数据块加到corrupReplicats...原创 2019-12-14 20:36:14 · 2046 阅读 · 1 评论 -
presto使用及介绍
什么是prestopresto是一个开源的分布式的查询引擎,基于内存,它本身不接入数据,可以连接多种数据源,例如 Hive ,Mysql,Kafka,MongeDB等,一条Presto查询可以将多个数据源进行合并查询。preto适合OLAP,而非OLTP,所以不要将preto当成数据库来使用。presto优势低延迟,高并发,纯内存计算引擎,查询效率是hive的数十倍presto查...原创 2019-11-03 20:50:17 · 1968 阅读 · 1 评论 -
spark怎么分配资源
spark分配资源概述为啥要研究spark资源分配spark中最基本和最有效率的优化方式就是给spark程序分配更多的资源,所以这次讲如何更合适的给你的spark程序分配资源spark分配资源主要调整哪一些资源/home/zhou/spark/bin/spark-submit\--classcom.zhou12314.TestDemo\--num-executors...原创 2019-10-28 22:40:03 · 1365 阅读 · 0 评论 -
spark rdd介绍
RDD介绍RDD(Resilient Distributed Dataset,弹性分布式数据集),是Spark最为核心的概念。官方说法是RDD是只读的,分区记录的集合。RDD具体包含了一些什么东西rdd是一个类,它包含了数据应该在哪算,具体该怎么算,算完了放在哪个地方。它是能被序列化,也能被反序列化。在开发的时候,rdd给人的感觉就是一个只读的数据。但是不是,rdd存储的不是数据,而是数据...原创 2019-03-16 18:22:23 · 240 阅读 · 0 评论 -
spark textFille的分区和计算策略
哈哈哈,可以先关注一下,我们一起来讨论下spark flink 的使用及性能优化几种比较常见的RDD正常开发中我们会经常用到下面的这几种RDDtextFile: 通过文本文件生成的RDDJDBCRDD: 读取关系型数据库所生成的RDDHBaseRDD: 读取HBase所生成的RDDsequenceFile:通过序列化文件所生成的RDD我会依次根据这几种RDD进行分析,重点结...原创 2019-03-22 18:56:32 · 296 阅读 · 0 评论 -
Canal架构及工作流程
Canal架构Caner Server一个Caner Server就代表一个canal运行实例,其对应于一个jvm一个Caner Server同时对应着n个instance一个instance对应着一个Mysql实例Instance组成一个instance由 EventParser eventSink eventStore MetaManager 这几部分组成eventPa...原创 2019-03-30 18:24:18 · 1476 阅读 · 0 评论 -
Spark JDBCRDD详解
参数解释在使用jdbc rdd的时候,我们一块需要传递7个参数valdata=newJdbcRDD(sc,getConnection,"select*fromtablewhereid>=?andid<=?",1,10,2,flatValue...原创 2019-10-14 11:40:25 · 751 阅读 · 0 评论 -
Spark基于Yarn的两种提交模式原理分析
Spark的三种提交模式1.standalone模式,基于Spark自己的Master-Worker模式2.基于YARN的yarn-cluster模式3.基于YARN的yarn-client模式yarn-cluster模式讲解1.用spark-submit提交(yarn-cluster)2.发送请求到Yarn集群的ResourceManager,请求启动Applicatio...原创 2019-04-27 23:26:22 · 388 阅读 · 0 评论 -
Spark如何判断内存消耗
内存都消耗在了哪个地方1、在创建的每个java对象中,都会有一个对象头,会占用16个字节,主要是包括了一些的一些对象的元信息,比如指向它的类的指针。如果一个对象本身很小,比如就包括了一个int类型的field,那么它的对象头实际上比对象自己还要大。2、Java的String对象,会比它内部的原始数据,要多出40个字节。因为它内部使用char数组来保存内部的字符序列的,并且还得保存诸如数组长...原创 2019-04-29 16:31:05 · 1820 阅读 · 0 评论 -
Spark性能优化---数据本地化
什么是数据本地化如果数据以及要计算它的代码是在一起的,那么性能当然会非常高。但是,如果数据和计算它的代码是分开的,那么其中之一必须到另外一方的机器上。通常来说,移动代码到其他节点,会比移动数据到代码所在的节点上去,速度要快得多,因为代码比较小。Spark也正是基于这个数据本地化的原则来构建task调度算法的。数据本地化对于Spark Job性能有着巨大的影响。数据本地化,指的是,数据离计算...原创 2019-05-27 20:12:46 · 192 阅读 · 0 评论 -
Canal HA模式讲解及部署
Canal高可用模式介绍Canal HA一共分为两部分,分别为Canal Server HA 和 Canal Client HACanal Server HA说明需要特别说明的是,Canal 集群的高可用 不是基于Server级别的,而是基于instance级别的,而一个instance对应的是一个mysql实例。打个比方假如一共安装了两个Canal Server,数据库端...原创 2019-03-28 17:36:39 · 3388 阅读 · 0 评论 -
Canal入门及使用
哈哈哈,可以先关注一下公众号,我们一起来讨论下spark,flink,canal 的使用和优化Canal概述: canal是由Alibaba开源的一个基于binlog的增量日志组件,其核心原理是canal伪装成Mysql的slave,发送dump协议获取binlog,解析并存储起来给客户端消费。Canal的工作流程: ...原创 2019-03-28 10:42:46 · 1885 阅读 · 0 评论 -
Canal配置文件详解
conf\example\instance.properties################################################### mysql serverId , v1.0.26+ will autoGen # canal.instance.mysql.slaveId=0 //每个instance都会伪装成一个mysql slave...原创 2019-03-28 11:04:42 · 12502 阅读 · 0 评论 -
java设计模式之门面模式
概述: 当我们要实现一个复杂的功能时,这个功能可能是由好几个部分组成。在本文中我们以信息为例,写一封信我们大概需要4个步骤 写信,写信封,装信封,投递。也就是说在代码我们需要调用4次方法我们才能完成这样的功能,代码的可性都维护性和拓展性都非常低。今天我们这里讲的门面模式就是将这些方法都封装起来,只对外提供一个方法,将写信,装信封,投递这些操作全都封装到内部,这样可以极大的提高代码的拓展原创 2016-04-03 13:01:27 · 402 阅读 · 0 评论 -
java设计模式之单例模式
单例模式在日常开发中是一个用的比较多的模式,一般用于不允许创建多个对象时使用,单例模式的写法比较简单,但有一点需要注意的就是,注意防止线程安全问题的发生,我一般写单例模式一般有两种写法 第一种,双重判断,效率稍低 第一种: public static Singleton getInstance() { if (singleton == null) {原创 2016-03-19 12:45:33 · 342 阅读 · 0 评论 -
java设计模式之代理模式
一 :概述:代理模式就是给其他对象提供代理,获取对这个对象的访问二: 下面以一个例子来讲述什么事代理模式: 学校要考试了,小高学习成绩不好,于是让小王来替考,在这里就用到了代理模式 先定义一个考试接口 public interface Test{ //考试的接口 public void work(); } 定义小王的考试类: public class Xiao原创 2016-03-05 09:44:24 · 269 阅读 · 0 评论 -
java设计模式之观察者模式
概述:观察者模式相当于一对多的依赖,就是当一个对象改变时,会通知它所关联的类 在这里,我们把被观察者用接口Subject定义,把观察者用接口Observer定义 /** * 被监视的需要实现这个接口,用于添加,删除,通知观察者 * @author zhou * */public interface Subject { publi原创 2016-02-23 21:32:26 · 372 阅读 · 0 评论 -
java设计模式之策略模式
策略模式概述:该设计模式是实现一个接口,各个子类去实现这个接口,在各个子类中可以实现各自的算法,然后在客户端持有这个接口的引用,可以随时去调用这个接口任何的一个实现算法优点:充分体现了高内聚,低耦合及扩展性(OCP)原则代码:public interface Method { //定义一个算法接口,用于子类实现public int out();}实现这个接口,定原创 2016-02-28 07:49:25 · 353 阅读 · 0 评论 -
java设计模式之装饰模式
一:今天我们讲到装饰者模式,什么叫做装饰者模式呢?装饰者模式一般又常用于哪些场景呢? 所谓装饰者模式就是我们一般动态的给某些对象添加一些职责(功能)所用的方式(有点抽象哈,下面会详讲); 装饰者模式我们一般适用于某些对象经常添加或者删除功能(方法的场景下);二:今天我们以一个小汤上班的例子来详细讲解一下装饰者模式 早上起来,小汤同学又要原创 2016-04-09 22:43:19 · 320 阅读 · 0 评论 -
android jni开发流程
jni开发的流程:第一步:先在java代码中声明一个native的方法 /** * 第一步 * @return */ public native String fromC();第二步:在Eclipse的工程目录下创建一个文件夹 名称jni第三步: 编写c代码#include //引入标准输入输出的头文件#include "jni.原创 2016-04-29 14:33:40 · 474 阅读 · 0 评论 -
java设计模式之模板模式
1 概述:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤2 模板模式其实非常简单,仅仅使用了Java的继承机制,它的方法分为两类:基本方法和模板方法 基本方法: 基本方法是有子类实现的方法,在父类(模板方法中)被调用 模板方法:可以是一个或者几个,一般是一个具体方法,是对子类已经实现的基本方法进行调度,一般写在原创 2016-05-08 14:06:20 · 2124 阅读 · 0 评论 -
java设计模式之Builder模式
Builder模式(建造者模式)又称为生成器模式在建造者模式中,有如下4个角色: Product产品类:通常是实现了模板方法模式 Builder抽象建造者:规范产品的组建,一般由子类实现 ConcreteBuilder具体建造者:实现抽象类定义的所有方法,并且返回一个组装好的对象 Director导演类:负责安排已有模块的顺序,然后告诉Builder开始建造(这个一原创 2016-04-24 23:50:23 · 449 阅读 · 0 评论 -
java中的深拷贝和浅拷贝
一:使用场景: 当我们已经创建一个对象,想在这个对象的基础上改变一些数据而原先的数据不变,我们可以把这个对象克隆一下二:步骤: 你必须继承Cloneable接口---Cloneable interface is broken in java。otherwise throws java.lang.CloneNotSupportedException.必须重写Object类中原创 2016-08-02 16:58:07 · 416 阅读 · 0 评论 -
java之面向对象
第一讲:面向对象的特点1.面向过程与面向对象: 面向过程:是以函数为基础完成操作,强调的是过程,关注实现过程; 面向对象:是以对象为基础完成操作,强调的是对象,关注实现结果;2.面向对象的特点: A 面向对象更加符合人们的思考习惯。 B 面向对象思想可以使复杂问题简单化。原创 2015-01-24 23:48:14 · 390 阅读 · 0 评论