自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟清风http://www.hphblog.cn/

博客第一更新地址http://www.hphblog.cn/

  • 博客(157)
  • 收藏
  • 关注

原创 数据结构之字典树

数据结构字典树的学习:TireTrie 树,也叫“字典树”,是一个树形结构。它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。树的本质,就是利用字符串之间的公共前缀,将重复的前缀合并在一起。Trie 树的本质,就是利用字符串之间的公共前缀,将重复的前缀合并在一起。实现将字符串集合构造成 Trie 树。这个过程分解开来的话,就是一个...

2019-07-31 11:36:22 705

原创 Spark内核解析1

Spark通讯架构 脚本探究: 概述Spark 内核泛指 Spark 的核心运行机制,包括 Spark 核心组件的运行机制、Spark 任务调度机制、Spark 内存管理机制、Spark 核心功能的运行原理。核心组件DriverSpark 驱动器节点,用于执行 Spark 任务中的 main 方法,负责实际代码的执行工作。Driver...

2019-06-09 17:04:30 845

原创 Spark内核解析2

Spark的交互流程- - -节点启动: Master启动时首先创一个RpcEnv对象,负责管理所有通信逻辑Master通过RpcEnv对象创建一个Endpoint,Master就是一个Endpoint,Worker可以与其进行通信Worker启动时也是创一个RpcEnv对象Worker通过RpcEnv对象创建一个EndpointWo...

2019-06-09 06:28:29 477

原创 Spark之GraphX

GraphX相关学习: 简介GraphX 是 Spark 图表和图形并行计算的新组件。GraphX 延伸 Spark RDD 通过引入新的图形的抽象:计算与连接到每个顶点和边缘性的向量。以支持图形计算,GraphX 公开了一组基本的操作符(例如 subgraph, joinVertices和 aggregateMessages)以及一...

2019-06-08 05:36:06 435

原创 Spark之StructuredStreaming

Structured Streaming相关学习: 简介 Structured Streaming是Spark2.0版本提出的新的实时流框架,是一种基于Spark SQL引擎的可扩展且容错的流处理引擎。在内部,默认情况下,结构化流式查询使用微批处理引擎进行处理,该引擎将数据流作为一系列小批量作业处理,从而实现低至100毫秒的端到端延迟和...

2019-06-07 01:47:56 494

原创 Spark之SparkStreaming的DStream操作

DStream的转换操作和输出、累加器等: 转换DStream上的原语分为Transformations(转换)和Output Operations(输出)两种,此外转换操作中还有一些比较特殊的原语,如:updateStateByKey()、transform()以及各种Window相关的原语。TransformationM...

2019-06-06 06:50:02 1192

原创 Spark之SparkStreaming数据源

SparkStreaming的数据源 文件 Flume Kafka: DStreams输入Spark Streaming原生支持一些不同的数据源。一些“核心”数据源已经被打包到Spark Streaming 的 Maven 工件中,而其他的一些则可以通过 spark-streaming-kafka 等附加工件获取。每个接收器都以 Spa...

2019-06-05 09:26:20 2659

原创 Spark之SparkStreaming理论篇

SparkStreaming的相关理论学习: 简介Spark Streaming用于流式数据的处理。Spark Streaming有高吞吐量和容错能力强等特点。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如...

2019-06-03 23:29:32 211

原创 Spark之SparkSQL数据源

SparkSQL数据源:parquet Json Mysql Hive: SparkSQL数据源手动指定选项Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDD的方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询。Spar...

2019-06-01 13:43:13 372

原创 Spark之SparkSQL理论篇

Spark SQL 理论学习: 简介Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。特点1)易整合2) 统一的数据访问方式3)兼容Hive4)标准的数据连接 SparkSQL可以看做是一个转换层,向下对接各种不同的结构化数据源...

2019-05-30 12:54:33 309

原创 Spark之SparkSQL实战

