自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阅后即焚

焚膏油以继晷,恒兀兀以穷年;

  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 kafka集群设置shell脚本一键启动和关闭

前言:最近在做Spark, 做到安装kafka, 安装完想配置一键启动和关闭, 编写启动的脚本执行没问题, 关闭的时候遇到了一些问题 ,上网查资料也只能解决一半, 有些博客写的关闭脚本拿过来用执行不能成功,让同事看好久测试好久也没找出来,最后自己重写一遍就可以了。下面跟大家分享一下经验吧~1.kafka 的config目录下 kafka-server-stop.sh 有些问题,需要先修改一下...

2019-01-15 21:32:43 6135 3

原创 盗将行(不是代码,仅分享一首凄美的故事)

盗将行劫过九重城关 我座下马正酣看那轻飘飘的衣摆 趁擦肩把裙掀踏遍三江六岸 借刀光做船帆任露水浸透了短衫 大盗睥睨四野枕风宿雪多年 我与虎谋早餐拎着钓叟的鱼弦 问卧龙几两钱蜀中大雨连绵 关外横尸遍野你的笑像一条恶犬 撞乱了我心弦谈话饮月赋闲 这春宵艳阳天待到梦醒时分睁眼 铁甲寒意凛冽夙愿只隔一箭 故乡近似天边不知何人浅唱弄弦 我彷徨不可前枕风宿雪多年 我与虎谋早餐拎着...

2018-11-05 13:45:14 2077

转载 Hive基础知识

从早期的互联网主流大爆发开始,主要的搜索引擎公司和电子商务公司就一直在和不断增长的数据进行较量。最近,社交网站也遇到了同样的问题。如今,许多组织已经意识到他们所收集的数据是让他们了解他们的用户,提高业务在市场上的表现以及提高基础架构效率的一个宝贵的资源。Hadoop生态系统就是为处理如此大数据集而产生的一个合乎成本效益的解决方案。Hadoop实现了一个特别的计算模型,也就是MapReduce,其...

2019-08-23 19:07:00 515

转载 大数据面试题及答案

Hadoop 相关试题Hive 相关试题1、 hive表关联查询,如何解决数据倾斜的问题? 倾斜原因: map输出数据按key Hash的分配到reduce中,由于key分布不均匀、业务数据本身的特点、建表时考虑不周、等原因造成的reduce 上的数据量差异过大。 1)、key分布不均匀; 2)、业务数据本身的特性; 3)、建表时考虑不周; 4)、某些SQL...

2019-03-05 10:35:02 4371

原创 分布式文件存储系统架构和原理

架构 如上图所示,HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。  NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;  SecondaryNameNode:是一个小弟,分担大哥namenode的一部分工作量;是NameNode的...

2019-02-22 16:33:19 2739 1

原创 shuffle原理

shuffle阶段又可以分为Map端的shuffle和Reduce端的shuffle。  一、Map端的shuffleMap端会处理输入数据并产生中间结果,这个中间结果会写到本地磁盘,而不是HDFS。每个Map的输出会先写到内存缓冲区中,当写入的数据达到设定的阈值时,系统将会启动一个线程将缓冲区的数据写到磁盘,这个过程叫做spill。在spill写入之前,会先进行二次排序,首先根据数据所属...

2019-02-22 16:06:19 822

原创 大数据处理流程

大数据处理流程1. 数据处理流程网站流量日志数据分析是一个纯粹的数据分析项目,其整体流程基本上就是依据数据的处理流程进行。有以下几个大的步骤:1.1 数据采集        数据采集概念,目前行业会有两种解释:一是数据从无到有的过程(web服务器打印的日志、自定义采集的日志等)叫做数据采集;另一方面也有把通过...

2019-02-21 16:53:13 23752

原创 数据倾斜的原因及解决方案

