自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 将博客搬至CSDN

以后关于技术文章,主要都放在CSDN上原地址:新浪博客

2018-09-18 13:47:19 516 1

原创 CDH5.16.2-Flink1.10.1-parcel制作

一.简介CDH除了能够管理自生所提供的一些大数据相关服务外,还允许将第三方服务添加到CDH集群(托管在CDH上)。你需要做的就是按照一定的规则流程制作相关程序包,最后发布到CDH上。虽然过程并不困难,但是手动操作尤其是一些关键配置容易出错,往往导致最终服务无法正常在CDH上安装运行。二.cm_exturl : https://github.com/cloudera/cm_ext.gitvalidator 验证csd和parcelvalidator(验证器) 重新编译 mvn clean packa

2020-07-28 20:58:59 123

原创 链表的常见问题

链表指针转动,很容易转晕,介绍其中有几个常见的技巧。一.指针/引用含义指针/引用,实际上都是存储所指对象内存。将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到这个变量。二.指针丢失和内存泄漏插入节点时,注意操作顺序。删除节点时,注意释放空间。三.哨兵哨兵结点的链表叫做带头链表,这样节省判断head == null四.边界条件如果链表为空时,代码是否能正常工作?如果链表只包含一个结点时,代码是否能

2020-07-18 18:28:43 77

原创 开源数据交换(client)
原力计划

文章目录一.项目简介二.编译部署2.1 客户端三.快速使用3.1 客户端四.底层已支持计算存储引擎4.1 客户端五.架构六.开发规范6.1 客户端传参规范6.2 测试用例七.问题八.总结一.项目简介exchange是要打造一个轻量级,高扩展性的数据交换平台,支持对结构化及无结构化的异构数据源之间的数据传输,在应用层上具有数据权限管控、节点服务高可用和多租户资源隔离等业务特性,而在数据层上又具有传输架构多样化、模块插件化和组件低耦合等架构特点。exchange的传输能力依赖于Apache Beam链路计

2020-07-14 15:47:45 254

原创 单链表LRU算法

一.简介链表在初始化时仅需要分配一个元素的存储空间,并且插入和删除新的元素也相当便捷,同时链表在内存分配上可以是不连续的内存,也不需要做任何内存复制和重新分配的操作,由此看来顺序表的缺点在链表中都变成了优势,实际上也是如此,当然链表也有缺点,主要是在访问单个元素的时间开销上。二.LRU缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的 CPU 缓存、数据库缓存、浏览器缓存等等。缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?这就需要缓

2020-07-12 05:10:32 67

原创 Pregel模型原理
原力计划

一.图简介图数据结构可以很好的展示关联关系,关联性计算是大数据计算核心,Pregel是一种基于BSP模型实现的并行图处理系统。主要用于图遍历(BFS)、最短路径(SSSP)、PageRank计算等等计算。二.模型2.1 简介Pregel计算模型,输入是一个有向图,该有向图每个顶点(Vertex)是唯一,每个顶点都有属性,这些属性可以被修改,其初始值由用户定义,边也有属性,与顶点关联。消息(Message),消息是Pregel计算模型的核心。每个 Vertex 在初始状态以及之后的每一个计算步骤当中

2020-07-12 04:11:29 41

原创 cdh5.16 重新编译flink1.10

一.简介Flink 1.10.0 正式宣告发布!作为 Flink 社区迄今为止规模最大的一次版本升级,Flink 1.10 容纳了超过 200 位贡献者对超过 1200 个 issue 的开发实现,包含对 Flink 作业的整体性能及稳定性的显著优化、对原生 Kubernetes 的初步集成以及对 Python 支持(PyFlink)的重大优化。Flink 1.10 同时还标志着对 Blink[1] 的整合宣告完成,随着对 Hive 的生产级别集成及对 TPC-DS 的全面覆盖,Flink 在增强流式

2020-07-06 16:43:20 119

原创 Hadoop-Yarn源码-RPC基础

一.简介一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式程序在内的应用程序更加轻易。 (Hadoop 2.6版本)二.RPC通信模型RPC通常采用客户机/服务器模型。RPC处理过程客户程序以本地方式调用系统产生的Stub程序该Stub程序将函数调用信息按照网络通信模块要求封装成消息包,并交给通信模块发送到远程服

2020-06-30 22:41:38 96

原创 类文件结构

