自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Shuffle机制的详细介绍

Shuffle机制Shuffle是在Mapper之后,Reducer之前的操作分区默认分区时,若numReduceTask>1,会根据所求key的hashcode值进行分区设置MAX_VALUES的目的是为了防止hashcode过大分区时按照条件的不同进行分区,有几个分区就会有几个reduce若numReduceTask=1,直接输出0号文件分区主要需要写四个类,分别是partitioner类,mapper类,reducer类,driver类导包的时候导最长的,最长的是最新的

2020-08-11 15:03:01 2023

原创 SparkStreaming和Flink详细对比

Spark Streaming 和 Flink 详细对比第一部分 编程模型对比1.1运行角色Spark Streaming 运行时的角色(standalone 模式)主要有:1)Master:主要负责整体集群资源的管理和应用程序调度;2)Worker:负责单个节点的资源管理,driver 和 executor 的启动等;3)Driver:用户入口程序执行的地方,即 SparkContext 执行的地方,主要是 DAG 生成、stage 划分、task 生成及调度;4)Executor:负责执行

2020-11-23 13:51:11 1751

原创 Redis五种常用数据结构及操作

Redis五种常用数据结构及操作key操作操作注释KEYS PATTERN查找符合格式的Key(*代替多个字符,?代替一个字符)TYPE KEY返回KEY对应的值的类型MOVE KEY DB把一组键值对数据移动到另一个数据库中DEL KEY [KEY …]根据KEY进行删除,至少要指定一个KEYEXISTS KEY检查指定的KEY是否存在。指定一个KEY时,存在返回1,不存在返回0。可以指定多个,返回存在的KEY的数量RANDOMKEY在现有

2020-11-08 11:23:35 214

原创 scala总结(最终篇)

第七章 模式匹配Scala中的模式匹配类似与Java中的switch语法,但是scala从语法中补充了更多的功能,所以更加强大。7.1 基本语法模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有case都不匹配,那么会执行case _分支,类似于Java中default语句。val student1 = Student1("alice", 1

2020-09-26 13:30:04 421

原创 scala总结(集合篇)

第六章 集合6.1集合简介1)Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质。2)对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本,分别位于以下两个包不可变集合:scala.collection.immutable可变集合: scala.collection.mutable​ 3)Scala不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象,而不会对原对象进行修改。类似于java中的String对象4)可变集合,

2020-09-23 18:30:08 393

原创 scala总结(面向对象篇)

第五章 面向对象Scala的面向对象思想和Java的面向对象思想和概念是一致的。Scala中语法和Java不同,补充了更多的功能。5.1 Scala包1)基本语法package 包名.类名2)Scala包的三大作用(和Java一样)(1)区分相同名字的类(2)当类很多时,可以很好的管理类(3)控制访问范围5.1.1 包的命名1)命名规则只能包含数字、字母、下划线、小圆点.,但不能用数字开头,也不要使用关键字。2)案例实操demo.class.exec1 //错误,因为 clas

2020-09-23 15:20:13 411

原创 scala总结(函数篇)

第四章 函数式编程4.1 函数基础4.1.1 函数基本语法1)基本语法2)案例实操 // 定义函数 def sayHi(name: String): Unit ={ println(s"hi, $name") } // 函数调用 sayHi("DongLiang")4.1.2 函数与方法的区别1)核心概念(1)为完成某一功能的程序语句的集合,称为函数。(2)类中的函数称之方法。2)案例实操(1)Scala语言可以在任何的语法结构中声明任

2020-09-23 11:01:09 297

原创 scala总结(基础篇)

第一章 变量和数据类型1.1 注释Scala的注释与Java的注释完全相同,分为单行注释,多行注释,文档注释代码规范(1)使用一次tab操作,实现缩进,默认整体向右边移动,用shift+tab整体向左移(2)或者使用ctrl + alt + L来进行格式化(3)运算符两边习惯性各加一个空格。比如:2 + 4 * 5。(4)一行最长不超过80个字符,超过的请使用换行展示,尽量保持格式优雅1.2 变量和常量常量表示知行过程中不可改变的变量在Java中变量声明:变量类型 变量名称 = 初始值

2020-09-22 20:56:18 580

原创 HBase基础总结(下)

