自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spark中的transformation算子详解(需要进行shuffle的算子)(二)--- 图解+案例+源码分析

shuffle算子1、cogroup算子:(协分组、或者称为联合分组)(1)group与cogroup:①group:是将一个RDD里面的多个分区中的key相同的数据,通过shuffle进入到同一个分区的同一组中;②cogroup:是将两个或多个RDD联合起来,通过shuffle将key相同的数据进入到同一个分区的同一个组中;得到的结果是一个RDD;(2)cogroup的返回值:①经过cogroup返回的新的RDD是一个对偶元组,key相同的value不是放入一个迭代器,而是两个或多个迭代器中;

2020-09-21 23:09:38 780 1

原创 Yarn原理加强之---MapReduce程序在Yarn上简易运行流程

1、提交job:客户端Client提交job到Yarn主节点ResourceManager上,ResourceManager有两个组件:一个是ApplicationMaster,用于管理所有applicaion,接收所有job;第二个是Sheduler:用于资源调度,管理集群资源、分配资源。2、启动NodeManager:NodeManager启动向,向ResourceManager汇报运算资源情况。3、分配jobID和工作IDL:ApplicationManager分配jobID,并分配默认

2020-08-20 22:21:07 412

原创 图解MapReduce处理数据简易流程

(相比第一版稍有改动几个词)

2020-08-19 23:57:09 642

原创 kafka

文章目录1、Kafka都有哪些特点?2、请简述下你在哪些场景下会选择 Kafka?1、Kafka都有哪些特点?高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。可扩展性:kafka集群支持热扩展持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)高并发:支持数千个客

2020-10-30 20:37:35 159

原创 测试用sql(用户连续活跃区间记录表)

需求:1.1、T-1日(10.11) 区间表create table act_range(guid string,first_dt string,rng_start string,rng_end string)partitioned by (dt string)row format delimited fields terminated by ',';1.2、数据vi rng.11a,2020-10-01,2020-10-01,2020-10-03

2020-10-13 21:27:19 443

原创 hiveserver2

1、先启动源数据库hive --server metastore2、再启动hiveserver2hiveserver23、启动beeline连接(hive的源数据库放在了mysql中)beelinebeeline> !connect jdbc:hive2://localhost:10000Enter username for jdbc:hive2://localhost:10000: rootEnter password for jdbc:hive2://localhost:10000

2020-10-11 20:27:37 181

原创 Flume:自定义拦截器-选择器-kafka

kafka基本操作与flume级联案例操作手册(不使用选择器、拦截器):1、启动hdfs、kafka(1)如果是第一次启动kafka,启动前需要设置一下broker.id=0或1:vi /opt/apps/kafka_2.11-2.0.0/config/server.properties ①broker.id=0或broker.id=1②zookeeper地址:zookeeper.connect=doitedu01:2181,doitedu02:2181,doitedu03:2181(2)

2020-10-08 23:54:41 804

原创 SparkSQL整合Hive与启动HiveServer2

一、Spark整合Hive:①SparkSQL兼容Hive的源数据库、兼容Hive的自定义函数、兼容Hive的序列化和反序列化。②可以用SparkSQL替代Hive或者将Hive的引擎由MapReduce换成SparkSQL。③启动SparkSQL必须是client模式,不能是cluster模式;启动SparkSQL时可以指定启动模式,错误示例如下:bin/spark-sql --deploy-mode cluster --master spark://linux02:7077 --driver-

2020-10-05 20:20:45 1847

原创 spark中的transformation算子详解(需要进行shuffle的算子)(一)

shuffle算子1、groupByKey(针对于对偶元组类型的数据进行按key分组操作)(1)经groupByKey处理后的数据得到的结果泛型可以是:(String,Iterator(Int));(2)调用groupByKey后生成一个shuffledRDD;(3)key相同的进入同一节点的同一分区中;(4)如何保证key相同的进入同一台机器的同一分区中?一个分区中只有一个key吗?①溢写磁盘,标识key,拉取属于自己的key到同一分区;下游到上游拉取属于自己的key到同一分区的同一组内;

2020-09-20 17:55:53 325