数据倾斜: 数据倾斜在MapReduce编程模型中十分常见,用最通俗易懂的话来说,数据倾斜无非就是大量的相同key被partition分配到一个分区里,造成了'一个人累死,其他人闲死'的情况,这种情况是我们不能接受的,这也违背了并行计算的初衷,首先一个节点要承受着巨大的压力,而其他节点计算完毕后要一直等待这个忙碌的节点,也拖累了整体的计算时间,可以说效率是十分低下的。解决方案: ...

2019-02-15 11:30:00 32

原创 如果某个maptask运行失败怎么处理

常见容错场景分析1.1作业某个任务阻塞了,长时间占用资源不释放1.2在MapTask任务运行完毕,ReduceTask运行过程中,某个MapTask节点挂了,或者某个MapTask结果存放的那磁盘坏掉了1.任务阻塞,长时间占用资源不释放这种问题通常是由于程序bug,数据特性造成的,会让程序阻塞,任务运行停滞不前。在我们表面上看来是任务停滞不前。这种问题经常发生,任务长时间占用着资源不释放...

2019-02-15 11:01:39 541

原创 HDFS读写数据流程

HDFS写数据流程:1.客户端向nd发送文件上传请求 nd检查目录文件是否存在 检查父目录是否存在2.nd向客户端返回是否上传响应3.客户端向nd请求 上传到那个节点(dn)4.nd响应 dn1 dn2 dn3可以上传5.客户端向dn1发送请求 dn1–>dn2–>dn3 建立文件传输管道6.dn1 dn2 dn3 向客户端逐级应答7.客户端将block文件以pac...

2019-02-15 10:27:40 216

原创 HDFS常用命令

(1)-help:输出这个命令参数bin/hdfs dfs -help rm(2)-ls: 显示目录信息hadoop fs -ls /(3)-mkdir:在hdfs上创建目录hadoop fs -mkdir -p /aaa/bbb/cc/dd(4)-moveFromLocal从本地剪切粘贴到hdfshadoop fs - moveFromLocal /home/hado...

2019-02-15 09:48:52 249

原创 Spark资源调度和任务调度流程

spark运行架构Spark资源调度和任务调度的流程:1、启动集群后,Worker节点会向Master节点汇报资源情况,Master掌握了集群资源情况。2、当Spark提交一个Application后,根据RDD之间的依赖关系将Application形成一个DAG有向无环图。任务提交后,Spark会在Driver端创建两个对象:DAGScheduler和TaskScheduler。3、DA...

2019-01-14 21:22:12 1175 1

原创 RDD的五大属性

- 1) A list of partitions一个分区列表,一个rdd有多个分区,后期spark任务计算是以分区为单位,一个分区就对应上一个task线程。 通过val rdd1=sc.textFile(文件) 如果这个文件大小的block个数小于等于2,它产生的rdd的分区数就是2 如果这个文件大小的block个数大于2,它产生的rdd的分区数跟文件的block相同 - ...

2019-01-14 20:51:16 4483 1

原创 cache/persist/checkpoint区别