第五章 HBase优化5.1 预分区每一个region维护着startRow与endRowKey,如果加入的数据符合某个region维护的rowKey范围,则该数据交给这个region维护。那么依照这个原则,我们可以将数据所要投放的分区提前大致的规划好,以提高HBase性能。1.手动设定预分区create 'staff1','info',SPLITS => ['1000','2000','3000','4000']2.生成16进制序列预分区create 'staff2','info',{

2020-09-11 19:59:15 441

原创 HBase基础总结(上)

第一章 HBase简介1.1 HBase定义HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。1.2 HBase数据模型逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(K-V)来看,HBase更像是一个multi-dimensional map。1.2.1 HBase逻辑结构1.2.2 HBase物理存储结构1.2.3 数据模型1)Name Space命名空间,类似于关系型数据库的database概念,

2020-09-11 19:54:56 467

原创 linux,shell,hadoop相关总结

总结Linux&Shell相关总结Linux常用命令序号命令命令解释1top查看内存2df -h查看磁盘存储情况3iotop查看磁盘IO读写(yum install iotop安装)4iotop -o直接查看比较高的磁盘读写程序5netstat -tunlp | grep 端口号查看端口占用情况6uptime查看报告系统运行时长及平均负载7ps -aux查看进程Shell常用工具1)awk、sed、c

2020-09-06 12:51:15 421

原创 Azkaban基础总结

第一章 Azkaban概述1.1 为什么需要工作流调度系统1)一个完整的数据分析系统通常都是由大量任务单元组成:Shell脚本程序,Java程序,MapReduce程序、Hive脚本等2)各任务单元之间存在时间先后及前后依赖关系3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;1.2 常见工作流调度系统1)简单的任务调度:直接使用Linux的Crontab来定义;2)复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如Azkaban、Ooize、Airflow

2020-08-31 19:05:49 874

原创 kafka基础总结(下)

第四章 Kafka API4.1 Producer API4.1.1 消息发送流程Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从RecordAccumulator中拉取消息发送到Kafka broker。相关参数:batch.size:只有数据积累到batch.size之

2020-08-29 14:32:22 428

原创 kafka基础总结(上)

第一章 Kafka概述Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。1.1 消息队列1.1.1 传统消息队列的应用场景使用消息队列的好处1)解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2)可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。3)缓冲有助于控制和优化数据流经过系统的速度,

2020-08-29 13:06:55 634

原创 flume基础总结

第一章 Flume概述1.1 Flume定义Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写入到HDFS1.2 Flume基础架构Flume组成架构如下图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S4DIIAnX-1598437334965)(D:\CSDN\assets\flume基础架构.png)]

2020-08-26 18:31:57 741

原创 整理hive中常用函数

常用函数常用日期函数1.unix_timestamp:返回当前或指定时间的时间戳select unix_timestamp();select unix_timestamp('2008-08-08 08:08:08');2.from_unixtime:将时间戳转为日期格式 select from_unixtime(1218182888); select from_unixtime(unix_timestamp());3.current_date:当前日期selec

2020-08-19 18:45:18 741 1

原创 梳理HIVE基础

一、Hive基本概念1.1 hive是什么hive是基于hadoop的一个数仓分析工具,hive可以将hdfs上存储的结构化的数据,映射成一张表,然后让用户写HQL(类SQL)来分析数据 tel up down1383838438 1345 15671383838439 5345 15671383838440 1241 165771383838441

2020-08-18 14:15:56 672 1

原创 hadoop企业优化

Hadoop企业优化MapReduce优化方法数据输入①合并小文件:在执行MR任务前将小文件进行合并,大量的小文件会产生大量的Map任务,增大Map任务装载次数,而任务的装载比较耗时,从而导致MR运行较慢。②采用CombineTextInputFormat来作为输入,解决输入端大量小文件场景。Map阶段①减少溢写次数:通过调整mapreduce.task.io.sort.mb及mapreduce.map.sort.spile.percent参数值,增大出发Spill的内存上限,减少Spill次数

2020-08-15 10:59:05 530

原创 hadoop中join的基本应用

joinreduce join工作原理Map端的主要工作:为来自不同表或文件的key/value对打标签以区别不停来源的记录。然后用连接字段作为key,其余部分和新加部分的标志作为value,最后进行输出。Reduce段主要工作:在Reduce端以连接字段作为key的分组已经完成,我们只需要在每一个分组当中将那些来源于不同文件的记录(在Map阶段已经打标志)分开,最后进行合并就ok了。首先先看需求,以下面例子为例需求分析:在下面需求中,我们需要四个类,一个是TableBean继承Writab

2020-08-12 21:27:37 577

空空如也

空空如也

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

TA关注的人

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