原创 spark案例分析之:订单数据案例--计算订单分类成交金额

需求:订单数据案例:(数据检索并将计算结果保存到MySQL中)(1)需求:在给定的订单数据中,根据订单的分类ID进行聚合,然后按照订单分类名称,统计出某一天商品哥哥分类的成交金额;然后将计算结果保存到MySQL中。(2)字段说明:oid:订单id,String类型cid: 商品分类id,Int类型money: 订单金额,Double类型longitude: 经度,Double类型latitude: 纬度,Double类型(3)分类信息:1.家具;2.手机;3.服装。

2020-09-20 10:29:35 1692

原创 Spark简易执行流程(以standalone-client模式为例)

1、加载主类,通过反射调用指定类的main方法;2、创建SparkContext,与Master进行通信申请资源;3、Master与Worker通信,启动executor;4、Worker中启动executor,并创建线程池;5、executor向Driver反向注册;6、创建原始RDD;val lines = sc.textFile(“hdfs://linux02:9000/data”)7、调用RDD中的Transformation(s)算子;val result = lines.fil.

2020-09-17 22:34:59 154

原创 scala中定义函数的几种方法

scala中定义函数的几种方法package java_scala/** * 函数的本质就是引用类型,相当于Java中的new出来的实例;函数是在堆内存中新开辟的一片空间。 * 定义的函数一定要有输入和返回值; * scala方法的返回值一定是放在一个整体里的;(例如:元组) * 没有返回值相当于返回的是Unit; * 调用函数其实是调用函数里面的apply方法来执行逻辑; * scala的编译期可以自动推断类型; * tuple其实使用了语法糖。 */object Function

2020-09-13 23:36:26 1031

原创 Java代码实现Scala中的map、filter、reduce方法(第一版)

1、MapFunction接口package java_scala;public interface MapFunction { //定义一个规范,要求输入字符串,返回的也是字符串 String apply(String word);}2、FilterFunction接口package java_scala;public interface FilterFunction { //定义一个规范,要求输入的是Boolean类型,返回的是String类型 Bool

2020-09-13 23:04:40 364

原创 Akka简介与实现RPC通信流程

1、akka通信:①akka是一个通信框架,基于Actor编程模型实现,底层使用Netty来实现远程RPC通信;②可以是单机的,也可以是分布式的;Akka中内置了许多的mailboxes;③在akka里,Actor之间通信的唯一机制就是消息传递;④spark1.6版本之前,spark分布式节点之间的消息传递使用的就是Akka,底层也就是actor实现的;1.6之后底层使用的netty传输。2、Actor简介:①Actor是用来收发消息,处理逻辑的,Actor就是通过收发消息实现并发的;②Act

2020-09-13 20:18:09 1066

原创 Hive知识点(一)详细网罗之---基础篇

1、hive概念:(1)hive是一个处理结构化数据的数仓工具;(2)用户可以在客户端上写HQL语句(是一种类SQL语句),hive将HQL语句转为MR程序,将maptask和reducetask提交到yarn上,分布式运行;(3)hive是一个工具,只需要在一台机器上安装,指定元数据位置等信息即可。2、hive处理数据的简易流程:(1)解析SQL语句;(2)优化SQL语句;(3)将SQL语句转化成MR逻辑;(4)读取数据;(5)找到元数据的位置;(6)加载元数据信息。注:​ ①元数

2020-09-03 20:58:32 246

原创 Hbase笔记(三)之---原理加强篇(Hbase读写流程、flush、合并拆分、RowKey设计等)

6、Hbase写入数据流程:前提:①Hbase中的表包括:行、列族、列和值;其中,key是:行、列族和列,value是:值;②随着Hbase表中的数据量增加,RegionServer会将Region会分裂成不同的Region,Region在不同的RegionServer中,一个Region对应一个RegionServer;③每个Region中,存在一个或多个列族Store,每个Store中有一个MemStore实例。数据写入WAL之后就会被放入MemStore;④MemStore是内存的存储对象,

2020-09-01 09:17:41 352

原创 Hbase笔记(二)之---原理篇

1、Hbase数据模型:①位置:Hbase中的数据存储在表中;②表:Hbase的表是schema less表,没有字段的定义和约束类型;③表中数据:Hbase的表中数据是以Key-Value的形式存储的,以Key的首字母字典顺序排列;④Key:一个完整的Key,包含:rowkey(主键)、列族(column family)、qualifier(属性)、timeStamp(时间戳);⑤Value:一个Value本质上是一个任意数据序列化之后的二进制字节数组;⑥表的纵向划分:Hbase的表在纵向上划

2020-08-30 19:46:33 258

原创 HBase笔记(二)之---原理篇(合并与拆分)

合并1、合并操作的时机对象与作用(1)合并的时机:①hfile文件进行更新、删除操作时,每操作一次生成一个hfile文件,当有大量更新或删除操作后,需要对hfile文件进行合并,生成一个新的hfile文件;②新文件生成之后,以前操作留存的文件就会被清理,可以释放资源,节省空间;③当进行大量更新或删除操作后,region管理范围变小,需要对region进行合并;④region合并后,表结构也要进行相应的更改,表也要进行合并(释放资源)(可自动合并或手动合并,因其占用大量资源,一般选择周末、节假日

2020-08-28 20:17:16 636

原创 Hbase笔记(一)之--- 基础篇(x-mind脑图-->清晰明了)

2020-08-27 21:40:10 124

原创 系统架构简析

1、存储系统:(1)HDFS:分布式存储系统,海量数据存储系统;以文件为单元;(2)MYSQL:数据库,存储业务表,快速,但有限;以行为单元;(3)HBASE:分布式列式存储的数据库;以文件为单元;可以实现CRUD,把数据存储在HDFS中;借助HDFS存储、管理数据;数据格式是hflie;特点:根据某一两个纬度进行查询时速度快,用rowkey主键查询时速度最快;但是索引层次不能太多,影响效率;不适合多纬度查询。(4)HIVE:用来处理结构化数据,流程:写SQL,统计报表,聚合,运算。不适合

2020-08-24 23:41:57 315 1

原创 clickhouse分布式数据库系统(完全列式,非关系型)

1、clickhouse是什么:clickhouse是一个完全列式的分布式数据库管理系统,最开始是为世界第二大web分析平台YandexMetrica 设计开发的。用户的查询纬度是多变的、不确定的、而又需要快速的得到结果,因此需要联机分析处理。起初,YandexMetrica 公司为非聚合数据使用专门的OLAP数据库,称为OLAPServer,用于构建报表系统。OLAPServer可以很好的进行非聚合数据分析,但是由于缺少对数据类型的支持(只支持数据),无法完成实时更新数据,只能通过每天重写数据完成增

2020-08-24 21:58:36 2155 1

原创 clickhouse安装(单机版)

1)安装curl工具yum install -y curl2)添加clickhouse的yum镜像curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash3)检查镜像情况[root@linux01 yum.repos.d]# yum list | grep clickhouseclickhouse-client.x86_64

