自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark:StructStreaming

目录01:上篇回顾02:本篇内容03:SparkStreaming的缺点04:StructStreaming的设计05:官方示例WordCount06:自定义开发WordCount实现07:Source数据源类型及File Source08:常用Query查询器选项09:Sink数据源:支持类型10:Sink数据源:Foreach Sink11:StructStreaming容错机制12:集成Kafka:消费Kafka数据13:集成Kafka:生产Kafk

2021-07-26 20:15:28 1171

原创 Spark:Streaming

01:上篇回顾https://blog.csdn.net/m0_57498038/article/details/119112951 SparkSQL中Sink数据源接口如何设计的? 语法 df/ds.write.mode .format .save/save(Path)/saveAsTable 注意:写数据库,需要考虑插入更新的问题 SparkSQL如何集成Hive并如何实现开发? 设计:SparkSQL访问Meta..

2021-07-26 18:07:14 324

原创 Spark:SQL(二)

目录01:上篇回顾02:课程目标03:数据源Sink:设计04:集成Hive:场景及设计05:集成Hive:SparkShell测试06:集成Hive:IDEA测试07:自定义UDF规则08:自定义UDF测试09:SparkSQL开发方式10:SparkSQL开发方式:SQL Shell11:SparkSQL开发方式:Beeline12:SparkSQL开发方式:JDBC13:Catalyst 优化器14:实时数据计算场景及架构15:Spark S

2021-07-26 17:11:45 1455

原创 Spark:SQL(一)

目录01:上篇回顾02:学习目标03:数据结构抽象:设计04:数据结构抽象:区别与联系05:数据结构抽象:Row类型06:数据结构抽象:关系转换07:数据结构抽象:反射构建08:数据结构抽象:自定义Schema09:DSL与SQL分析10:电影评分案例:数据与需求分析11:电影评分案例:SQL实现12:电影评分案例:DSL实现13:SaveMode与Shuffle分区数14:DataSet的设计15:数据源Source:设计17:数据源So

2021-07-26 16:40:11 522

原创 Spark:Core(三)

目录 01:上篇回顾02:学习目标03:外部数据源:场景04:外部数据源:写Hbase05:外部数据源:读Hbase06:外部数据源:写MySQL07:广播变量:Broadcast Variables08:累加器:Accumulators09:内核调度:宽窄依赖10:内核调度:Shuffle11:内核调度:基本概念12:内核调度:调度流程13:内核调度:并行度14:SparkCore中的问题15:SparkSQL的诞生与发展...

2021-07-26 16:08:11 404

原创 Spark:Core(二)

01:上次回顾https://blog.csdn.net/m0_57498038/article/details/119103534 SparkCore代码的开发流程是什么? //step1:构建SparkContext对象:读取数据,Task解析、分配、监控val conf = new SparkConf .set(key,value) .setMaster .setAppNameval sc = new SparkContext / val sc = Spar

2021-07-26 12:14:21 199

原创 Spark:Core(一)

01:上一篇部分回顾https://blog.csdn.net/m0_57498038/article/details/119101404 Spark的功能、特点和应用场景是什么? 定义:Spark是一个光速的,统一化的数据分析分布式计算引擎和机器学习计算库 功能 离线批处理计算:SparkCore 离线交互式计算:SparkSQL 实时计算处理:SparkStreaming、StructStreaming

2021-07-26 11:11:41 155

原创 Spark:基础入门与环境搭建

目录01:学习目标02:分布式计算需求及发展03:Spark的诞生及发展04:Spark的功能及特点05:Spark的应用场景06:MR的设计回顾07:Spark的基本设计知识点08:Spark与MR设计对比知识点09:环境部署:版本与编译知识点10:环境部署:运行模式知识点11:环境部署:集群架构知识点12:环境部署:本地模式环境知识点13:环境部署:本地模式测试知识点14:环境部署:Standalone集群搭建知识点15:环境部署:Standa

2021-07-26 09:42:37 212

原创 GC 是什么?为什么要有GC?

GC是垃圾收集的意思, 内存处理是编程人员容易出现问题的地方, 忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃, Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的, Java语言没有提供释放已分配内存的显示操作方法。 Java程序员不用担心内存管理, 因为垃圾收集器会自动进行管理。 要请求垃圾收集, 可以调用下面的方法之一:System.gc() 或Runtime.getRuntime().gc() , 但JVM可以屏蔽掉显示的垃圾回收调用。垃圾回收可以有效的防止

