12 2019 档案

摘要:1、工作流程 (1) 首先用户发送请求——>前端控制器DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;(1) (2) DispatcherServlet——>处理器映射器HandlerMapping,Hand 阅读全文
posted @ 2019-12-31 11:12 guoyu1 阅读(246) 评论(0) 推荐(0) 编辑
摘要:1、hive中的join类型: (1)join :只返回关联上的结果。 (2)left join :返回的记录条数和左表相同,关联不上的字段为null。 (3)right join:返回的记录条数和右表相同,关联不上的字段为null。 (4)full join:返回两个表的记录去重之和,关联不上的字 阅读全文
posted @ 2019-12-31 10:27 guoyu1 阅读(1184) 评论(0) 推荐(0) 编辑
摘要:1、springboot起源: Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件,大家觉得挺好用。于是又按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。之后发现每次开发都写很多样板代码,为了简化工作流程 阅读全文
posted @ 2019-12-31 10:25 guoyu1 阅读(1071) 评论(0) 推荐(0) 编辑
摘要:元组可以也是不可变的,但里面可以包含不同类型的元素。之前所说的列表是不可变的,并且元素类型要相同。 1、创建: val t = (1, 3.14, "Fred") 以上实例在元组中定义了三个元素,对应的类型分别为[Int, Double, java.lang.String]。 此外我们也可以使用以下 阅读全文
posted @ 2019-12-31 10:19 guoyu1 阅读(181) 评论(0) 推荐(0) 编辑
摘要:1、class和object的区别 calss scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set scala 中没有 static 关键字,所以 对于一个class来说,所有的方法和成员变量在实例被 new 出来之前都是无法访问的 因此在class中的main方法没什么用了 阅读全文
posted @ 2019-12-31 09:05 guoyu1 阅读(952) 评论(0) 推荐(0) 编辑
摘要:一、spark sql简介: 1、SparkSQL发展: Shark是一个为spark设计的大规模数据仓库系统,它与Hive兼容 Shark建立在Hive的代码基础上,并通过将Hive的部分物理执行计划交换出来(by swapping out the physical execution engin 阅读全文
posted @ 2019-12-25 16:43 guoyu1 阅读(579) 评论(0) 推荐(0) 编辑
摘要:一、DataFrame 1、创建 https://www.cnblogs.com/frankdeng/p/9301743.html DataFrame创建方式应该按照数据源进行划分,数据源是:普通的txt文件、json/parquet文件、mysql数据库、hive数据仓库 1、普通txt文件: ( 阅读全文
posted @ 2019-12-24 16:47 guoyu1 阅读(414) 评论(0) 推荐(0) 编辑
摘要:一、Hive建表语句 (1)创建内部表 (2)创建外部表 drop table yum_area_dw.dw_community_base_info_aoi_clean; CREATE EXTERNAL TABLE `yum_area_dw.dw_community_base_info_aoi_cl 阅读全文
posted @ 2019-12-24 14:59 guoyu1 阅读(1641) 评论(0) 推荐(0) 编辑
摘要:1、List 列表:列表长度和内容均不可变,所有元素的类型相同,值一旦被定义了就不能改变,即不可被赋值改变,底层是链表结构。 scala list 有三个基本操作,head 返回列表第一个元素,tail 返回一个列表,包含除了第一元素之外的其他元素,isEmpty 在列表为空时返回true。 注意: 阅读全文
posted @ 2019-12-24 14:25 guoyu1 阅读(1639) 评论(0) 推荐(0) 编辑
摘要:1、RDD概念: RDD 叫做 弹性分布式数据集,是spark中最基本的数据抽象。代表着一个可分区、元素可并行计算、不可变的数据集合。 RDD特点:自动容错、位置感知性调度、可伸缩性,允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。 2、RDD原 阅读全文
posted @ 2019-12-24 14:05 guoyu1 阅读(1063) 评论(0) 推荐(0) 编辑
摘要:一、reduceByKey和groupByKey的区别 1、reduceByKey:按照 key进行聚合,在 shuffle 之前有 combine(预聚合)操作,返回结果是 RDD[k,v]。 2、groupByKey:按照 key进行分组,直接进行 shuffle。开发指导:reduceByKe 阅读全文
posted @ 2019-12-24 11:14 guoyu1 阅读(906) 评论(0) 推荐(0) 编辑
摘要:DStream基本工作原理: DStream是Spark Streaming提供的一种高级抽象,英文全称为Discretized Stream,中文翻译为离散流,它代表了一个持续不断的数据流。DStream可以通过输入数据源(比如从Flume、Kafka中)来创建,也可以通过对其他DStream应用 阅读全文
posted @ 2019-12-24 10:41 guoyu1 阅读(560) 评论(0) 推荐(0) 编辑
摘要:1、解耦 2、异步 3、削峰 https://mp.weixin.qq.com/s/3GMs3ae7ffDFgia9VSDMEg 阅读全文
posted @ 2019-12-23 10:19 guoyu1 阅读(423) 评论(0) 推荐(0) 编辑
摘要:1、Dubbo:Dubbo是一个分布式服务框架,SOA治理方案。 主要功能有:高性能的NIO通讯以及协议集成、服务动态寻址与路由、软负载均衡与容错、依赖分析与降级 主要特点: 连通性:provider、consumer、register基于长连接,并且provider、consumer、regist 阅读全文
posted @ 2019-12-21 17:28 guoyu1 阅读(599) 评论(0) 推荐(0) 编辑
摘要:有两种:Direct直连方式、Receiver方式 1、Receiver方式: (1)receiver内存溢出问题: 使用kafka高层次的consumer API来实现,使用receiver从kafka中获取的数据都保存在spark excutor的内存中,然后由Spark Streaming启动 阅读全文
posted @ 2019-12-21 16:07 guoyu1 阅读(2795) 评论(0) 推荐(1) 编辑
摘要:搭建wordCount项目: https://blog.csdn.net/py_123456/article/details/82665623 1、代码: val conf: SparkConf = new SparkConf().setMaster(Local[*]).setAppName("wo 阅读全文
posted @ 2019-12-19 15:50 guoyu1 阅读(559) 评论(0) 推荐(0) 编辑
摘要:一、Spark中的缓存机制: 避免spark每次都重算RDD以及它的所有依赖,cache()、persist()、 checkpoint()。 1、cache():会被重复使用,但是不能太大的RDD,将其cache()到内存当中,catch()属于 memory only 。cache 是每计算出一 阅读全文
posted @ 2019-12-18 15:32 guoyu1 阅读(2416) 评论(0) 推荐(2) 编辑
摘要:RDD:RDD分区数,若从HDFS创建RDD,RDD的分区就是和文件块一一对应,若是集合并行化形式创建,RDD分区数可以指定,一般默认值是CPU的核数。 task:task数量就是和分区数量对应。 这个全:https://www.cnblogs.com/frankdeng/p/9301672.htm 阅读全文
posted @ 2019-12-18 15:28 guoyu1 阅读(3392) 评论(1) 推荐(0) 编辑
摘要:主要针对的是“有序数组”中查找某个特定元素。 1、二分查找的思想:主要针对的是有序数组,要充分利用数组有序的特性,要是遍历查找,时间复杂度是O(n),就浪费了数组的有序性。其思想就是,每次查找对比的元素都是数组的中间元素,通过比较中间元素和目标元素的大小,进一步的缩小范围,每次比较的范围都缩小为原来 阅读全文
posted @ 2019-12-18 10:11 guoyu1 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1、题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 2、思路: 栈是先进后出,队列是先进先出。stack1只需要把其中的元素全部导入stack2 ,元素的顺序就变成了先进先出的顺序。但有一点必须考虑,那就是元素导入的时机问题,因为元素入队和出队的时机 阅读全文
posted @ 2019-12-18 09:45 guoyu1 阅读(111) 评论(0) 推荐(0) 编辑
摘要:1、spark shuffle:spark 的 shuffle 主要发生在 DAG 视图中的 stage 和 stage 之间,也就是RDD之间是宽依赖的时候,会发生 shuffle。 补充:spark shuffle在很多地方也会参照mapreduce一样,将它分成两个阶段map阶段、reduce 阅读全文
posted @ 2019-12-16 15:50 guoyu1 阅读(892) 评论(0) 推荐(0) 编辑
摘要:1、Hbase表结构: 可以看成map映射,里面有行键,行键是按照字母顺序排序。行键下面是列族,每个列族可以有不同数量的列甚至是没有列。每个列里面包含着不同时间版本的列的值。 行键:是按照字母的顺序排序的,这样做的好处就是在扫描表的时候感兴趣的项,是在相邻的。给定的行可以在每个列族中有任意数量的列, 阅读全文
posted @ 2019-12-12 19:34 guoyu1 阅读(481) 评论(0) 推荐(0) 编辑
摘要:1、什么是主从复制:在实际生产中,数据库若只在一台服务器上,容易产生单点故障问题。因此一般在多台服务器上部署数据库,将数据复制多分在不同的服务器上,即使一台故障了,其余的也能对外提供服务。主从复制指的是,将这几台服务器就分为主库和从库,其中主库负责读写操作,从库只负责读。主库master,从库sla 阅读全文
posted @ 2019-12-12 19:30 guoyu1 阅读(137) 评论(0) 推荐(0) 编辑
摘要:1、kafka的HA机制:副本机制+消息同步+leader选举。 每个topic有多个partition,每个partition又有多个副本,这些副本当中也存在不同的角色,leader、follower。producer和consumer都只跟leader进行交互,leader进行读写操作。lead 阅读全文
posted @ 2019-12-12 09:31 guoyu1 阅读(1176) 评论(0) 推荐(0) 编辑
摘要:目录 一、消息传递语义 二、消息一致性保证方案 三、kafka消息丢失场景 三、kafka消息重复场景 一、消息传递语义: 三种,至少一次,至多一次,精确一次 1、at lest once:消息不丢,但可能重复 2、at most once:消息会丢,但不会重复 3、Exactly Once:消息不 阅读全文
posted @ 2019-12-11 16:21 guoyu1 阅读(4363) 评论(0) 推荐(0) 编辑
摘要:1、源码更改场景:如果使用 0.8 版本 Kafka 并配套 1.6 版本 Flume,由于 Flume 1.6 版本没有Taildir Source 组件,因此,需要将 Flume 1.7 中的 Taildir Source 组件源码编译打包后,放入Flume1.6 安装目录的 lib文件目录下。 阅读全文
posted @ 2019-12-11 14:28 guoyu1 阅读(460) 评论(0) 推荐(0) 编辑
摘要:一、拦截器 1、拦截器: 拦截器主要作用在source和channel之间,用于给event设置header消息头,如果没有设置拦截器,则event中只有message。 常见的拦截器有: Timestamp Interceptor 时间拦截器:将时间戳插入到header中。 Host Interc 阅读全文
posted @ 2019-12-11 10:51 guoyu1 阅读(1059) 评论(0) 推荐(0) 编辑
摘要:1、什么是Sqoop: Sqoop就是将数据在 关系型数据库(mysql、oracle)和 Hadoop 之间相互转移的工具。底层是用mapreduce来实现的。 2、Sqoop的工作机制: https://blog.csdn.net/RivenDong/article/details/101423 阅读全文
posted @ 2019-12-10 21:13 guoyu1 阅读(379) 评论(0) 推荐(0) 编辑
摘要:1、什么是Flume:apache顶级项目,主要用来做数据采集。分布式、高可用,将海量日志进行采集、聚合、传输的系统。能够对数据进行简单处理在发送到接收方。 2、Flume组件:source、channel、sink,一个Flume可以有一个source,多个channel、多个sink (1)so 阅读全文
posted @ 2019-12-10 21:05 guoyu1 阅读(874) 评论(0) 推荐(0) 编辑
摘要:目录: 一、hive简介 二、Hive语句的执行流程 三、hive和传统数据库的区别 一、Hive简介 1、什么是Hive:hive是一种基于hadoop的数据仓库,能够将结构化的数据映射成一张表,并提供HQL进行查询。其数据是存储在hdfs上,本质是将sql命令转化成MapReduce来执行。 2 阅读全文
posted @ 2019-12-10 17:22 guoyu1 阅读(1408) 评论(0) 推荐(0) 编辑
摘要:一、yarn中的角色: ResourceManager:集群计算资源的分配,启动ApplicationMaster,监控NodeManager的状态。 NodeManager:启动和管理节点中的容器。 ApplicationMaster:运行mapreduce任务,每个job有一个,分配map在哪里 阅读全文
posted @ 2019-12-10 17:12 guoyu1 阅读(749) 评论(0) 推荐(0) 编辑
摘要:一、数据倾斜表现: https://blog.51cto.com/u_14932245/2759844 在MapReduce编程模型中十分常见,大量相同的key被分配到一个reduce里,造成一个reduce任务累死,其他reduce任务闲死。查看任务进度,发现长时间停留在99%或100%,查看任务 阅读全文
posted @ 2019-12-07 16:56 guoyu1 阅读(624) 评论(0) 推荐(0) 编辑
摘要:单例设计模式,就是保证对象的实例只有一个,防止每个用这个对象的人都创建一个实例。 1、定义: 什么是单例模式呢,单例模式(Singleton)又叫单态模式,它出现目的是为了保证一个类在系统中只有一个实例,并提供一个访问它的全局访问点。从这点可以看出,单例模式的出现是为了可以保证系统中一个类只有一个实 阅读全文
posted @ 2019-12-07 09:15 guoyu1 阅读(117) 评论(0) 推荐(0) 编辑
摘要:为什么使用工厂模式:工厂是对对象的构造、实例化、初始化过程的一种封装。从而提供给其他需要这些对象的地方去使用,从而降低耦合度,提高扩展性和重用性。如果我们手动的在代码中用new关键字去创建对象,那么就会导致对象的诞生过程会绑定在我们的代码中。宿主类与实例化过程强耦合,后期维护会变得非常麻烦。 以造车 阅读全文
posted @ 2019-12-06 22:02 guoyu1 阅读(136) 评论(0) 推荐(0) 编辑
摘要:1、JVM对象创建:java程序运行过程中,无时无刻都有对象被创建出来。在语言层面上就是new关键字。 2、JVM对象创建过程: (1)JVM遇到一条new指令后,首先会去常量池中,检查这个指令的参数是否有一个类的符号引用,并检查这个符号引用代表的类是否被加载、解析、初始化过。如果没有就执行类加载过 阅读全文
posted @ 2019-12-06 15:48 guoyu1 阅读(304) 评论(0) 推荐(0) 编辑
摘要:1、区别: Kafka和RocketMQ的区别: 1、两者对于消息的单机吞吐量、时效性、可用性、消息可靠性都差不多,其中时效性就是消息延迟都在ms级,kafka吞吐量会更大。 2、功能支持方面:Kafka主要应用于大数据场景,因此其功能较为简单,主要支持简单的MQ功能。RocketMQ支持较为完善的 阅读全文
posted @ 2019-12-06 11:25 guoyu1 阅读(432) 评论(0) 推荐(0) 编辑
摘要:1、数据组织: partition:Kafka的topic可以划分成一个或多个partition,每个partition存储着这个topic的一部分数据。 partition副本:若一个topic的副本数为3,那么每个partition就会存储有3个相同的副本。其中每个broker存储一个或多个pa 阅读全文
posted @ 2019-12-06 10:25 guoyu1 阅读(1575) 评论(0) 推荐(0) 编辑
摘要:1、基本思想:zookeeper的应用场景均可从其节点类型和watcher机制进行考虑。 2、应用场景: a、统一命名服务:主要使用顺序节点进行。 b、集群管理:临时节点+wather机制 c、分布式日志收集: d、master选举: e、分布式锁:使用临时节点+监听机制 f、分布式屏障:使用临时节 阅读全文
posted @ 2019-12-05 21:58 guoyu1 阅读(375) 评论(0) 推荐(0) 编辑
摘要:1、选举相关概念: 选票:(myid,zxid,当前节点选取轮次,被推举服务器选举轮次,状态(looking))。 选举发生情况:启动时选举,运行时选举。 外部投票:其他服务器发送来的投票。 内部投票:服务器自身当前的投票。 选举轮次:epoch--leader选举周期。 pk:比较内部选票和外部选 阅读全文
posted @ 2019-12-05 21:53 guoyu1 阅读(520) 评论(0) 推荐(0) 编辑
摘要:目录: 一、ZAB协议 二、2PC+paxos 一、ZAB协议 1、zxid事务id: 在ZAB协议中,每个事务都有一个编号zxid,其中zxid由两部分组成,高32位是epoch,低32位是递增计数器。 epoch:选举周期。 递增计数器:每来一个事务就+1,新的选举周期后重新开始计数。 2、ZA 阅读全文
posted @ 2019-12-02 16:29 guoyu1 阅读(505) 评论(0) 推荐(0) 编辑
摘要:1、Zookeeper数据类型: 层次化目录结构+少量数据 Zookeeper包含层次化的目录结构,每个Znode都有唯一的路径标识,Znode可以包含数据和子节点。 其中Znode数据可以有多个版本,若该路径下包含多个数据版本,查询这个路径下的数据时,需要带上版本。 2、Zookeeper节点类型 阅读全文
posted @ 2019-12-02 15:49 guoyu1 阅读(2496) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示