自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据spark、hadoop、hive、hbase面试题及解析

(1)spark运行流程、源码架构(2)Hbase主键设计、hbase为何这么快?主键设计:1.生成随机数、hash、散列值2.字符串反转3.字符串拼接hbase为何快:https://blog.csdn.net/sghuu/article/details/102955969(3)Hbase读写流程,数据compact流程hbase读写流程:https://blog.csdn.n...

2019-12-26 11:37:06 1847

原创 spark的任务划分和任务调度详解

以spark-cluster模式为例spark的任务提交流程介绍:https://blog.csdn.net/sghuu/article/details/103710145提交一个Spark应用程序,首先通过Client向ResourceManager请求启动一个Application,同时检查是否有足够的资源满足Application的需求,如果资源条件满足,则准备ApplicationMa...

2019-12-26 11:35:39 2546

原创 spark的数据倾斜的6种解决方案

1 解决方案一:聚合原数据避免shuffle过程·绝大多数情况下,Spark作业的数据来源都是Hive表,这些Hive表基本都是经过ETL之后的昨天的数据。为了避免数据倾斜,我们可以考虑避免shuffle过程,如果避免了shuffle过程,那么从根本上就消除了发生数据倾斜问题的可能。如果Spark作业的数据来源于Hive表,那么可以先在Hive表中对数据进行聚合,例如按照key进行分组,...

2019-12-26 10:12:21 855

原创 Flink的端到端的一致性保证以及二阶段提交

Flink的端到端的一致性保证状态一致性:有状态的流处理,内部每个算子都可以有自己的状态对于处理器内部而言,所谓的状态一致性,其实就是我们所说的计算的结果要保证准确一条数据都不应该丢失,也不应该重复计算同一个数据在遇到故障时可以恢复,恢复之后重新计算,计算的结果也应该正确不受影响故障恢复时的三种一致性要求:AT-MOST-ONCE(最多一次)当任务故障时,最简单的做法是什么都不干,...

2019-12-25 21:01:51 2397

原创 kafka-flink-kafka端到端状态一致性的保证

内部 —— 利用 checkpoint 机制,把状态存盘,发生故障的时候可以恢复,保证内部的状态一致性source —— kafka consumer 作为 source,可以将偏移量保存下来,如果后续任务出现了故障,恢复的时候可以由连接器重置偏移量,重新消费数据,保证一致性flink在消费kafka的数据时,在恢复状态时并不会使用kafka自己维护的offset,假设:使用kafka自己维护...

2019-12-25 21:01:04 1529

原创 Flink对迟到数据的处理的三种方式

**Flink对迟到数据的处理**水位线可以用来平衡计算的完整性和延迟两方面。除非我们选择一种非常保守的水位线策略(最大延时设置的非常大,以至于包含了所有的元素,但结果是非常大的延迟),否则我们总需要处理迟到的元素。迟到的元素是指当这个元素来到时,这个元素所对应的窗口已经计算完毕了(也就是说水位线已经没过窗口结束时间了)。这说明迟到这个特性只针对事件时间。DataStream API提供...

2019-12-25 19:48:00 6359

原创 Flink的触发器Trigger介绍和使用

触发器定义了window何时会被求值以及何时发送求值结果。触发器可以到了特定的时间触发也可以碰到特定的事件触发。例如:观察到事件数量符合一定条件或者观察到了特定的事件。默认的触发器将会在两种情况下触发处理时间:机器时间到达处理时间事件时间:水位线超过了窗口的结束时间触发器可以访问流的时间属性以及定时器,还可以对state状态编程。所以触发器和process function一样强大。例如我...

2019-12-25 19:13:48 7871 3

原创 Flink的时间和窗口的使用、水位线的设置

Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink通过时间戳分配器访问事件时间戳。Ingestion Time:是数据进入Flink的时间。Processing Time:是每一个执行基于时间操作的算子的本地系统时间,与机器相关,默认的时间属性就是Processing Time。window分为两大类:Co...

2019-12-25 14:03:05 3057 1

原创 Flink的状态介绍和有状态的计算

**Flink的状态介绍**Flink的状态指的是1.维护的状态变量,键控状态值状态(Value state)为每个键存储一个任意类型的单个值。复杂数据结构也可以存储为值状态。列表状态(List state)为每个键存储一个值的列表。列表里的每个数据可以是任意类型。映射状态(Map state)为每个键存储一个键值映射(map)。map的key和value可以是任意类型。2....

2019-12-25 13:13:43 3258

原创 flink的一致性检查点三种算法

**flink的一致性检查点算法**Flink的恢复机制的核心就是应用状态的一致性检查点,有状态流的一致性检查点,其实就是所以状态在某个时间点的一份快照拷贝,而这个时间点应该是所有任务都恰好处理完同一个输入数据。一般常见的检查点算法:方法一:常用的某个时间点的快照1)暂停所有输入流的摄取有,也就是不接受性的数据输入2)等待所有摘出来的数据计算完毕,这就意味者结束时,所有任务都已经处理...

2019-12-25 09:38:24 1213

原创 Flink的架构

**Flink的架构**组件Flink运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager),以及分发器(Dispatcher)。因为Flink是用Java和Scala实现的,所以所有组件都会运行在Java虚拟机(JVMs)上。每个组件的职责如下:作业...

2019-12-23 21:30:49 177

原创 Flink的任务失败以及结果的保证介绍

在执行之前,流程序将会被翻译成物理层数据流图,物理层数据流图由连接的并行任务组成,而一个并行任务运行一些运算符逻辑,消费输入流数据,并为其他任务产生输出流数据。真实场景下,可能有数百个这样的任务并行运行在很多的物理机器上。在长时间的运行中,流任务中的任意一个任务在任意时间点都有可能失败。我们如何保证任务的失败能被正确的处理,以使任务能继续的运行下去呢?事实上,我们可能希望我们的流处理器不仅能在任务...