2021-07-08 11:12:26 880

原创 抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?

答:都不能。抽象方法需要子类重写,而静态的方法是无法被重写的,因此二者是矛盾的。本地方法是由本地代码(如C代码)实现的方法,而抽象方法是没有实现的,也是矛盾的。synchronized和方法的实现细节有关,抽象方法不涉及实现细节,因此也是相互矛盾的在网上看到好多大佬的精美发表,感觉篇幅略长有点麻烦不能直接突出这个问题的主题,小弟也参合一下发表一下个人粗浅见解。...

2021-07-08 10:59:34 462

原创 Java 中可能会存在内存泄漏吗

Java 中可能会存在内存泄漏吗?其实答案是会得,但是从理论上来讲Java有垃圾回收机制(GC)不会存在内存泄露问题(这也是Java被广泛使用于服务器端编程的一个重要原因);然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收也会发生内存泄露。一个例子就是Hibernate的Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象的,然而这些对象中可能存在无用的垃圾对象。下面的例子也展示了Java中发生内存泄露的情况:代码如下packa

2021-07-08 10:30:40 1225

原创 ZooKeeper中使用watch的注意事项有哪些?

使用watch需要注意的几点: ① Watches通知是一次性的,必须重复注册. ② 发生CONNECTIONLOSS之后,只要在session_timeout之内再次连接上(即不发生 SESSIONEXPIRED),那么这个连接注册的watches依然在。 ③ 节点数据的版本变化会触发NodeDataChanged,注意,这里特意说明了是版本变化。存在 这样的情况,只要成功执行了setData()方法,无论内容是否和之前一致,都会触发 NodeDataChanged。 .

2021-05-29 22:30:43 497

原创 MapReduce怎么解决数据均衡问题,如何确定分区号?

数据均衡问题指的就是某个节点或者某几个节点的任务运行的比较慢,拖慢了整个Job的进度。 实际上数据均衡问题就是数据倾斜问题,解决方案同解决数据倾斜的方案。 MapReduce中分区默认是按hashcode来分的,用户可以自定义分区类,需要继承系统的Partitioner 类,重写getPartition()方法即可...

2021-05-29 22:20:11 291

原创 Hadoop中RecordReader的作用是什么

(1)以怎样的方式从分片中读取一条记录,每读取一条记录都会调用RecordReader类; (2)系统默认的RecordReader是LineRecordReader (3)LineRecordReader是用每行的偏移量作为map的key,每行的内容作为map的value; (4)应用场景:自定义读取每一条记录的方式;自定义读入key的类型,如希望读取的key是 文件的路径或名字而不是该行在文件中的偏移量。 ...

2021-05-29 22:14:37 1270

原创 Yarn 实现 ResourceManager HA

Hadoop 2.4.0版本开始,Yarn 实现了 ResourceManager HA 由于资源使用情况和 NodeManager 信息都可以通过 NodeManager 的心跳机制重新构建 出来,因此只需要对 ApplicationMaster 相关的信息进行持久化存储即可。 在一个典型的 HA 集群中,两台独立的机器被配置成 ResourceManger。在任意时间,有且 只允许一个活动的 ResourceManger,另外一个备用。切换分为两种方式: 手动切换:在自动

2021-05-29 22:05:39 470

原创 Namenode挂了怎么办?

方法一:将SecondaryNameNode中数据拷贝到namenode存储数据的目录; 方法二:使用-importCheckpoint选项启动namenode守护进程,从而将SecondaryNameNode 中数据拷贝到namenode目录中。

2021-05-29 21:58:58 845

原创 SecondaryNameNode 工作机制

先上图,上图1)第一阶段:namenode启动 (1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动, 直接加载编辑日志和镜像文件到内存。 (2)客户端对元数据进行增删改的请求 (3)namenode记录操作日志,更新滚动日志。 (4)namenode在内存中对数据进行增删改查 2)第二阶段:Secondary NameNode工作 (1)Secondary NameNode询问name...

2021-05-29 21:53:42 126

原创 简述Hadoop的几个默认端口及其含义。

1)dfs.namenode.http-address:50070 2)SecondaryNameNode辅助名称节点端口号:50090 3)dfs.datanode.address:50010 4)fs.defaultFS:8020 或者9000 5)yarn.resourcemanager.webapp.address:8088

2021-05-29 21:42:20 1055

原创 关于连接HaDoop拒绝连接主机路由的解决办法(之一)

