- 博客(32)
- 资源 (3)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 spark的部分算子的使用(二)
saprk的部分算子(二)map,foreach,filte的使用 val sparkConf: SparkConf = new SparkConf() sparkConf.setMaster("local") sparkConf.setAppName("RDD_Test04") val sparkContext: SparkContext = new SparkContex...
2019-07-08 14:30:52
95
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 关于spark的部分算子(一)
spark的RDD算子cartesian笛卡尔积 val conf: SparkConf = new SparkConf() conf.setAppName("MyPartition") conf.setMaster("local") val context:SparkContext = new SparkContext(conf) va...
2019-07-07 18:58:30
147
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 关于hive的一些学习知识
hive的架构用户接口层:命令行客户端最常用的方式元数据库:保存元数据一般情况下会选择关系型数据库thift:用来提供一个跨语言的服务,hive数据仓库。驱动层: 1.驱动器:驱动器驱动整个sql的运行,sql语句解析为mr程序,最终将mr程序提交给hadoop 2.编译器:将sql语句通过hive自带map reduce模板编译成mr程序,首先生成一个逻辑执行计划...
2019-06-16 17:29:32
174
原创 设计模式策略模式-责任链模式
设计模式策略模式基本介绍策略模式中,定义算法族(策略组)分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。这算法体现了几个设计原则,第一:把变化的代码从不变的代码中分离出来;第二:针对接口编程而不是具体类(定义了策略接口);第三:多用组合/聚合,少用继承(客户)通过组合方式使用策略。代码 public abstract class Duck ...
2020-04-12 17:55:19
244
原创 设计模式中介者模式-备忘录模式-状态模式
设计模式中介者模式基本介绍中介者模式使用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式属于行为模式,使代码易于维护。比如mvc模式,controller是model和v的中介者,在前后端交互时起到中间人的作用。代码 public abstract class Mediator {...
2020-04-12 11:39:38
200
原创 设计模式访问者模式-迭代器模式-观察者模式
设计模式访问者模式-迭代器模式-观察者模式访问者模式基本介绍访问者模式,封装一些作用于某种数据结构的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新操作。主要将数据结构和数据操作分离,解决数据结构和操作耦合性问题。访问者模式的工作原理:在被访问的类里面加一个对外提供接待访问者的接口。访问者模式主要应用场景是:需要对一个对象结构中的对象进行很多不同操作(这些操作...
2020-04-09 14:39:04
226
原创 设计模式代理模式-模板方法模式-命令模式
设计模式代理模式-模板方法模式-命令模式代理模式基本介绍:代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的独享代理模式有不同的三种形式:静态代理、动态代理(jdk代理、接口代理)、Cglib代理(可以...
2020-04-04 17:17:30
222
原创 设计模式组合模式-外观模式-享元模式
设计模式组合模式-外观模式-享元模式组合模式基本介绍组合模式又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计属于结构型模式。组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户一致的方式处理个别对象以及组合对象。组合模式解决的问题...
2020-04-01 17:46:07
187
原创 设计模式桥接模式-装饰者模式
设计模式桥接模式-装饰者模式桥接模式基本介绍:桥接模式是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。是一种结构型设计模式Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类继承承担不同的职责。它的主要特点是把抽象与行为实现分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。代码 public interface B...
2020-03-30 17:00:02
274
1
原创 设计模式建造者模式-适配器模式
设计模式建造者模式-适配器模式建造者模式基本介绍:又叫生成器模式,是一种对象构建模式。他可以将复杂对象的构建过程抽象出来(抽象类别),使这个抽象过程的不同实现方式可以构造出不同表现的对象建造者模式是一步一步创建一个复杂的对象,他允许用户只通过指定复杂对象的类型和内容就可以构建他们,用户不需要知道内部的具体构建细节。建造者模式的四个角色:Product(产品角色):一个具...
2020-03-29 15:10:45
214
原创 设计模式工厂模式-原型模式
Java设计模式简单工厂模式基本介绍:简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式。简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为。在软件开发中,当我们会用到大量的创建某种,某类或者某批对象时,就会使用工厂模式。静态工厂模式 public a...
2020-03-26 11:17:43
317
原创 java设计模式-单例模式
JAVA设计模式单例模式介绍设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式的本质是提高软件的维护性,通用性和拓展性,并降低软件的复杂度设计模式的类型创建型模式:单利模式、抽象工厂模式、原型模式、建造者模式、工厂...
2020-03-20 18:27:42
158
原创 UML类图
UML类图基本介绍UML(统一建模语言)是一种用于软件分析和设计的语言工具,他用于帮助软件开发人员进行思考和记录思路的结果UML本身是一种符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实、泛化、依赖、组合、聚合等,使用UML来建模的常用工具有RationalRoseeclipse的amterasUML插件的安装下载...
2020-03-19 16:08:46
336
原创 JAVA的设计模式原则
JAVA设计模式设计模式的目的代码的可读性代码的可重用性代码的可扩展性代码的可靠性使代码呈现高内聚,低耦合的特性设计模式的七大原则接口隔离原则职责单一原则里氏替换原则迪米特法则合成复用原则依赖倒装原则开闭原则职责单一原则基本介绍对于类来说一个类应该只负责一项职责注意事项和细节降低类的复杂度,一个类只负责一项职责提高了的可读性,可...
2020-03-17 15:15:47
90
原创 Nginx的相关知识
Nginx的相关知识nginx的三个主要的应用场景静态资源服务反向代理服务api服务nginx是高性能的web服务器nginx的安装切换到自己要安装的目录 创建文件夹 mkdir nginxcd mkdir 切换到此目录下载地址执行 wget http://nginx.org/download/nginx-1.16.0.tar.gz解压 tar -zxvf n...
2019-08-17 10:31:44
134
原创 docker的相关知识及安装和卸载
docker的相关知识docker的理念通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP可以及运行环境能够做到一次封装,到处运行。docker只包含虚拟机的内核简称为linux容器。docker的优势:轻量秒级的快速启动速度简单,易用活跃的社区标准统一的打包/部署/运行方案镜像支持增量分发,易于部署。易于构建,良好的restapi,也很适合自动...
2019-08-12 09:57:14
198
原创 git和github的相关知识
git和github的相关知识版本控制工具应该具备的功能协同修改数据备份版本管理权限控制历史记录分支管理跟集中式的管理工具相比最重要的功能就是解决单点故障。git的优势大部分在本地完成不需要联网完整性的保证尽可能添加数据而不是修改数据或删除数据分支操作非常快捷流畅与linux命令全面兼容git在本地的三大区域本地库暂存区工作区git的代码托...
2019-08-02 11:45:17
102
原创 redis的相关知识
redis的相关知识redis的linux安装和使用官网下载安装包: redis.io 官网或者redis.cn 中文版的解压之前需要安装gcc环境 yum install gcc-c++安装成功后进行解压安装包, tar -zxvf 你的安装包进入redis的目录之后执行make等待完成完成之后进入目录复制redis.conf文件 到指定目录 并修改文件中的属性daemoniz...
2019-07-30 15:34:50
86
原创 sparkstreaming整合kafka
sparkstreaming整合kafka完成大致的流式计算的架构离线 flume--->hdfs--->mapreduce/hive--->sqoop--->hbase/mysql/redis/hdfs流式 flume--->kafka--->storm/sparkstreaming--->mysql/redis/hbase...
2019-07-21 11:19:09
225
原创 kafka的相关知识和flume的整合
关于kafka的相关知识kafka是属于点对点模式的(一对一,消费者主动拉取数据,数据消息被消费后清除)消息对列的好处解耦冗余扩展性灵活性峰值处理能力可恢复性顺序保证性缓冲异步通信kafka是一个分布式的消息对列。kafka对消息保存是根据topic进行归类,发送消息者称为producer,消费笑着者称为consumer,此外kafka集群有多个kafka实例组成,每...
2019-07-20 16:09:16
86
原创 flume的数据采集的相关知识和配置
Flume的相关知识产生背景:因为各种数据的格式不能统一,所以flume采集工具就产生了。比如csv,tsv,json,压缩数据等等flume的组件:agent 用户代理 source获取数据包装成的数据就是events channel处理数据 sink存储数据event是flume数据传输的基本单元完成数据收集需要在使用端有一个agentflume的安装下...
2019-07-19 09:45:10
301
原创 sparkstreaming的相关知识和案例
sparkstreaming的相关知识storm,sparkstreaming,flink对比名字容错性吞吐率延迟消费语义strom低低延迟非常低至少一次(借用tridentAPI也可以实现有且仅有一次)sparkstreaming很高很高延迟高有且仅有一次flink很高很高延迟一般有且仅有一次特点容易使用支持多...
2019-07-18 09:31:09
126
原创 storm的相关知识
Storm的流式计算storm和sparkstreaming的对比storm非常严格的一条数据一次计算,流式处理sparkstreaming 一批数据算一次(每批次的时间非常短,用户可以根据自己的想法指定)把数据流按照时间端切分成许多离散的RDD然后SparkCore执行计算 现阶段用的比较多都属于流式处理在flink的世界里,所有的计算都是流式处理,把离线处理看成是流式处理的一...
2019-07-16 14:26:43
71
原创 spark-sql的相关知识
关于sparksql的知识sparksql的前生是shar。2014年9月发布1.1hive和sparksql是同样类型的组件。关于sparksql的编程入口 //idea中 val spark = SparkSession .builder() .appName("Spark SQL basic example") .config("spark.some....
2019-07-15 11:19:16
159
原创 关于JVM的知识和参数的调优
关于JVM的知识和参数的调优概念:JRE中的核心概念就是JVMJMM是java内存模型三大核心:JVM的类加载机制jvm的运行时数据区jvm的垃圾回收机制类加载器:在jvm启动或者在类运行时将需要的class加载到jvm中执行引擎:负责执行class文件中包含的字节码指令内存区:是在jvm运行的时候操作所分配的内存区。运行时内存主要分为5部分:方法区,堆内区,虚拟...
2019-07-12 16:50:09
133
原创 spark的相关调优方案
spark的调优开发的调优避免创建重复的RDD:如果需要对同一个文件进行多次计算最好是只读一次尽可能复用同一个RDD对多次使用的RDD进行持久化cache 和persist尽量避免使用shuffle类的算子shuffle操作有一个特点就是上一个阶段的操作执行完下一个阶段才能执行reduceBykey,sortBy,distinct,groupBy使用map-side(co...
2019-07-11 16:46:08
186
原创 scala的高阶函数
scala的模式匹配package cn.tedu.scala.day03import scala.util.Random/** * 模式匹配 */object MatchTest { def main(args: Array[String]): Unit = { val array: Array[Any] = Array("1",2,5.5,true) v...
2019-07-06 17:47:28
180
原创 scala的面向对象的相关知识
scala的相关知识scala类的定义 /** * 1.scala定义属性的时候一定要进行初始化 * 2.使用val修饰的属性具备get方法不具备set方法 * 3.var修饰的具备get方法也具备set方法 * 4.表示私有除了自己以外别人都不能方法但是和这个类同名的object可以访问 * 5.在一个类中可以定义多个类而且这些类默认都属于pub...
2019-07-04 18:27:44
125
原创 scala的基础知识
scala的基础语法object HelloWorld { def main(args: Array[String]): Unit = { //第一种变量的声明可以指定类型 var a:Int=1; //改变值可以改变为同一类型不能改变为不同的类型 a=2; println(a); //可以自动推断出你所定义的数据类型 var b="hello" pri...
2019-07-03 19:45:38
143
原创 Hbase的相关知识
hbase的相关知识点1. 版本的兼容性问题参考官网点击进入2. hbase的安装 版本下载镜像点击进入解压文件: tar -xzvf 你的压缩包配置环境变量:vim /etc/profileexport HBASE_HOME=你的hbase的解压的路径export PATH=PATH:PATH:PATH:HBASE_HOME/bin修改完成之后source /etc/pr...
2019-06-22 18:30:46
159
原创 zookeeper的安装和相关原理
zookeeper的相关知识zookeeper的linux下的安装修改配置文件 zoo_sample.cfg 这是一个参考的模板 先复制或移动 cp zoo_sample.cfg zoo.cfg # The number of milliseconds of each tick tickTime=2000 每次心跳的时间间隔 每隔2秒 # The number of ti...
2019-06-21 18:21:01
110
原创 hive知识点二
hive的查询SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE where_condition][GROUP BY col_list [HAVING condition]][CLUSTER BY col_list|[DISTRIBUTE BY col_list] [SORT BY...
2019-06-20 17:34:46
154
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人