一.简介实现语言无关性的基础仍然是虚拟机和字节码存储格式。Java虚拟机不和包括Java在内任何语言绑定,它只与Class文件这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。Clojure(Lisp 语言的一种方言)、Groovy、Scala 等语言都是运行在 Java 虚拟机之上。下图展示了不同的语言被不同的编译器编译成.class文件最终运行在 Java 虚拟机之上。可以说.class文件是不同的语言在 Java 虚拟机之间的重要桥梁,同时

2020-06-13 14:18:20 82

原创 Spark-Graphx系列-基础用法
原力计划

一.简介Spark GraphX是一个并行图计算框架,它是基于Spark平台提供对图计算和挖掘简洁易用的而丰富的接口,极大的方便了对饼形图处理的需求。在GraphX中,图的基础类为Graph,它包含两个RDD:一个为边RDD,另一个为顶点RDD。与其他图处理系统和图数据库相比,基于图概念和图处理原语的GraphX,它的一大优势在于,既可以将底层数据看作一个完整地图,使用图的概念和图处理原语:也可以将它们看作独立的边RDD和顶点RDD,使用数据并行处理原语,进行mapped、joined、transfor

2020-06-08 11:26:40 123

原创 Jvm原理及应用-目录

一.基本原理类文件结构JVM垃圾回收二.高效编译三.代码优化持续更新

2020-05-03 20:25:43 64

原创 dslinkis数据开放平台报错01

2020-03-31 20:04:22.691 INFO [Thread-29] com.netflix.discovery.DiscoveryClient 866 shutdown - Shutting down DiscoveryClient ...2020-03-31 20:04:22.692 INFO [Thread-29] com.netflix.discovery.Discove...

2020-04-27 16:49:01 91

原创 gitchat-Hive 权限管理应用

Hive 权限在开发过程中常常用到,Hive 本身的权限用来防止用户做不合适的事情,粒度没有那么细(不到列级别、行级别),它是不完整的,本文中通过数据开放平台中用到权限方式,实战中演练,研究这种思想如何影响着数据应用权限的扩展!1.简介2.元数据字典3.用户、组和角色4.Grant 和 Revoke 权限5.Hive 和 Hadoop 权限关系6.数据开放平台的应用7.演化8.不足...

2020-04-22 21:01:49 87

原创 位运算的优化与应用
原力计划

一.简介随着JDK的发展以及JIT的不断优化,语法糖越来越丰富了,程序用了太多了看似高级的用法,易读性提高很多,那么效率呢?很多时候计算可以转换位运算,提高性能和节约空间,很多组件都用到了,比如HashMap、BitSet、ProtocolBuf等等,本文验证一些位运算的用法。二.基础2.1 位运算符Java整型数据类型有:byte、char、short、int、long。一个字节占8位。...

2020-04-14 20:01:48 169

原创 业务实战中用到树结构

一.简介最近业务中个场景,行业分级,用到

2020-03-20 20:19:14 50

原创 JVM垃圾回收

一.简介最近又复习下jvm相关内容,理解下思想,吸收下前辈经验,本文jdk 1.7/1.8二.引用计数法与可达性分析垃圾回收,便是将已经分配出去的的,但却不再使用的内存回收回来,以便能够再次分配。在Java虚拟机的语境下,垃圾指的是死亡对象所占据的堆空间。这里便涉及了一个关键问题:如何辨别一个对象死亡。2.1 引用计数法给个对象添加引用计数器,每当有一个地方引用它,计数器值就加1;当引用...

2020-03-07 10:09:17 84

原创 gitchat文章-IDEA 插件开发实战

编程时候碰到很多重复性工作,一类事情只干一次就好,不要再重复做,自动化抽象成工具,那样提高效率,不用重复搬砖,文中以一个实际场景中用到例子,贯穿下插件开发规范。在本场 Chat 中,会讲到如下内容:1.简介2.原理3.API4.实例架构5.准备工作6.编码7.部署8.总结gitchat地址:IDEA 插件开发实战...

2020-01-29 18:22:19 158

原创 成为博客专家