2019-12-23 21:19:44 1127

原创 Flink的简介

Flink的简介Apache Flink是第三代分布式流处理器,它拥有极富竞争力的功能。它提供准确的大规模流处理,具有高吞吐量和低延迟。特别的是,以下功能使Flink脱颖而出:事件时间(event-time)和处理时间(processing-tme)语义。即使对于无序事件流,事件时间(event-time)语义仍然能提供一致且准确的结果。而处理时间(processing-time)语义可用于具...

2019-12-23 21:06:46 168

原创 spark容错的四种保证机制

spark容错的四种保证机制转载自:https://www.cnblogs.com/xiaoyh/p/11070549.html一、Spark RDD容错原理  RDD不同的依赖关系导致Spark对不同的依赖关系有不同的处理方式。对于宽依赖而言,由于宽依赖实质是指父RDD的一个分区会对应一个子RDD的多个分区,在此情况下出现部分计算结果丢失,单一计算丢失的数据无法达到效果,便采用重新计算该...

2019-12-17 23:34:52 1802

原创 SparkStreaming并行度的计算方式和设置(spark官方文档介绍)

这是官网上的截图:通过网络(例如Kafka,Flume,套接字等)接收数据需要对数据进行反序列化并将其存储在Spark中。如果数据接收成为系统的瓶颈,请考虑并行化数据接收。请注意,每个输入DStream都会创建一个接收器(在工作计算机上运行),该接收器接收单个数据流。因此,可以通过创建多个输入DStream并将其配置为从源接收数据流的不同分区来实现接收多个数据流。例如,可以将接收两个主题数据...

2019-12-17 21:18:42 1446

原创 kafka自定义消费者控制精确一次消费问题

自定义消费者,为保证消费数据的安全性,自定义offset的存储于带事务的存储容器Consumer消费数据时的可靠性是很容易保证的,因为数据在Kafka中是持久化的,故不用担心数据丢失问题。由于consumer在消费过程中可能会出现断电宕机等故障,consumer恢复后,需要从故障前的位置的继续消费,所以consumer需要实时记录自己消费到了哪个offset,以便故障恢复后继续消费。所以of...

2019-12-17 20:56:48 906 1

原创 基于redis的控制sparkStreaming 对接kafka 精确一次消费数据的解决方案

demo程序使用"KafkaUtils.createDirectStream"创建Kafka输入流,此API内部使用了Kafka客户端低阶API,不支持offset自动提交(提交到zookeeper)。"KafkaUtils.createDirectStream"官方文档:http://spark.apache.org/docs/2.2.0/streaming-kafka-0-8-integr...

2019-12-17 20:54:36 1677

原创 flink任务提交的流程

**flink任务提交的流程**flink提交任务后,Client向HDFS上传Flink的jar包和配置,之后向Yarn ResourceManager提交任务,ResourceManager分配Container资源并通知对应的NodeManager启动相应的ApplicationMaster,ApplicationMaster启动后加载Flink的Jar包和配置构建环境,然后启动Jo...

2019-12-16 21:14:10 870

原创 spark on yarn 上的两种模式 client 和 cluster

比较详细比较全面:https://www.jianshu.com/p/0ee5e941a7cb

2019-12-16 18:34:33 477

原创 spark on yarn的提交流程

spark on yarn cline 模式在YARN Client模式下,Driver在任务提交的本地机器上运行,Driver启动后会和ResourceManager通讯申请启动ApplicationMaster,随后ResourceManager分配container,在合适的NodeManager上启动ApplicationMaster,此时的ApplicationMaster的功能相当...

2019-12-15 13:58:47 597

原创 RDD、DataFrame、和DataSet三者的区别

在 SparkSQL 中 Spark 为我们提供了两个新的抽象,分别是DataFrame和DataSet。他们和RDD有什么区别呢?首先从版本的产生上来看:RDD (Spark1.0) —> Dataframe(Spark1.3) —> Dataset(Spark1.6)如果同样的数据都给到这三个数据结构,他们分别计算之后,都会给出相同的结果。不同是的他们的执行效率和执行方式。在...

2019-12-15 11:06:54 399

原创 spark从四个方面调优

一、常规性能调优1.最佳的资源配置 Executor个数 Executor核数 Executor内存大小2. rdd优化 对于需要多次用到的数据进行持久化 , 尽量将filter的操作提前3.并行度的优化 并行度的调节,一般设置task数量为核数的2-3倍,与数据量的大小无关4.采取 广播大变量5.采用kryo压缩格式6.调节本地化等待的时长...

2019-12-15 09:44:43 292

原创 spark的四种shuffle机制

1.未经优化的HashShuffleManager 下一个stage有n个task,则该stage的有m个task都生成n文件,在落盘时会生成nm个文件,大量小文件性能效率差2.优化的HashShuffleManager 一个Excutor里面的同stage的task共用一个buffler内存,在shuffle过程中,task就不用为下游stage的每个task创建一个磁盘文件了,而是...

2019-12-14 22:17:18 596

原创 spark为什么比mapreduce快

**spark为什么比mapreduce快**当问到这个问题时总是回答:“spark是基于内存 hadoop是基于磁盘” ,我感觉这个说法不是很严谨 ,所有运算都是基于内存的spark和mr都是基于内存的运算,不通的是数据源的的来源,比如mr每次的数据源都是来源磁盘文件,而spark是可以基于之前运算的的缓存所以速度会快。<正题>spark 比mr快的原因:spark的官...

2019-12-14 22:05:40 411

空空如也

空空如也

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

TA关注的人

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