DataFrames 基本操作和 DSL SQL风格 UDF函数 以及数据源: SparkSQL查询Json数据准备123{"name":"Michael"}{"name":"Andy", "age":30}{"name":"Justin", "age":19}12345val df =spark.read.json("/input...

2019-05-30 10:08:56 2132

原创 Spark之RDD实战篇3

键值对RDD、数据读取与保存、累加器、广播变量: 键值对RDDSpark 为包含键值对类型的 RDD 提供了一些专有的操作 在PairRDDFunctions专门进行了定义。这些 RDD 被称为 pair RDD。有很多种方式创建pair RDD,在输入输出章节会讲解。一般如果从一个普通的RDD转 为pair RDD时,可以调用map(...

2019-05-29 08:41:42 544

原创 Spark之RDD实战2

宽窄依赖、DAG RDD相关概念: 依赖RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。窄依赖窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用。宽依赖窄依赖指的是每一个父RDD的Partition...

2019-05-28 03:41:02 152

原创 Spark之RDD理论篇

Spark的基石RDD: RDD与MapReduceSpark的编程模型是弹性分布式数据集(Resilient Distributed Dataset,RDD),它是MapReduce的扩展和延申,解决了MapReduce的缺陷:在并行计算阶段高效地进行数据共享.运行高效的数据共享概念和类似于MapReduce操作方式,使并行计算高效运...

2019-05-27 09:41:43 172

原创 Spark之RDD实战篇

Spark RDD创建、转换、行动算子、RDD的持久化: RDD编程在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用action触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据...

2019-05-27 05:04:45 729

原创 数据结构之哈希表

哈希表的相关学习: 哈希表散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到...

2019-05-26 17:40:18 46954 2

原创 Spark生态圈及安装

Spark生态圈的简单介绍和安装: Spark2009年由马泰·扎哈里亚在加州伯克利分校的AMPLab实现开发的子项目,经过开源捐给了Apache基金会,最后成为了我们熟悉的Apache Spark,Spark式式由Scala语言实现的专门为大规模数据处理而设计的快速通用的计算引擎,经过多年的发展势头迅猛,当然,Flink的出现,也将...

2019-05-26 09:30:20 434

原创 数据结构之红黑树

2-3树和红黑树相关学习: 红黑树和2-3树本身是等价的,在学习红黑树之前我们不妨去了解一下2-3树的特性。当我们理解了2-3树之后,对于红黑树和通常用于磁盘存储,文件系统,数据库相应的B类树也是有帮助的。2-3树2-3树是最简单的B-树(或-树)结构,其每个非叶节点都有两个或三个子女,而且所有叶都在统一层上。2-3树不是二叉树(满足...

2019-05-23 16:14:50 237

原创 数据结构之AVL树

AVL树相关学习与实现: 简介AVL树是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度(都是$O(\log n)$。增加和删除元素的操作则可能需要借由一次或多次树旋转,以实现树的重新平衡。AVL树得名于它的发明者G. M. Ad...

2019-05-22 10:05:40 176

原创 数据结构之并查集

数据结构并查集的学习: 并查集在计算机科学中, 并查集是一种树型的数据结构 ,用于处理一些不交集(Disjoint Sets)的合并及查询问题。 有一个联合-查找算法 ( union-find algorithm )定义了两个用于此数据结构的操作:Find:确定元素属于哪一个子集。 它可以被用来确定两个元素是否属于同一子集。Uni...

2019-05-14 04:47:59 363

原创 数据结构之堆与优先队列

堆与优先队列: 堆堆必须是一个完全二叉树。除了最后一层,其他层的节点个数都是满的,最后一层的节点都靠左排列堆中的每个节点的值必须大于等于(或者小于等于)其子树中每个节点的值或者说堆中每个节点的值都大于等于(或者小于等于)其左右子节点的值。这两种表述是等价的。对于每个节点的值都大于等于子树中每个节点值的堆,我们叫作“大顶堆”。对于每...

2019-05-10 16:18:49 180

原创 数据结构之二叉树

二叉树的学习: 树树(Tree)是n(n$\geq$0)个节点的有限集,当n=0时称为空树。在任意以可非空树中:有且只有一个特定的根(Root)节点;当n$\geq$0的时候,其余节点分为m(m>0)个互不相交的有限集$T_{1}$,$T_{2}$……$T_{m}$,其中每一台集合本身优势一棵树,被称为根的子树。 ...

2019-05-07 20:54:43 160

原创 数据结构之递归

数据结构递归的学习: 简介递归(英语:Recursion),又译为递回,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。也可以理解为自我复制的过程。在谷歌搜索中由这样的彩蛋。满足条件一个问题...

2019-05-06 03:39:42 101

原创 数据结构之链表

数据结构链表的学习,以及如何用链表实现一个栈: 链表数组要一块连续的内存空间来存储,对内存的要求比较高。如果我们申请一个100MB大小的数组,当内存中没有连续的、足够大的存储空间 时,即便内存的剩余总可用空间大于 100MB,仍然会申请失败。链表恰恰相反,它并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,所...

2019-05-04 03:16:30 236

原创 数据结构之栈

数据结构栈的相关学习: 简介限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端成为栈顶,另一端成为栈低,不含任何元素的栈成为空栈,栈又称为先进先出的线性表,简称LIFO结构。栈的插入操作,叫做进栈,也称压栈,入栈。栈的删除操作,也叫出战,也有的叫做弹栈。入栈出栈实现一个栈栈主要包含两个操作,入栈和出栈,也就是在栈顶插...

2019-05-03 23:43:37 224

原创 数据结构之队列

数据结构队列的相关学习: 简介队列是是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的线性表,简称FIFO允许插入的以端称为队尾,允许删除的一端被称为队头。入队出队数组实现队列1234567891011121314151617181920212223242526272829303132333435...

2019-05-03 07:01:17 631

原创 数据结构与算法前置

数据结构绪论学习笔记: 简介数据结构是一门研究非等值计算的程序设计问题的操作对象,以及他们之间的关系核操作等相关问题的学科。简而言之数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。...

2019-05-02 14:42:25 596

原创 数据结构之数组

数据结构数组的学习和自己实现一个数组: 简介(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表零个或多个数据元素的有限序列。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在...

2019-05-02 02:50:11 3472

原创 Java项目架构演进和SpringCloud总结

Java项目架构演进过程和SpirngCloud知识总结:技术梳理开发技术栈以SpringCloud为主,单个微服务模块以SpringMVC+SpringBoot/Spring+MyBatis组合进行开发 前端层,页面H5+thymeleaf/样式CSS3+Bootstrap/前端框架JQuery+Node|Vue等 负载层,前端访问通过Http或Https协议到达服务端的LB,可以是...

2019-04-28 04:25:27 5974

原创 SpringCloud与Hystrix断路器

服务熔断,服务降级,服务监控的学习笔记: 问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调...

2019-04-27 22:42:57 5824

原创 SpringCloud与SpringConfig分布式配置中心

Github上配置SpringCloud的配置文件: 问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服...

2019-04-27 15:09:04 5870

原创 SpringCloud与zuul

微服务的网关学习: 简介Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获...

2019-04-27 01:51:28 5821

原创 SpringCloud与Feign

SpringCloud只Feign如何实现负载均衡: 简介 Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了...

2019-04-26 07:45:28 6504

原创 SpringCloud的Ribbon负载均衡

Spring Cloud Ribbon相关学习: 简介Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项...

2019-04-25 22:50:28 5792

原创 SpringCloud注册与发现Eureka

SpringCloud注册于发现Eureka服务学习: 简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服...

2019-04-23 14:04:09 6009

原创 微服务与SpringCloud

SpringClou微服务如何通过HTTP调用服务: 简介 是资源呈现出来的形式,比如上述URI返回的HTML或JSON,包括HTTP Header等; REST是一个无状态的架构模式,因为在任何时候都可以由客户端发出请求到服务端,最终返回自己想要的数据,当前请求不会受到上次请求的影响。也就是说,服务端将内部资源发布REST服务,...

2019-04-21 11:02:24 5947

原创 微服务与SpringCloud

微服务的引入和SpringCloud与其他产品的对比:微服务简介“微服务架构”一词是在过去几年里涌现出来的,它用于描述一种独立部署的软件应用设计方式。这种架构方式并没有非常明确的定义,但有一些共同的特点就是围绕在业务能力、自动化布署、端到端的整合以及语言和数据的分散控制上面。目前为止,微服务我们也不太好给一个定义,但是绝大部分的微服务都...

2019-04-18 00:26:00 5999

原创 Redis集群如何安装

Redis集群如何安装集群安装步骤安装gcc解压redis 包makemake install目录解析创建redis-cluster修改节点配置star-all脚本shutdown-all 脚本启动节点拼接集群查看节点情况分析增加节点插槽分配算法hphblog.cn集群即使使用哨兵,此时的Redis集群的每个数据库依然存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的数...

2019-04-14 19:33:23 193

原创 SpringBoot与SpringCloud集成

SpringBoot与SpringCloud集成 :简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重...

2019-04-14 16:03:25 13906 1

原创 SpringBoot和监控管理

Spring Boot 监控管理:简介引入spring-boot-starter-actuator,我们可以使用Spring Boot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过HTTP,JMX,SSH协议来进行操作,自动得到审计、健康及指标信息。准备我们在什么都不做的情况下启动项目这里映射了许多的方法比如把in...

2019-04-14 07:47:16 6071

空空如也

空空如也

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

TA关注的人

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