写此文章纪念今天成为 “CSDN 博客专家”回顾往事2015-2016年,研究Java服务端开发,没有方向感,很多东西跟着业务走。2017上半年,管理前端,那时候是工作需要,本身对这个兴趣不大,做些原生的组件,后来申请做大数据方面,慢慢思路打开了,数据的本质是消除信息的不确定性。2017-2018年,大数据的基本认知,分布式计算理念,一些组件应用。2018年,用户增长(大数...

2019-12-31 19:56:18 108

原创 Spark2.4.0-CDH6.3 错误解决过程

1.背景最近环境切换到CDH6.3,用到Spark2.4,Hive2.1,Hadoop3.0,Beam等组件,Beam中嵌套了很多组件的原生API。2.安装2.1 Spark具体步骤略,照着网上文档按步骤就可以安装好,下面步骤,展示如何启动Master,Worker进程。安装目录:/opt/cloudera/parcels/CDH/lib/spark,操作主目录。sp...

2019-12-25 12:18:57 436

原创 gitchat文章-用户增长实战(大数据应用)

用户增长是一套平台机制,包括市场前端的流量获客,后续的用户转化,用户留存和活跃等,制定完善的数据评估和优化体系,确保用户增长规模和用户增长成本达到一个良性的水平。 我曾经在一家公司做用户增长,这家公司做医疗方面,基于医院考培评价一体的产品,基于数据驱动思想,从最初的数据平台建设,数据架构规划,确定当时的商业模式,这直接影响的是对以后的一些指标,分析体系的影响。管理学大师、作家彼得·德鲁克...

2019-12-14 19:21:07 83

原创 gitchat文章-Apache Beam 大数据处理一站式分析

随着大数据 2.0 时代悄然到来,大数据从简单的批处理扩展到了实时处理、流处理、交互式查询和机器学习应用。近年来涌现出诸多大数据应用组件,如 HBase、Hive、Kafka、Spark、Flink 等。开发者经常要用到不同的技术、框架、API、开发语言和 SDK 来应对复杂应用的开发,这大大增加了选择合适工具和框架的难度,开发者想要将所有的大数据组件熟练运用几乎是一项不可能完成的任务。面对这...

2019-10-22 17:28:15 148

原创 Beam-链路顺序

简介这个的介绍在我的另一篇博文中(Beam-介绍),在此不在再赘述,最近碰到个有意思的事,聊聊beam的链路,简单来说自己操作的一些函数中间有些转换组件,注册在链路中,在此截了一张官网的图片。这是简单链路大概样子,各个函数串联在一起,当然了实际中不可能这样一帆风顺,肯定遇到很多种情况,我列下几种情况分享下。集合注册PipelineOptionsFactory.register...

2019-07-28 03:24:34 98

原创 Beam-介绍

简介Beam提供了一套统一的API来处理两种数据处理模式(批和流),让我们只需要将注意力专注于在数据处理的算法上,而不用再花时间去对两种数据处理模式上的差异进行维护。Beam每6周更新一个小版本。编程模型第一层是现有各大数据处理平台(spark或者flink),在Beam中它们也被称为Runner。 第二层,是可移植的统一模型层,各个Runners将会依据中间抽象出来的这个模...

2019-07-16 18:08:10 593

原创 Spark-线性回归示例01

房屋普查,预测房价,最后预测结果不太准确,后续会调整,可能的原因:最直接原因指标项没有强线性关系,使用的参数不准确。只是为了熟悉下流程。import org.apache.spark.ml.feature.StandardScalerimport org.apache.spark.sql.types.{DoubleType, FloatType, StructField, Struct...

2019-06-12 15:45:52 814

原创 架构思想--基础架构

最近研究一些架构思想,看看李云华老师的专栏(从0开始学架构),做些笔记有些个人的思考。一.基础架构1.1简介架构设计面临复杂度:高可用,可扩展,低成本,安全,规模。架构设计主要目的为了解决软件系统复杂度带来的问题。1.2高性能1.2.1简介水平维度和垂直维度分析。单台计算机 升级软、硬能力实现性能提升。增加内存减少I/O操作。 更换为固态硬盘(SSD...

2019-05-25 23:18:05 3285 4

原创 scala系列--并发01

最近研究了一些scala并发的知识,总结一下。一.简介即时响应性是一项决定任何应用程序成败的关键因素。有两种方式来提高即时响应性:1.多线程,并行运行多个任务。2.有策略的计算,惰性运行任务。二.惰性求值1.短路控制,scala不会向前看,所以用到lazy。注意:多个变量绑定,后续调用,顺序不可预知。2.惰性集合,创建临时视图,调用的时候立即求值。3.无限流转换有限流...

2019-04-07 00:55:16 614

原创 Spark报错系列01

1.java.lang.NoClassDefFoundError: org/apache/spark/LoggingException in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/Logging    at java.lang.ClassLoader.defineClass1(Native Method...

2019-02-13 16:38:58 468

原创 hadoop报错总结02

hadoop报错总结01:https://blog.csdn.net/qq_19968255/article/details/828037681.当脚本在运行时报错信息如下:Examining task ID: task_201201061122_0007_m_000002 (and more) from job job_201201061122_0007Exception in th...

2019-02-13 16:31:44 489

原创 算法系列03

最近养病中,文章发布的少些,整理一套经典算法项目,学习一下。项目地址:https://github.com/77954309/classical_algorithm

2019-02-10 11:27:25 492

原创 Netty系列--源码

  近期,花费了一些时间,注解了一些Netty的源码,从总体到一些细节了解一下Netty,学到很多,注解其中一些有代表性的类和方法,后续会持续更新的。地址:https://github.com/77954309/netty-all-4.1.29-sources 一.Netty 服务端创建时序图 二.Netty 客户端创建时序图 三.注解netty4 简介:注解类按照下面...

2018-11-30 17:40:34 541

原创 tcp/ip系列--IP协议

上一篇(tcp/ip系列--数据链路):https://blog.csdn.net/qq_19968255/article/details/83832035一.IP即网际协议TCP/IP的心脏是互联网层(网络层),这一层主要由IP和ICMP两个协议组成。主要作用:实现终端节点之间的通信。数据链路层的主要作用在互连同一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络...

2018-11-25 13:57:13 583

原创 算法文档进行中

有一些算法文档,有兴趣的可以收藏看看,如果链接失效了,私聊吧!后续还有一些,就不一一显示了。下载地址:https://pan.baidu.com/s/1uH7vzXHyHT-IH3ii4TMjuw...

2018-11-16 14:51:10 723

原创 tcp/ip系列--数据链路

tcp/ip系列上一篇(tcp/ip基础知识):https://blog.csdn.net/qq_19968255/article/details/83547041一.简介数据链路,指OSI参考模型中的数据链路层,有时也指以太网、无线局域网等通信手段。二.数据链路的段数据链路的段是指一个被分割的网络。然而根据使用者不同,其含义不同。例如:引入中继器将两条网线向连组成一个网络。...

2018-11-07 21:41:28 600

原创 tcp/ip系列--tcp/ip基础知识

  最近读完了《图解TCP/IP》,做一下总结加深记忆,后续会写几篇关于TCP/IP的文章。一.网络基础知识1.1计算机与网络发展的7个阶段批处理:指事先将用户程序和数据装入卡带或磁带,并由计算机按照一定的顺序读取,使用户所执行这些程序和数据能够一并批量得到处理的方式。 分时系统时代:指多个终端与同一个计算机相连接,允许多个用户同时使用一台计算机系统。 计算机间通信时代:在分时系统...

2018-10-30 19:35:00 1523 2

原创 rpc系列-简介2

承接rpc系列-rpc01:https://blog.csdn.net/qq_19968255/article/details/82894381示例1.结构2.代码客户端:rpc-client/** * 框架的RPC 客户端(用于发送 RPC 请求) */public class RpcClient extends SimpleChannelInboundH...

2018-09-29 16:57:17 473

原创 rpc系列-简介1

一.基础 本人从事大数据行业,故此做系列的博文,为以后开发分布式计算基础服务做准备,这个系列重点了解一些rpc的思路,用什么组件实现的不重要。技术栈:动态代理:https://blog.csdn.net/qq_19968255/article/details/82885416zookeeper:https://blog.csdn.net/qq_19968255/article/d...

2018-09-29 11:22:38 438

原创 rpc系列-ZooKeeper

一.简介Zookeeper是一个分布式协调服务,就是为用户的分布式应用程序提供协调服务。Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)。Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务…… 虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:管理(存储,读...

2018-09-28 19:25:43 880

原创 rpc系列-动态代理

一.简介在不修改原业务的基础上,基于原业务方法,进行重新的扩展,实现新的业务。 二.结构  参考《疯狂Java讲义》 三.示例public class MyPerson implements PersonInterface { @Override public void doSomeThing() { System.ou...

2018-09-28 15:54:07 768

原创 rpc系列-反射

一.简介:Java程序中引用变量的类型,分为编译类型和运行类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。编译时根本无法预知该对象和类可能属于那些类,程序只依靠运行时信息来发现该对象和类的真实信息,这就用到反射。 二.示例public interface TestInterface {}public class Person imp...

2018-09-28 15:27:05 648

原创 rpc系列-线程

一.多线程基础1.进程 它是内存中的一段独立的空间,可以负责当前应用程序的运行,当前这个进程负责调度当前程序中的所有运行细节,不同进程彼此之间不会相互影响。 2.线程在一个进程中,每个独立的功能都需要独立的去运行,这时又需要把当前这个进程划分成多个运行区域,每个独立的小区域(小单元)称为一个线程。 进程是负责整个程序的运行,而线程是程序中具体的某个独立功能的运行。一个进...

2018-09-28 14:50:52 950

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