自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

转载 hadoop集群搭建

一.安装虚拟机环境Vmware12中文官方版 链接:https://pan.baidu.com/s/1IGKVfaOtcFMFXNLHUQp41w 提取码:6rep激活秘钥:MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A这个安装就十分的简单了,只需要不断点击下一步,直到安装完成就OK了;二.虚拟机的安装(Centos7)这个步骤我分享一个详细安装地址:https://www.cnblogs.com/tony-hyn/p/9677902.html三.搭建集群(1)配置服务器(

2020-06-14 19:51:35 229

转载 sql-面试题

SQL查询每个部门工资前三名的员工信息1、单个表+----+-------+--------+--------------+| Id | eName | Sal | deptno |+----+-------+--------+--------------+| 1 | Joe | 70000 | 1 || 2 | Henry |...

2019-05-31 17:57:55 239

转载 flume原理

Flume简介  flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。  但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版...

2019-05-29 19:12:59 262

原创 Hive-面试题

hive数据倾斜的解决方案 数据倾斜是进行大数据计算时最经常遇到的问题之一。当我们在执行HiveQL或者运行MapReduce作业时候,如果遇到一直卡在map100%,reduce99%一般就是遇到了数据倾斜的问题。数据倾斜其实是进行分布式计算的时候,某些节点的计算能力比较强或者需要计算的数据比较少,早早执行完了,某些节点计算的能力较差或者由于此节点需要计算的数据比较多,导致...

2019-05-29 18:00:44 586

转载 大数据-Kafka原理

一、为什么需要消息系统1.解耦:  允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2.冗余:  消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。3.扩展性: ...

2019-05-29 11:26:11 274

原创 Spark-wordCount程序

