自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark Core快速入门系列(五)RDD的缓存与Checkpoint

文章目录缓存缓存的意义缓存相关的 API缓存级别CheckpointCheckpoint 的作用使用 CheckpointSpark中的缓存,持久性,检查点之间的区别1.cache与persist的区别2.cache与checkpoint的区别3.persist与checkpoint的区别缓存概要缓存的意义缓存相关的 API缓存级别以及最佳实践缓存的意义使用缓存的原因 - 多次使用 RDD需求: 在日志文件中找到访问次数最少的 IP 和访问次数最多的 IPclass CacheOp {

2020-08-27 23:10:13 230

原创 Spark Core快速入门系列 (四)RDD的分区与Shuffle

文章目录RDD 的 Shuffle 和分区RDD 的分区操作RDD 的 Shuffle 是什么RDD 的 Shuffle 原理Hash base shuffleSort base shuffleRDD 的 Shuffle 和分区目标RDD 的分区操作Shuffle 的原理分区的作用RDD 使用分区来分布式并行处理数据, 并且要做到尽量少的在不同的 Executor 之间使用网络交换数据, 所以当使用 RDD 读取数据的时候, 会尽量的在物理上靠近数据源, 比如说在读取 Cassandra 或者

2020-08-27 11:37:00 338

原创 Spark Core 快速入门系列(三) 常用算子总结

文章目录Spark Transformation和Action算子速查表Transformation算子Action算子Spark Transformation和Action算子速查表Transformation算子Transformation算子作用map(func)返回一个新的分布式数据集,其中每个元素都是由源RDD中 每一个元素经过func函数转换得到的filter(func)返回一个新的数据集,其中包含的元素来自源RDD中元素经 过func函数过滤后的结果(fun

2020-08-25 19:03:44 169

原创 Spark Core快速入门系列(二)Action行动算子

文章目录Action操作1 reduce(func)案例2 collect()案例3 count()案例4 first()案例5 take(n)案例6 takeOrdered(n)案例7 aggregate案例8 fold(num)(func)案例9 saveAsTextFile(path)10 saveAsSequenceFile(path)11 saveAsObjectFile(path)12 countByKey()案例13 foreach(func)案例Action操作1 reduce(func

2020-08-25 16:37:15 150

原创 Spark Core快速入门系列(一)Transfromation 转换算子

这里写目录标题一,value类型1 map(func)案例2 mapPartitions(func) 案例3 mapPartitionsWithIndex(func) 案例4 flatMap(func) 案例5 map()和mapPartition()的区别6 glom案例7 groupBy(func)案例8 filter(func) 案例9 sample(withReplacement, fraction, seed) 案例10 distinct([numTasks])) 案例11 coalesce(n

2020-08-25 16:03:44 276

原创 Spark快速入门系列(三)深入理解RDD

这里写目录标题深入 RDD二级目录三级目录深入 RDD目标深入理解 RDD 的内在逻辑, 以及 RDD 的内部属性(RDD 由什么组成)案例需求给定一个网站的访问记录, 俗称 Access log计算其中出现的独立 IP, 以及其访问的次数二级目录三级目录...

2020-08-24 20:22:19 5318

原创 Spark快速入门系列(二)RDD 入门

文章目录RDD入门RDD 是什么定义特点RDD 的分区创建 RDDRDD 算子RDD入门目标上面通过一个 WordCount 案例, 演示了 Spark 大致的编程模型和运行方式, 接下来针对 Spark 的编程模型做更详细的扩展理解 WordCount 的代码从执行角度上理解, 数据之间如何流转从原理角度理解, 各个算子之间如何配合粗略理解 Spark 中的编程模型 RDD理解 Spark 中 RDD 的各个算子object WordCounts { def main(args:

2020-08-24 14:03:28 269

原创 Spark快速入门系列(一)了解Spark 与Spark的简单使用

文章目录1.Spark概述1.1. Spark是什么1.2. Spark的特点(优点)1.3. Spark组件1.4. Spark和Hadoop的异同2.Spark集群的搭建2.1. Spark 集群结构2.2. Spark 集群搭建2.3. Spark 集群高可用搭建2.4. 第一个应用的运行3.Spark入门3.1. Spark shell 的方式编写 WordCount3.2. 读取 HDFS 上的文件3.3. 编写独立应用提交 Spark 任务1.Spark概述目标Spark 是什么 ?Sp

2020-08-23 22:26:27 2259

原创 Kafka的 No kafka server to stop报错处理

使用kafka-server-stop.sh命令关闭kafka服务,发现无法删除,报错如下图No kafka server to stop下面修改kafka-server-stop.sh将PIDS=$(ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}')修改为PIDS=$(jps -lm | grep -i 'kafka.Kafka'| awk '{print $1}')命令详解:使用jp

2020-08-20 21:12:44 701

原创 最全Flume常用配置文件详情解析

Flume的常用配置项1、Source配置项(常见配置项)1.1 Avro Source1.2 NetCat Source1.3 Exec Source1.4 Spooling Directory Source1.5 Taildir Source1.6 Thrift Source1.7 Kafka Source1.8 Sequence Generator Source1.9 HTTP Source2、Channels 配置项 (常见配置项)2.1 Memory Channel2.2 JDBC Channel

2020-08-19 21:08:09 5839 1

原创 idea安装Scala方法之一 (官网下载)

https://plugins.jetbrains.com/plugin/1347-scala查找对应的idea版本即可,解压好之后放入下载的idea中的plugins目录中,重启idea即可

2020-08-17 22:59:06 581

原创 Flume学习笔记——从小白到入门(一)

文章目录Flume 概述Flume 定义Flume 基础架构AgentSourceSinkChannelEventFlume 快速入门Flume 安装部署安装地址安装部署Flume 入门案例监控端口数据官方案例实时监控单个追加文件实时监控目录下多个新文件实时监控目录下的多个追加文件Flume 概述Flume 定义Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume 基于流式架构,灵活简单。Flume 基础架构Flume 组成架构如图所

2020-08-15 23:39:32 223

原创 Kafka基础笔记——从小白到入门(二)

这里写目录标题Kafka APIProducer API消息发送流程异步发送 API同步发送 APIKafka APIProducer API消息发送流程Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到

2020-08-14 17:36:54 133

原创 Kafka基础笔记——从小白到入门(一)

文章目录Kafka 概述定义消息队列传统消息队列的应用场景消息队列的两种模式Kafka 基础架构Producers的概念broker的概念Message组成partion中的每条Message包含以下三个属性:Consumers的概念Kafka 快速入门安装部署集群规划jar 包下载集群部署Kafka 命令行操作Kafka 架构深入Kafka 工作流程及文件存储机制Kafka 生产者分区策略数据可靠性保证Exactly Once 语义Kafka 消费者消费方式分区分配策略offset 的维护消费者组案例Ka

2020-08-13 16:26:50 348

原创 Sqoop基础笔记——从小白到入门

文章目录Sqoop简介Sqoop原理Sqoop安装下载并解压修改配置文件拷贝JDBC驱动验证Sqoop测试Sqoop是否能够成功连接数据库Sqoop的简单使用案例导入数据RDBMS到HDFSRDBMS到HiveRDBMS到Hbase导出数据HIVE/HDFS到RDBMS脚本打包Sqoop的一些常用命令和参数常用命令列举命令&参数详解公用参数:数据库连接公用参数:import公用参数:export公用参数:hive命令&参数:import命令&参数:export命令&参数:co

2020-08-12 21:48:51 251

原创 Zookeeper基础笔记——从小白到入门

文章目录入门概述特点数据结构应用场景统一命名服务统一配置管理统一集群管理服务器节点动态上下线软负载均衡等。Zookeeper内部原理配置参数解读选举机制(面试重点)节点类型Stat结构体监听器原理(面试重点)写数据流程操作客户端命令行操作 (shell)API应用Idea环境搭建创建一个节点获取子节点并监听判断Znode是否存在监听服务器节点动态上下线案例需求需求分析,如图所示具体实现入门概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目特点1) Zokeepe

2020-08-12 11:10:10 304

原创 Linux下安装Zookeeper服务器

文章目录分布式安装部署集群规划解压安装配置服务器编号集群操作分布式安装部署集群规划在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。解压安装(1)解压Zookeeper安装包到/opt/module/目录下[root@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/(2)同步/opt/module/zookeeper-3.4.10目录内容到hadoop103

2020-08-12 09:36:04 247

原创 Linux下安装hadoop服务器

文章目录虚拟机环境准备配置虚拟机IP修改主机名主机映射克隆虚拟机配置SSH在/opt目录下创建文件夹安装JDK卸载现有JDK在Linux系统下的opt目录中查看软件包是否导入成功解压JDK到/opt/module目录下配置JDK环境变量测试JDK是否安装成功安装Hadoop进入到Hadoop安装包路径下解压安装文件到/opt/module下面查看是否解压成功将Hadoop添加到环境变量测试是否安装成功重启(如果Hadoop命令不能用再重启)编写集群分发脚本xsync脚本实现修改脚本 xsync 具有执行权限

2020-08-11 19:33:29 425

原创 Hadoop框架之——企业优化

MapReduce 跑的慢的原因MapReduce程序效率的瓶颈在于两点:1.计算机性能CPU、内存、磁盘健康、网络2. I/O 操作优化(1)数据倾斜(2) Map和Reduce数设置不合理(3) Map运行时间太长,导致Reduce等 待过久(4)小文件过多(5)大量的不可分块的超大文件(6) Spil)次数过多(7) Merge次数过多等。MapReduce优化方法MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用

2020-08-10 00:17:58 151

原创 Hadoop框架之—— Yarn资源调度器

1 简介Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。2 Yarn基本架构YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成3 Yarn工作机制1.Yarn运行机制2.工作机制详解(1)MR程序提交到客户端所在的节点。(2)YarnRunner向ResourceManager申请一个Appl

2020-08-09 22:38:01 175

原创 Hadoop框架之——Mapreduce开发总结

MapReduce开发总结在编写MapReduce程序时,需要考虑如下几个方面:1.输入数据接口: InputFormat(1)默认使用的实现类是: TextInputFormat(2) TextnputFormat的功能逻 辑是: - -次读一行文本,然后将该行的起始偏移量作为key,行内容作为value返回。(3) KeyValue TextInputFormat每一行均为一 条记录,被分隔符分割为key,value。默认分隔符是tab (t)。(4) NlineInputFormat按照指

2020-08-09 22:11:24 215

原创 Hadoop框架之——Mapreduce 计数器应用 (ETL数据清洗案例)

Hadoop为每个作业维护若干内置计数器,以描述多项指标。例如,某些计数器记录已处理的字节数和记录数,使用户可监控已处理的输入数据量和已产生的输出数据量。1.计数器API(1)采用枚举的方式统计计数enum MyCounter{MALFORORMED ,NORMAL}//对枚举定义的自定义计数器加1.context. getCounten(MyCounter.MAL FORORMED).increment(1)(2)采用计数器组、计数器名称的方式统计context. getCounter

2020-08-09 18:38:29 359

原创 Hadoop框架之——Mapreduce Join多种应用

Reduce Join工作原理Map端的主要工作:为来自不同表或文件的key/value对,打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出。Reduce端的主要工作:在Reduce端以连接字 段作为key的分组已经完成,我.们只需要在每- -个分组当中将那些来源于不同文件的记录(在Map阶段已经打标志分开,最后进行合并就ok了。Reduce Join案例实操1.需求订单数据表t_orderid pid amount1001 01 110

2020-08-09 14:52:17 224

原创 Hadoop框架之——Mapreduce OutputFormat数据输出

OutputFormat是MapR educe输出的基类,所有实现MapReduce输出都实现了OutputF ormat接口。下面我们介绍几种常见的OutputFormat实现类。1.文本输出TextOutputFormat默认的输出格式是TextOutputFormat,它把每条记录写为文本行。它的键和值可以是任意类型,因为TextOutputF orm at调用toString0方法把它们转换为字符串。2. SequenceFileOutputFormat将SequenceFileOutput

2020-08-08 21:54:02 328

原创 Hadoop框架之——Mapreduce MapTask工作机制和ReduceTask工作机制

MapTask工作机制如图所示。(1)Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value。(2)Map阶段:该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。(3)Collect收集阶段:在用户编写map()函数中,当数据处理完成后,一般会调用OutputCollector.collect()输出结果。在该函数内部,它会将生成的key/value分区(调用Partit

2020-08-08 21:41:14 239

原创 Hadoop框架之——Mapreduce GroupingComparator分组(辅助排序)

对Reduce阶段的数据根据某一个或几个字段进行分组。分组排序步骤:(1)自定义类继承WritableComparator(2)重写compare()方法@Overridepublic int compare(WritableComparable a, WritableComparable b) { // 比较的业务逻辑 return result;}(3)创建一个构造将比较对象的类传给父类protected OrderGroupingComparator() { super(

2020-08-07 23:14:56 276

原创 Hadoop框架之——Mapreduce Combiner合并

概述(1) Combiner 是MR程序中Mapper和Reducer之外的- -种组件。(2) Combiner组件的父类就 是Reducer。(3) Combiner和Reducer的区别在 于运行的位置Combiner是在每一个MapTask所在的节点运行,Reducer是接收全局所有Mapper的输出结果;(4) Combiner的意 义就是对每一个 MapTask的输出进行局部汇总,以咸小网络传输量。(5) Combiner能够应 用的前提是不能影响最终的业务逻辑,而且,Combiner

2020-08-07 22:43:59 208

原创 Hadoop框架之——Mapreduce WritableComparable 排序

概述排序是MapReduce框架中最重要的操作之一。MapTask和ReduceTask均会对数据按照key进行排序。该操作属于Hadoop的默认行为。任何应用程序中的数据均会被排序,而不管逻辑上是.否需要。默认排序是按照字典顺序排序,且实现该排序的方法是快速排序。对于MapTask,它会将处理的结果暂时放到环形缓冲区中,当环形缓冲区使用率达到一定阈值后,再对缓冲区中的数据进行一-次快速排序,并将这些有序数据溢写到磁盘上,而当数据处理完毕后,它会对磁盘上所有文件进行归并排序。对于ReduceTas

2020-08-07 22:32:07 257

原创 Hadoop框架之——Mapreduce的Partition分区

1、问题引出要求将统计结果按照条件输出到不同文件中(分区)。比如:将统计结果按照手机归属地不同省份输出到不同文件中(分区)2、默认Patitioner分区public class HashPartitioner<K, V> extends Partitioner<K, V> { public int getPartition(K key, W value, int numReduceTasks){ return (key.hashCode() 6. Integer

2020-08-07 21:39:25 313

原创 Hadoop框架之——Mapreduce的Shuffle机制

Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle如下:1)MapTask收集我们的map()方法输出的kv对,放到内存缓冲区中2)从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件3)多个溢出文件会被合并成大的溢出文件4)在溢出过程及合并的过程中,都要调用Partitioner进行分区和针对key进行排序5)ReduceTask根据自己的分区号,去各个MapTask机器上取相应的结果分区数据6)ReduceTask会取到同一个分区的来自不同MapTask的结果文件,R

2020-08-07 14:03:29 148

原创 Hadoop框架之——Mapreduce工作流程

MapReduce工作原理流程简介在MapReduce整个过程可以概括为以下过程:输入 --> map --> shuffle --> reduce -->输出输入文件会被切分成多个块,每一块都有一个map taskmap阶段的输出结果会先写到内存缓冲区,然后由缓冲区写到磁盘上。默认的缓冲区大小是100M,溢出的百分比是0.8,也就是说当缓冲区中达到80M的时候就会往磁盘上写。如果map计算完成后的中间结果没有达到80M,最终也是要写到磁盘上的,因为它最终还是要形成文件。那

2020-08-06 17:21:00 367

原创 Hadoop框架之——MapReduce框架原理之InputFormat

实现类的类型FileInputFormat 常见的接口实现类包括:TextInputFormat、KeyValueTextInputFormat、NLineInputFormat、CombineTextInputFormat 和 自定义 InputFormat 等。TextInputFormatTextInputFormat是默认的FileInputFormat实现类。按行读取每条记录。键是存储该行在整个文件中的起始字节偏移量,LongWntable类型。 值是这行的内容,不包括任何行终止符(换行符和

2020-08-05 22:35:56 292

原创 Hadoop框架之——Mapreduce序列化

1 序列化概述1.1什么是序列化序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。1.2为什么要序列化一般来说,“活的” 对象只生存在内存里,关机断电就没有了。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外-台计算机。然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。1.3为什么不用Java的序列化Java的序列化是-个

2020-08-04 22:29:33 370

原创 Hadoop框架之——Mapreduce概述

1.定义Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。Mapreduce核心巩固是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算框架,并发运行在一个Hadoop集群上2.优缺点2.1.优点mapreduce易于编程它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行,也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的,就是因为这个特点使得Mapreduce编程变

2020-08-04 15:13:03 336

原创 Hadoop框架之——HDFS 2.x新特性

Hadoop2.x新特性1 ,集群间数据拷贝1)scp实现两个远程主机之间的文件复制//推 pushscp -r hello.txt root@hadoop103:/user/root/hello.txt//拉 pullscp -r root@hadoop103:/user/root/hello.txt hello.txt//是通过本地主机中转实现两个远程主机的文件复制;如果在两个远程主机之间ssh没有配置的情况下可以使用该方式。scp -r root@hadoop103:/user/

2020-08-03 19:30:31 223

原创 Hadoop框架之——DataNode(面试开发重点)

1 DataNode工作机制1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。4)集群运行中可以安

2020-08-03 15:52:04 306

原创 Hadoop框架之——HDFS中NameNode和SecondaryNameNode(面试开发重点)

1,NN和2NN工作机制思考:NameNode中的元数据是存储在哪里的?首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此产生在磁盘中备份元数据的FsImage。这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。

2020-08-03 13:34:06 260

原创 Hadoop框架之——HDFS读/写流程

读数据流程1)客户端通过Distributed FileSystem向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址。2)挑选一台DataNode(就近原则,然后随机)服务器,请求读取数据。3)DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验)。4)客户端以Packet为单位接收,先在本地缓存,然后写入目标文件。写数据流程1)客户端通过Distributed FileSystem模块向NameNo