最近看了一些网络上博客大佬关于HaDoop拒绝连接的方法,本人深受触动和更深此的学习到了其中骨髓,哈哈,是净水,精!髓!首先先检查主机的host'na'm

2021-05-28 19:18:37 6389

原创 mapreduce推测执行算法及原理

mapreduce推测执行算法及原理1)作业完成时间取决于最慢的任务完成时间一个作业由若干个Map任务和Reduce任务构成。因硬件老化、软件Bug等,某些任务可能运行 非常慢。典型案例:系统中有99%的Map任务都完成了,只有少数几个Map老是进度很慢,完不成,怎么办?2)推测执行机制: 发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度。为拖后腿任务启动一个备份任务,同时运行。谁先运行完,则采用谁的结果。 3)执行推测任务的前提条件 (1...

2021-04-22 23:35:25 513

原创 图解:MR作业提交全过程

图解:MR作业提交全过程。1)作业提交过程之YARN2)作业提交过程之MapReduce3)作业提交过程之读数据4)作业提交过程之写数据

2021-04-22 22:54:35 217

原创 Hadoop的调度器总结

Hadoop的调度器总结。Hadoop作业调度器主要有三种:FIFO、Capacity Scheduler和Fair Scheduler。 Hadoop2.7.2默认的资源调度器是Capacity Scheduler。 :yarn-default.xml文件<property> <description>The class to use as the resource scheduler.</description> ..

2021-04-22 22:44:16 132

原创 hadoop实现join的几种方法及每种方法的实现

hadoop实现join的几种方法及每种方法的实现1)reduce side join Map端的主要工作:为来自不同表(文件)的key/value对打标签以区别不同来源的记录。然后用 连接字段作为key,其余部分和新加的标志作为value,最后进行输出。 Reduce端的主要工作:在reduce端以连接字段作为key的分组已经完成,我们只需要在每一个 分组当中将那些来源于不同文件的记录(在map阶段已经打标志)分开,最后进行合并就ok了。 2)map join 在ma...

2021-04-22 22:10:04 406

原创 Hadoop的联邦机制

Hadoop的联邦机制1.1 为什么会出现联邦? Hadoop的NN所使用的资源受所在服务的物理限制,不能满足实际生产需求。2.1联邦的实现采用多台NN组成联邦。NN是独立的,NN之间不需要相互调用。NN是联合的,同属于一个联邦,所管理的DN作为block的公共存储。如图:图中概念: • block pool的概念,每一个namespace都有一个pool,datanodes会存储集群中所有的pool,block pool之间的管理是独...

2021-04-22 22:00:43 356

原创 关于Namenode HA和yurn HA

关于Namenode HA和yurn HA了解如下:HA(High Available), 高可用,是保证业务连续性的有效解决方案,一般有两个或两个以上的节 点,分为 活动节点 ( Active )及 备用节点 ( Standby) )。用于实现业务的不中断或短暂中断NN 是 HDFS 集群的单点故障点.在 HA 具体实现方法不同情况下,HA 框架的流程是一致的, 不一致的就是如何存储、管理、同步 edits 编辑日志文件。 QJM/Qurom Journal Manager,基本.

2021-04-22 21:32:59 100 1

原创 Spring提供的Bean作用域,生命周期,自动装配的限制和相关注解

Spring提供了哪些Bean的作用域?答:singleton:Bean以单例的方式存在(IoC容器中仅存在该Bean的唯一实例)。 prototype:每次从容器中获取Bean的实例时,都会返回一个新的实例(原型模式)。 request:每次HTTP请求都会创建新的实例,该作用域仅适用于WebApplicationContext环境。 session:同一个HTTP会话共享一个Bean的实例,不同的HTTP会话使用不同的Bean实例, 该作用域仅适用于...

2021-04-22 21:07:16 121

原创 char型变量中能不能存储一个中文汉字?为什么?

char型变量中能不能存储一个中文汉字?为什么?答:char类型可以存储一个中文汉字,这是因为在Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编码,这是一个统一的唯一方法),一个char类型占2个字节(16bit),所以放一个中文是没有问题的。补充一点:在使用Unicode意味着字符在JVM内部和外部都有不同的表现形式,在JVM内部都是Unicode,当这个字符被从JVM内部转移到外部时,(例如存入文件系统中)需要进行编码转换,所以Java中有字节流和字

2021-04-22 13:45:19 3503 6

空空如也

空空如也

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

TA关注的人

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