object WordCount{ def main (args: Array[String]){ val conf = new SparkConf().setAppName("WC") val sc = new SparkContext(conf) val rdd1 = sc.textFile(args(0...

2019-05-14 20:53:30 109

转载 spark-原理总结

一、总体框架结构图由上图我们可以看到Spark应用程序架构主要由Driver Program和Executor构成,Driver负责运行main()和创建SparkContext,Executor主要负责执行Task任务。二、各大重要组件和概念2.1 重要概念概念 功能 Application 用户定义的Spark应用程序,用户提交后,Spark会为应用分配...

2019-05-14 20:40:58 321

转载 spark-常用算子

spark算子介绍Spark的算子的分类1、从大方向来说,Spark 算子大致可以分为以下两类:1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。2)Actio...

2019-05-14 17:28:35 860

转载 深入理解HBASE(2)列簇与Qualifier

什么是列簇(Family)?列簇的特点:1、一张表通常有一单独的列簇,而且一张表中的列簇不会超过5个。2、列簇必须在创建表的时候定义。3、表的列簇无法改变。4、每个列簇中的列数是没有限制的。5、同一列簇下的所有列会保存在一起。6、列在列簇中是有序的。7、列在运行时创建。8、列只有插入后才会存在,空值并不保存。列簇的作用权限控制、存储以及调优都是在列族层面进行的实际应...

2019-05-09 21:37:11 5039

转载 hbase-面试题

描述Hbase的rowKey的设计原则. Rowkey长度原则 Rowkey 是一个二进制码流,Rowkey 的长度被很多开发者建议说设计在10~100 个字节, 不过建议是越短越好,不要超过16 个字节。 原因如下: (1)数据的持久化文件HFile 中是按照KeyValue 存储的,如果Rowkey 过长比如100 个 字节,1000 万...

2019-05-09 19:30:53 447

转载 hive-桶表,以及高效的join方式

前面2种的话都是经常会用到,说下第三种 桶 join桶(SMB)物理上,每个桶就是表(或分区)目录里的一个文件。smb的设计是为了解决大表和大表之间的join的。简单的说下她的思想:大表化成小表,map side join 解决。经典的分而治之的思想。对一个表或者一个分区,可以将其划分为更细的数据块,桶。在hive中,分桶的方式采取的是:对列的值进行hash除以桶的数量取余 ;...

2019-05-09 16:16:03 1162 1

转载 mysql-聚簇索引与非聚簇索引(也叫二级索引)

通俗点讲聚簇索引:将数据存储与索引放到了一块,找到索引也就找到了数据非聚簇索引:将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行,myisam通过key_buffer把索引先缓存到内存中,当需要访问数据时(通过索引访问数据),在内存中直接搜索索引,然后通过索引找到磁盘相应数据,这也就是为什么索引不在key buffer命中时,速度慢的原因澄清一个概念:innodb中,在聚...

2019-05-08 18:48:41 138

转载 Btree和B+tree的区别

B树B树是一种多路自平衡搜索树,它类似普通的二叉树,但是B书允许每个节点有更多的子节点。B树示意图如下:B树的特点:(1)所有键值分布在整个树中(2)任何关键字出现且只出现在一个节点中(3)搜索有可能在非叶子节点结束(4)在关键字全集内做一次查找,性能逼近二分查找算法3:所有叶子节点都出现在同一层,且叶子节点不包含任何关键字信息(可以看做是外部接点或查询失败的接点...

2019-05-08 16:54:46 31033 2

转载 数据仓库-hive分区表

什么是分区在逻辑上分区表与未分区表没有区别,在物理上分区表会将数据按照分区键的列值存储在表目录的子目录中,目录名=“分区键=键值”。其中需要注意的是分区键的值不一定要基于表的某一列(字段),它可以指定任意值,只要查询的时候指定相应的分区键来查询即可。我们可以对分区进行添加、删除、重命名、清空等操作。因为分区在特定的区域(子目录)下检索数据,它作用同DNMS分区一样,都是为了减少扫描成本。H...

2019-04-19 17:01:30 1080

转载 数据仓库-hive总结

什么是hive首先要学习Hive,第一步是了解Hive,Hive是基于Hadoop的一个数据仓库,可以将结构化的数据文件映射为一张表,并提供类sql查询功能,Hive底层将sql语句转化为mapreduce任务运行。相对于用java代码编写mapreduce来说,Hive的优势明显:快速开发,人员成本低,可扩展性(自由扩展集群规模),延展性(支持自定义函数)。Hive的构架:Hiv...

2019-04-17 18:04:19 529

转载 数据仓库-星型模型和雪花模型

在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。星型模型当所有维表都直接连接到“ 事实表”上时,整个图解就像星星一样,故将该模型称为星型模型, 如图 :星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,所以数据有...

2019-04-17 15:31:26 806

转载 Hadoop-HA(高可用)架构原理

最近分享过一次关于Hadoop技术主题的演讲,由于接触时间不长,很多技术细节认识不够,也没讲清楚,作为一个技术人员,本着追根溯源的精神,还是有必要吃透,也为自己的工作沉淀一些经验总结。网上关于Hadoop HA的资料多集中于怎么搭建HA,对于HA为什么要这么做描述甚少,所以本文对于HA是如何搭建的暂不介绍,主要是介绍HA是怎么运作,QJM又是怎么发挥功效的。一、Hadoop 系统架构1.1...

2019-04-16 16:10:36 5326

转载 Hadoop-MapReduce-运营商原始日志增强(自定义OutputFormat)

1.需求:现有一些原始日志需要做增强解析处理,流程:1、从原始日志文件中读取数据(日志文件:https://pan.baidu.com/s/12hbDvP7jMu9yE-oLZXvM_g)2、根据日志中的一个URL字段到外部知识库中获取信息增强到原始日志3、如果成功增强,则输出到增强结果目录;如果增强失败,则抽取原始数据中URL字段输出到待爬清单目录2.需求分析:程序...

2019-04-15 18:22:31 132

转载 Hadoop-mapreduce案例-GroupingComparator应用-查询订单最大金额

订单数据如下(订单id, 商品id, 成交金额):Order_0000001,Pdt_01,222.8Order_0000001,Pdt_05,25.8Order_0000002,Pdt_05,325.8Order_0000002,Pdt_03,522.8Order_0000002,Pdt_04,122.4Order_0000003,Pdt_01,222.8Order_...

2019-04-15 17:00:16 337

转载 Hadoop-MapReduce案例-自定义分区

在Hadoop的MapReduce过程中,每个map task处理完数据后,如果存在自定义Combiner类,会先进行一次本地的reduce操作,然后把数据发送到Partitioner,由Partitioner来决定每条记录应该送往哪个reducer节点,默认使用的是HashPartitioner,其核心代码如下:public class HashPartitioner<K, V&...

2019-04-12 16:44:40 304

转载 Hadoop-mapreduce案例-map端join

订单数据orders.txt1001 pd001 3001002 pd002 201003 pd003 401004 pd002 50商品数据pdts.txtpd001 applepd002 xiaomipd003 cuizi倾斜问题:在电商平台中,买小米手机和买苹果手机的订单数量很多,买锤子手机的订单...

2019-04-12 15:58:11 258

转载 Hadoop-mapreduce案例-两表join

订单数据表t_order: id date pid amount 1001 20150710 P0001 2 1002 20150710 P0001 3...

2019-04-12 15:39:37 224

转载 Hadoop-mapreduce案例-统计手机上行流量,下行流量,总流量

日志格式如下图,需要的字段,第二列:手机号(用户),倒数第三列:上行流量,倒数第二列:下行流行思路:将上行流量,下行流量,总流量封装成一个对象bean,map中context.write(手机号,bean),reduce中对每个用户的流量进行统计。MapReduce中传输自定义数据类型Bean:(1) 要在Hadoop的各个节点之间传输,就必须实现其序列化机制,实现 Writa...

2019-04-12 15:23:23 2762

转载 Hadoop-MapReduce案例-求共同好友

原始文件如下:(冒号前是人名,冒号后是好友的名字)A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E,O,M G:A,C,D,E,F H:A,C,D,E,O I:A,O J:B,O K:A,C,D L:D,E,F M:E,F,G O:A,H,I,J要求:求出哪些人两两之间有共...

2019-04-12 14:53:27 331

转载 大数据-Zookeeper的工作原理

一、zookeeper为什么要奇数个集群中的zookeeper需要超过半数,整个集群对外才可用。这里所谓的整个集群对外才可用,是指整个集群还能选出一个Leader来,zookeeper默认采用quorums来支持Leader的选举。其实quorums机制有两个作用:1、可以保证集群中选举出leader,且是唯一的一个,不会出现脑裂(split-brain)。2、当客户端更新数据时,当...

2019-04-10 20:14:10 302

原创 Java基础-基本数据类型包装类

包装类:将基本数值包装成对象,并提供很多操作对象的方法。基本数据类型 包装类 byte Byte char Character int Integer long Long float Float double Double boolean Boolean short Short Integer:(继...

2019-04-10 20:13:44 131

转载 Java基础-StringBuffer常用方法

StringBuffer类StringBuffer类和String一样,也用来代表字符串。只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。在StringBuffe...

2019-04-10 20:13:25 248

转载 Hadoop-SecondNameNode的工作机制

SecondNameNode的由来NameNode主要是用来保存HDFS的元数据信息,比如命名空间信息,块信息等。当它运行的时候,这些信息是存在内存中的。但是这些信息也可以持久化到磁盘上。上面的这张图片展示了NameNode怎么把元数据保存到磁盘上的。这里有两个不同的文件:fsimage:它是在NameNode启动时对整个文件系统的快照edit logs:它是在NameNod...

2019-04-10 20:10:01 493

转载 Hadoop-YARN的资源调度

yarn概述YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操 作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序YARN 是 Hadoop2.x 版本中的一个新特性。它的出现其实是为了解决第一代 MapReduce 编程 框架的不足,提高集群环境下的资源利用率,这些资源包括内存,磁盘,网络,IO等。Hadoop2.X 版本...

2019-04-10 19:38:36 2456

转载 Hadoop-HDFS读写数据

HDFS中的block、packet、chunkblock :这个大家应该知道,文件上传前需要分块,这个块就是block,一般为128MB,当然你可以去改,不顾不推荐。因为块太小:寻址时间占比过高。块太大:Map任务数太少,作业执行速度变慢。它是最大的一个单位。packet :packet是第二大的单位,它是client端向DataNode,或DataNode的PipLine之间传数据的...

2019-04-10 19:04:04 166

转载 Java基础-equals和==的区别

“==”的含义:1.基本数据类型(也称原始数据类型) :byte,short,char,int,long,float,double,boolean。他们之间的比较,应用双等号(==),比较的是他们的值。2. 引用数据类型:当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址(确切的说,是堆内存地址)。除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为f...

2019-04-10 17:52:03 136

转载 Hadoop-MapReduce原理过程

MapReduce的定义Hadoop 中的 MapReduce 是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错式并行处理TB级别的数据集mapreduce的优点1、MapReduce 易于编程 。它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的 PC 机器运行。也就是说你写一个分布式程序,...

2019-04-10 16:59:07 243

转载 Java基础-Arrays.asList注意事项

Arrays.asList用来将数组转化为List,这个看似功能很明了的方法却暗藏玄机。请先看下面的程序:int[] datas = new int[]{1,2,3,4,5};List list = Arrays.asList(datas);System.out.println(list.size());运行结果是1。一个长度为5的数组,转化为List后,长度却成了1。再对这...

2019-04-03 23:23:07 162

转载 Java基础-数组中的常用方法

声明数组String[] aArray = new String[5];String[] bArray = {"a","b","c", "d", "e"};String[] cArray = new String[]{"a","b","c","d","e"};打印数组int[] intArray = { 1, 2, 3, 4, 5 };String intArrayStrin...

2019-04-03 23:04:41 298

转载 Java基础-String常用方法

一、String1) String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。2) String类对象的创建字符串声明:String stringName;字符串创建:stringName =...

2019-04-03 21:58:13 185

转载 Linux-常用操作命令

一、系统操作命令1、关机命令:halt2、重启命令:reboot3、增加用户useradd [-dgGmMNs] 用户名-d<登入目录> 指定用户登入时的目录。-g<群组> 初始群组。-G<群组> 非初始群组。-m 自动创建用户的家目录。-M 不要创建用户的家目录。-N 不要创建以用户名称为名的群组。-s 指定用户登入后...

2019-03-26 19:29:00 327

转载 Linux-ssh原理

为了保证一台Linux主机的安全,所以我们每个主机登录的时候一般我们都设置账号密码登录。但是很多时候为了操作方便,我们都通过设置SSH免密码登录。那么该如何设置?是不是免密码登录就不安全了呢?被访问主机的秘钥存储机制在被SSH登录的主机中,其实都有一个存储来登录的主机的秘钥的文件,它的名字叫做authorized_keys,它的位置就在root/下面的隐藏目录.ssh中(注:如果这台主机没...

2019-03-25 18:51:50 259

转载 网络-vmware虚拟网络配置

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。NAT(地址转换模式)刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:在NAT模式中,主机网卡...

2019-03-25 18:33:52 121

转载 网络-IP地址,子网掩码,默认网关,DNS服务器详解

一、DNS服务器DNS是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。把域名翻译成IP地址的软件称为域名系统,即DNS。它保存了一张域名(domain name)和与...

2019-03-25 17:54:47 26290 3

原创 Java基础-String、StringBuilder 、StringBuffer的区别与联系

三者都是对字符串的操作,要想知道String ,StringBuilder,StringBuffer的区别与联系我们要从源码看起:String类public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The v...

2019-03-12 18:37:06 140

空空如也

空空如也

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

TA关注的人

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