cache和persist的区别基于Spark 1.4.1 的源码,可以看到/** Persist this RDD with the default storage level (`MEMORY_ONLY`). */def cache(): this.type = persist()说明是cache()调用了persist(), 想要知道二者的不同还需要看一下persist函数:/*...

2019-01-11 15:33:51 661

原创 Spark-Map和MapPartition的区别

在Spark中有map和mapPartitions算子,处理数据上,有一些区别主要区别:map是对rdd中的每一个元素进行操作;mapPartitions则是对rdd中的每个分区的迭代器进行操作MapPartitions的优点:如果是普通的map,比如一个partition中有1万条数据。ok,那么你的function要执行和计算1万次。使用MapPartitions操作之后,一...

2019-01-11 15:22:13 1584

原创 Zookeeper集群设置shell脚本一键启动和关闭

版权声明:本文为博主原创文章,转正请注明出处。 https://blog.csdn.net/OYziqing </div>Zookeeper集群设置shell脚本一键启动准备:集群部署规划:配置了主机名、映射主机时间同步关闭防火墙配置环境变量安装了zookee

2019-01-10 19:39:38 2639

原创 Chrome浏览器安装插件

Chrome浏览器安装广告拦截插件版权声明:本文为使用及总结心得,未经博主允许不得转载,欢迎大家拍砖、叫好、吐槽!!https://blog.csdn.net/OYziqing可能会有其他方法 这个方法是我自己琢磨的 亲测有效 如果有其他更方便的方法可以留言交流一下 1.谷歌扩展程序谷歌浏览器网址栏搜索 chrome://extensions/ 打开谷歌扩展程序...

2019-01-03 23:06:19 902

原创 MapReduce核心之shuffle

hadoop的核心思想是MapReduce,但shuffle又是MapReduce的核心。shuffle的主要工作是从Map结束到Reduce开始之间的过程。首先看下这张图,就能了解shuffle所处的位置。图中的partitions、copy phase、sort phase所代表的就是shuffle的不同阶段。shuffle阶段又可以分为Map端的shuffle和Reduce端的shuff...

2019-01-03 11:30:53 352

原创 DAO,Service,Controller各层之间的关系

DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。Service层:Service层主要...

2019-01-03 09:52:20 8027

转载 Azkaban

转自:https://blog.csdn.net/clypm/article/details/790768011. Azkaban是什么?Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖关系,这个依赖关系必须是无环的,否则...

2019-01-03 09:37:07 2588

原创 命名变量的神奇网站

推荐一个命名变量的神奇网站 CODELF在我们写程序的时候,总是需要去给各种变量命名。于是各种命名大法都上来了,有拼音的,有首字母缩写的,各种各样。而我们推荐的命名肯定是英文的驼峰命名。今天给大家推荐一个网站:https://unbug.github.io/codelf/这个网站可以根据你输入的关键词,...

2019-01-03 09:27:20 595

原创 hive中的窗口函数

本文主要介绍hive中的窗口函数.hive中的窗口函数和sql中的窗口函数相类似,都是用来做一些数据分析类的工作,一般用于olap分析概念我们都知道在sql中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的.但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数....

2019-01-03 09:25:27 277

原创 写入MySQL报 max_allowed_packet 的解决方法

写入MySQL报 max_allowed_packet 的解决方法。MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。查看当前配置:mysql> show variables like 'max_allowed_packet';+----------------...

2019-01-03 09:17:34 5139

原创 数据库与数据仓库的区别

数据库与数据仓库的区别其实就是 OLTP 与 OLAP 的区别。      操作型处理,叫联机事务处理 OLTP(On-Line Transaction Processing,),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等...

2018-12-29 21:25:57 1422

原创 MySQL中SELECT子句WHERE和HAVING的区别

WHERE子句:在分组之前使用,表示从所有数据中根据条件筛选出部分数据,以完成分组的要求.在一个WHERE子句中使用列别名是不允许的,因为当执行WHERE子句时,列值可能还没有被确定。在WHERE子句中,您可以使用MySQL支持的所有函数,不过总计(总结)函数除外HAVVING子句:在分组之后使用的,表示对分组统计后的数据执行再次过滤,可以使用一个HAVING子句必须位于GR...

2018-12-29 21:10:00 25

原创 Hive的内部表和外部表以及两者的区别

1、建表语句1.1 内部表平时创建的普通表为内部表create table `test_internal` (id string comment 'ID', name string comment '名字')comment '测试内部表'ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;外部表带external关键字的为外部表cr...

2018-12-28 17:27:05 315

原创 处理跨域方法

一、什么是跨域  url的组成JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象。 当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。 例如:http://www.abc.c...

2018-12-14 10:30:04 427

原创 分布式id生成器

分布式id生成器在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。概括下来,那业务系统对I...

2018-12-13 17:39:28 248

原创 匿名内部类

匿名内部类匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写创建格式如下:new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 }但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口实例1...

2018-12-09 00:09:57 214

原创 同步IO和异步IO、阻塞IO和非阻塞IO

1、IO       IO (Input/Output,输入/输出)即数据的读取(接收)或写入(发送)操作,通常用户进程中的一个完整IO分为两阶段:用户进程空间<-->内核空间、内核空间<-->设备空间(磁盘、网...

2018-12-08 23:52:41 255

原创 逻辑删除与物理删除

逻辑删除:逻辑删除:其实是UPDATE,增加一个逻辑状态的列(0|1)0表示删除自己设置一个逻辑字段,例如1表示有效,0表示删除即可,默认是1.update biao set 逻辑删除=0给符合条件的记录打上删除标记,可用RECALL命令来恢复物理删除:DELETE将打上删除标记的记录物理删除掉,不能恢复...

2018-12-08 23:43:08 1129

原创 浅克隆与深克隆

1.浅复制与深复制概念 ⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对...

2018-12-08 23:37:48 206

原创 序列化

Java 序列化Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台...

2018-12-08 23:23:30 214

原创 编程从入门到抛弃

第一节编程课你按照老师所说的,一行行打印出"Hello World"时,你的眼亮起来了,觉得编程“so easy”。你不禁感慨道,你好哇,程序员。你好哇,世界,我来了。你学习基本语法,方法,框架,数据库,数据结构,开始做第一个完整的项目——用户登录管理系统。你满有成就感的向老师介绍,你是如何设计的,遇到什么问题,怎么艰难解决的。老师点点头,随意给你一个中等成绩。你无所谓地笑了笑,借以掩饰心...

2018-11-14 12:43:29 308

原创 爬虫的攻防技术

爬虫的攻防技术如何发现一个爬虫?一般情况下网站是不会大量的验证用户请求.除非你在访问重要数据.1.单一的访问频次过高 - 普通人,10秒访问一个网页, 爬虫一秒获取10个网页2.单一的ip出现非常规的流量3.大量的重复简单的网页浏览行为4. 只下载html文档, 不下载js5. 在页面设置陷阱, 用户看不懂, 爬虫是可以的, 比如 hidden 6.在页面写一段js代码, 浏览器...

2018-11-08 14:20:41 809

原创 Idea 常用快捷键

IntelliJ Idea 常用快捷键 超级实用1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码例如要输入for(User user : users)只需输入user.for+Tab再比如,要输入Date birthday = user.getBirthday(...

2018-11-07 10:06:13 178

原创 如何理解转发与重定向?

如何理解转发与重定向?兔子给鸡打电话场景一兔子拨通鸡的电话。兔子:你好,有个问题想请教你!鸡:快说吧,没有我不会的的问题!兔子:1+1等于几?鸡寻思半天也不会,又怕丢了面子!忙叫来身旁的山羊说:“兔子问1+1等于几?”山羊拿起电话:2!兔子:谢谢!兔子放下电话寻思:怎么感觉鸡的声音有点怪,算了不管了!场景二兔子拨通鸡的电话。兔子:你好,有个问题想请教你!鸡:快说,我忙着...

2018-10-29 16:31:13 588

原创 SpingMVC的工作原理

SpingMVC的工作原理一、首先,我们先来认识一下SpringMVC的主要组件前端控制器(DisatcherServlet):接收请求,响应结果,返回可以是json,String等数据类型,也可以是页面(Model)。处理器映射器(HandlerMapping):根据URL去查找处理器,一般通过xml配置或者注解进行查找。处理器(Handler):就是我们常说的controller控制...

2018-10-29 09:56:28 263

原创 关于数据库的面试题

关于数据库的面试题1、触发器的作用?触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。2、什么是存储过程?用什么来调用?存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创...

2018-10-26 17:44:17 493

原创 Linux命令大全

Linux命令大全言简意赅一目了然的告诉你你想知道的Linux命令:http://man.linuxde.net/

2018-10-26 12:53:38 188

快闪PPT(附背景音乐tiger rhythm.mp3)

以前看电影的时候 电影放映之前有个快闪广告感觉挺有意思 就去查资料 总结了一套快闪PPT制作方法 根据截图修改PPT设置就可以实现 附快闪ppt的背景音乐tiger rhythm.mp3 感兴趣的可以看看哦

2019-01-12

空空如也

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

TA关注的人

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