2020-08-24 20:50:01 351 1

原创 hive安装(hive3.1.2与hadoop3.2.1版本冲突解决办法)

首先:正常启动HDFS、YARN和ZooKeeper1.安装mysql(安装教程在以前的博客中)2 查看mysql是否运行3、启动mysql服务,登录mysqlsystemctl start mysqldmysql -uroot -p4、可以配置mysql的开机自启服务(1)下面这两个设置以后 密码很简单不会报错mysql> set global validate_password_policy=0;mysql> set global validate_password_

2020-08-24 20:48:01 4901 3

原创 Hadoop基础知识总结(初代e目)

2020-08-22 23:12:00 171

原创 日常复习之---zookeeper知识点总结

2020-08-22 16:53:06 116

原创 zookeeper的基本功能和应用场景

1、zookeeper是一种分布式底层的协调工具,用来存储状态信息等关键性或描述性的数据,不用来存储大量数据;为保证数据的可靠性,zookeeper要求集群共同存储相同数据,机器数量一般为奇数。2、功能:①提供读写功能,写的是状态信息,文件不大;②提供监听数据变化的功能;③提供数据变化时的告知的功能。3、应用场景:(1)可以作为分布式系统的动态上下线感知。①以session会话的形式连接。与心跳机制不同,session会话一般会保持一段时间的长连接状态,而且占用更少资源。②zookeeper