2020-08-02 20:20:27 125

原创 Hadoop框架之——HDFS开发(Shell)

1.基本语法bin/hadoop fs 具体命令 or bin/hdfs dfs 具体命令dfs是fs的实现类。2.命令大全[root@huan01 hadoop-2.7.2]$ bin/hadoop fs[-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp

2020-08-01 23:00:00 163

原创 Hadoop框架之——HDFS概述

概述HDFS背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式管理系统,HDFS只是分布式管理系统中的一种HDSF定义HDSF (Hadoop Distributed File System) ,它是一个文件系统,用于存储文件,通过目录树来定位角色,其次,它是分布式的,由很多服务器联合起来实现功能,集群中的服务器各有各自的角色HDFS的使用场景:适合一次写入,多次读出的场景,且不支持文

2020-08-01 21:41:39 608 1

eclipse中的uml类图插件jar包

org.eclipse.uml2.uml:这是Eclipse UML插件的核心库,提供了UML类图的基本元素,如类、接口、关联、活动图等。它还包含了用于创建和编辑UML模型的编辑器。 org.eclipse.uml2.uml.diagram:这个库包含了用于创建和编辑UML类图的类和接口。它提供了各种布局管理器,用于控制UML图中的元素的位置和大小。此外,它还包含了一些实用程序类,用于处理UML图中的属性和操作。 org.eclipse.uml2.uml.util:这个库包含了一些实用工具类,用于支持UML类的生成、解析和转换。例如,它可以将Java代码转换为UML类图,或者将UML类图转换为其他表示形式。此外,它还包含了一些实用程序方法,用于处理UML图中的属性和操作。

2023-08-21

远程连接虚拟机工具和文件传输工具

远程连接虚拟机工具有很多种,比如Xshell、MobaXterm、SecureCRT等。这些工具都可以实现远程登录虚拟机,进行操作和文件传输。文件传输工具也有很多,比如Xshell、SCP、SFTP等。这些工具都可以实现文件的上传和下载。这里面我放入了Xshell和Xftp,是7版本的,随时可下载。

2023-08-21

空空如也

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

TA关注的人

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