2020-08-21 20:24:45 387

原创 ZooKeeper的安装

1、上传、解压(1)cd /opt/apps/ 到要上传的目录下(2)rz 上传(3),选择文件,上传(4)上传成功(5)解压tar -zxf zookeeper-3.4.6.tar.gz(6)解压完成2、修改配置文件(1)cd /opt/apps/zookeeper-3.4.6/conf/(2)mv zoo-sample.cfg zoo.cfg 修改文件名(3)cd /opt/apps/zookeeper-3.4.6/(4)mkdir zkData 创建文件夹(5)e

2020-08-21 19:51:49 211

原创 hadoop组成之---Yarn

Yarn是分布式资源调度和任务监控平台,是用来合理分配网络、磁盘IO、内存、CPU资源的。每台机器的上的资源都是有限的,而且不尽相同,人们不能实时监控资源占用情况,会产生节点未合理利用的情况。此时,需要一个平台来实时监控每台机器的匀速资源,然后进行合理的任务分配;同时,还要做任务的进度监控工作,当前工作不能完成现在分配的任务时,平台会进行任务的再分配。...

2020-08-20 22:41:26 106

原创 MapReduce原理之---分区、分组、切块、切片

分区和分组的区别:1、分区:一个分区就是一个任务;当数据量大,单个reducetask处理不了时,需要多个reducetask同时处理全部数据;partition调用HashPartitioner组件,获得区号;HashPartitioner.getPartition(nk,nv){nk.hashcode%numberReduceTasks;}分区能够保证同一个逻辑下的K到达同一个reducetask中,按照K进行全局聚合、排序、分组;保证处理全部数据;保证处理的数据不重复。2、分组:分组

2020-08-20 20:17:45 2392

原创 分布式资源调度和任务监控平台yarn之--yarn的配置

配置yarn(所有操作都在hadoop安装目录下进行;qi’dogn’zhi)1、cd /opt/apps/hadoop-3.2.1/etc/hadoop/目录下有一个yarn-site.xml,打开编辑模式2、yarn-site.xml中,增加编辑如下:```java<configuration><!-- Site specific YARN configuration properties --><!-- resource,manager主节点所在机器

2020-08-20 11:41:14 577

原创 MapReduce原理之---处理数据详细流程

1、任务切分:对文件进行逻辑切片,切片按照范围划分,默认128M一片。一个文件至少有一个切片,每个切片运行一个maptask,如果文件超过128M,同一个输入文件会有多个maptask运行;为减少资源浪费,如果最后一个切片大小小于1.1*128M,将不会被切分处理。2、输入对象:FileInputFormat.setInputPaths()方法,指定数据输入路径;输入目录中可以有单个或多个文件。读取数据、生成K-V对:由继承RecordReader的LineRecordReader类中的readLin

2020-08-19 23:53:14 829

原创 MapReduce内部数据处理流程(未完成)

MapReduce数据处理流程1、数据来源路径:FileInputFormat.setInputPaths(),输入目录中,可以有单个或多个文件;2、对原始数据进行处理、任务划分:(1)任务切片:切片是逻辑切片,非物理切片;(2)切片大小由输入文件的大小、文件数量和配置参数决定;(3)(集群中)默认128M一个任务切片,(本地模式)32M一个任务切片;(4)输入目录中文件数量决定运行的maptask数量,每一个输入文件至少有一个切片;每一个切片运行一个maptask;如果文件超过128M(或本地

2020-08-18 18:12:23 188

原创 MapReduce程序分析数据流程

分为两步(mapper和reducer):(1)Mapper端;(2)Reducer端。((3)启动类)核心思想:根据业务场景确定K,V。K的作用:分区、排序、分组、聚合维度;K、V都要实现Hadoop的序列化;Hadoop的序列化实现方式:read、write方法流程:1、任务切片划分:计算逻辑–>根据文件大小等2、根据逻辑启动maptask,maptask的个数决定map执行时的并行度3、原始数据处理:切片,task负责自己的数据,readline读取一行,得到KV,交给Mappe

2020-08-17 23:02:49 620 1

原创 HDFS原理加强之---HA(高可用)

1、HDFS基本设计架构中,对namenode过于依赖,存在单节点故障问题。(什么是单节点故障问题:通常分布式系统采用主从结构,一个主主节点连接多个从节点。主节点负责分发任务,从节点负责处理任务;当主节点发生故障时,会导致真各个系统发生故障,这种故障叫做单节点故障问题。2、HDFS中的HA机制:通过双namenode消除单点故障。(1)namenode的作用:记录元数据、日志,其他职责(副本维护、分发任务、负载均衡、监听心跳等)。(2)正常工作状态下,namenode处于active状态,当name

2020-08-16 23:35:15 208

原创 HDFS原理加强之---元数据管理和checkpoint

元数据存储位置和存储策略1、元数据:(1)元数据维护HDFS文件系统和虚拟访问目录的信息;namenode记录用户存储数据的数据元信息。(2)元数据包括:数据切块描述信息、副本个数、存储位置、切块大小、文件权限等。(3)元数据存储位置:/opt/hdpdata/data/current/BP-742774004-192.168.133.3-1597321931822/current/finalized/subdir0/subdir02、元数据的存储位置:(两种)(1)内存:元数据存储在内存对象

2020-08-16 22:16:56 289

原创 HDFS原理加强之---集群维护、上传数据和下载数据

集群维护(namenode和datanode之间的通信)具体流程如下:1、namenode启动,进行初始化;namenode启动时把最新的FsImage加载到内存中。<namenode里面有一个FsImage的目录结构,记录某一永久性检查点(Checkpoint)这个时刻的整个HDFS的元数据信息;还有一个edits,记录所有对HDFS的写操作。HDFS会定期对最近的FsImage和edits文件进行CheckPoint,CheckPoint发生后会将前一次CheckPoint后的所有edit

2020-08-14 23:37:16 221

转载 单点故障(转自:冻住丶不许走的博客)

什么是单点故障通常分布式系统采用主从模式,一个主机连接多个处理节点,主节点负责分发任务,而子节点负责处理业务,当主节点发生故障时,会导致整个系统发故障,我们把这种故障叫做单点故障。传统解决单点故障问题一般会多加一个备用主节点,备用主节点会发送一个ping包给主节点,主节点收到这个ping包后会给备用主节点相应一个ack字节包作为回应,备用主节点通过是否收到ack字节包来判断主节点是否正常运行,没有收到则则认为主节点已经故障并顶替主节点的位置。不过当出现网络震荡的时候导致主节点接受数据时丢失一部分数据

2020-08-13 23:03:28 324

原创 HDFS原理之---HDFS核心思想和组件架构

1、HDFS核心思想HDFS(Hadoop Distribute FIleSystem) 用来处理海量数据的存储,是hadoop的分布式文件系统。(1)数据存储在集群中的某台机器上,为保证数据安全,需要将这个数据进行物理切块存储,每一块的大小是128M(可根据机器的性能进行修改),将每一块分别存储到三台不同的机器上(三个副本)。(为什么是128M:根据统计,处理完一个文件的效率最优策略是1s,而普通计算机的io是100M左右,计算机的底层又是以二进制的形式存在的,所以默认128M符合大部分机器的处理情

2020-08-13 22:17:19 592

原创 hadoop特点与组成

1、hadoop解决两个方面的问题:(1)解决海量数据的存储问题,用到HDFS分布式存储系统,HDFS利用多台机器的存储空间进行存储。(2)解决海量数据的运算问题,用到MapReduce分布式编程框架,MapReduce利用多台机器的运算程序进行运算。2、hadoop组成:(1)HDFS分布式文件系统,对海量数据进行存储;(2)MapReduce分布式运算编程框架;(3)Yarn:资源调度系统和任务监控平台;检验机器的运算资源,并进行合理分配,分布式任务监控;(4)comments:工具,ha

2020-08-13 21:16:52 1256

原创 linux基础知识日常总结(3)

2020-08-12 21:56:05 74

空空如也

空空如也

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

TA关注的人

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