自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flink任务优化分享

线上计算任务在某版本上线之后发现每日的任务时长都需要三个多小时才能完成,计算时间超过了预估时间,通过Dolphinscheduler的每日调度任务看,在数据层 dwd 的数据分段任务存在严重的性能问题,每天的计算耗时将近40分钟,并且随着数据量的上涨,时间越来越长,因此这个计算节点需要着重优化。

2023-07-25 14:32:26 799

原创 Alluxio技术分析

Alluxio主要解决的基于磁盘的分布式存储层性能低下的问题,通过alluxio提供的分布式内存来加速数据分析。

2023-07-25 14:27:23 238

原创 Alluxio调研

Alluxio是世界上第一个用于云分析和AI的开源数据编排技术。弥合了数据驱动应用程序和存储系统之间的差距,使存储层中的数据更接近数据驱动应用程序,并使其易于访问,使应用程序能够通过一个通用接口连接到多个存储系统。Alluxio的内存第一层体系结构使数据访问速度比现有解决方案快几个数量级。

2023-07-25 14:23:35 147

原创 Structured Streaming state store分享

Structured Streaming中的查询与面向批处理的Spark SQL中的查询不同。在批处理中,查询是针对有限数量的数据进行的,因此计算结果可以是最终的。但这种情况不适用于流处理,因为其结果是不断增长的。因此,不断增长的结果存储在容错的State Store中。State Store的目的是提供一个可靠的地方,引擎可以从那里读取Structured Streaming聚合的中间结果。因此,即使driver出现故障,Spark也能将状态恢复到故障前的状态。

2023-07-25 14:19:20 171 1

原创 Yarn上Streaming流自动调节资源设计

DAG运行之后,会先进行数据源数据的处理,从Variables中获取到上次消费的offset位置,从kafka中获取当前最后数据的offset,然后消费两个offset之前的数据,数据处理完之后将Variables的offset位置置为当前最后数据的offset。​ 2.2. Kafka数据处理:从1中获取到的数据源Kafka数据能够获取到具体的offset信息,将startOffset作为消费标识,然后将相同数据源的数据的消费标识组合成。来采集数据输入信息,并将数据输入到指定的Kafka的Topic中。

2023-07-25 14:17:48 1300

原创 JVM分享

S0跟S1大小是相同的,并且同一时间只有一个是开启的,另外一个是空的。正常来说,新生成的对象首先放到年轻代Eden区,当Eden空间满了,触发第一次Minor GC,存活下来的对象移动到S0区,S0区满后再触发一次 GC,S0区存活对象移动到S1区,这样保证了一段时间内总有一个survivor区为空。方法区也是所有jvm线程共享的,方法区类似于常规语言的编译代码的存储区域,里面存放的是每个类class的结构,例如运行时常量池,字段和方法数据,以及方法和构造函数的代码。同时创建的对象也存放在堆中。

2023-07-25 14:15:53 654

原创 Delta 表定时Compact设计

正常来说这种方式产生的小文件不会太多,小文件多的delta表大多是实时job写的表,流每次对delta表进行写入的时候,由于delta lake的time travel特性,每次写都会产生小文件,时间长了之后,目录下的小文件就会特别多,造成的影响就是下游的流在读上游的delta表的速度特别慢,导致下游job的处理时间变长,所以对流式job的delta表进行compact变得尤为重要。目前我们的数仓中delta表实时跟离线的都有,离线的表主要是每天的定时任务的运行,并根据日期字段进行分区的存储。

2023-07-25 14:14:32 124

原创 Canal深入调研

canal的组件化设计非常好,有点类似于tomcat的设计。使用组合设计,依赖倒置,面向接口的设计。​ server代表一个canal运行实例,对应于一个jvm​ instance对应于一个数据队列 (1个server对应1…n个instance)​ eventParser (数据源接入,模拟slave协议和master进行交互,协议解析)​ eventSink (Parser和Store链接器,进行数据过滤,加工,分发的工作)​ eventStore (数据存储)

2023-07-25 14:09:06 452

原创 Airflow 1.10.4版本部署及整合企业微信告警

Airflow 1.10.4版本部署及整合企业微信告警本次部署的Airflow版本为1.10.4,依赖的Python版本为Python3.61.Airflow安装Python的安装就不多做赘述,网上教程太多了。如果是本地部署测试,可以新启一个python的测试环境virtualenv#1.安装virtualenvpip3 install virtualenv #2.创建目录mkdi...

2019-09-03 16:21:10 3553 4

原创 HBase数仓架构

HBase数仓架构1.整体架构选型主要有两个,第一个是实时,实时采集利用 Maxwell,直接采集公司数据库 MySQL,将数据直接以 json 格式发送到 Kafka 集群,数仓存储选型是 HBase。上图是实时数仓架构图,主要的存储层还是以 HBase 为主。第一层业务系统数据库在Mysql上。使用 Maxwell,其支持白名单和黑名单。业务平台的表可能有两三百个,大数据平台的计算可能...

2019-07-23 09:36:28 5017 1

原创 数仓初步构建

数仓初步构建数仓构建主要就是基于主题库的数据建立对应的专题库以供对应专题服务。速成策略:1.首先了解数仓相关知识2.了解事实表与维度表的建立与实施,3.找出业务需求然后寻找对应的解决方案。4.后期开发顺利推进。1.数仓1.1首先先讲一下数仓的概念,先上个图,由图看的更加直观。数据仓库的分层结构,有人说是基于ETL作为基础来分层的,(抽取,清洗,转换,加载)但是基于上图可能会更具...

2019-07-17 11:50:47 1744

原创 Kafka为什么速度快、吞吐量大

Kafka为什么速度快、吞吐量大Kafka是大数据领域无处不在的消息中间件,目前广泛使用在企业内部的实时数据管道,并帮助企业构建自己的流计算应用程序。Kafka虽然是基于磁盘做的数据存储,但却具有高性能、高吞吐、低延时的特点,其吞吐量动辄几万、几十上百万。但是很多使用过Kafka的人,经常会被问到这样一个问题,Kafka为什么速度快,吞吐量大;大部分被问的人都是一下子就懵了,或者是只知道一些简单...

2019-07-08 17:16:41 499

原创 Spark Streaming反压机制初探

Spark Streaming反压机制初探1.反压机制原理Spark Streaming中的反压机制是Spark 1.5.0推出的新特性,可以根据处理效率动态调整摄入速率。当批处理时间(Batch Processing Time)大于批次间隔(Batch Interval,即 BatchDuration)时,说明处理数据的速度小于数据摄入的速度,持续时间过长或源头数据暴增,容易造成数据在内存...

2019-06-25 17:06:00 621

原创 HBase Rowkey设计规范

HBase Rowkey设计规范1.Rowkey是什么可以理解为关系型数据库MySQL Oracle的主键,用于标识唯一的行。完全是由用户指定的一串不重复的字符串。HBase中的数据永远是根据Rowkey的字典排序来排序的。2.Rowkey的作用读写数据时 通过 RowKey 找到 对应 的 Region,例如需要查找一条数据肯定需要知道他的RowKey ,写数据的时候也要根据R...

2019-06-24 18:06:25 1331

原创 Spark中Cache跟Persist的初探

Spark中Cache跟Persist的初探1.Cache的产生背景我们先做一个简单的测试读取一个本地文件做一次collect操作:val rdd=sc.textFile("file:///home/hadoop/data/input.txt")val rdd=sc.textFile("file:///home/hadoop/data/input.txt")上面我们进行了两次相同的操作,...

2019-06-17 09:47:21 248

原创 Spark内存管理再探

Spark内存管理再探之前写过一篇Spark on yarn的内存管理分配,初探,这次再来深入了解它更加底层的一些东西,之前博客的连接 Spark on yarn 内存管理分配初探1. 静态内存管理1.1存储内存分配通过代码可以看出,存储空间可用内存 = 运行时最大内存 x 分配给存储空间的比例 x 安全系数// 默认最小内存为32M,单位为字节private val MIN_MEM...

2019-06-14 15:40:53 261

原创 Kafka数据可靠性及一致性的机制初探

Kafka数据可靠性及一致性的机制初探Apache Kafka是大数据项目中使用较多的一个消息中间件,是分布式消息订阅系统,有非常好的横向扩展性,可实时存储海量数据,并且Kafka的数据可靠新以及一致性做的非常好,本文是对Kafka的数据可靠性及一致性的机制做了一个初步的探究.1.数据可靠性1.1 Topic 分区副本kafka的早期版本并没有副本这个概念,所以只是用来存储不常用的数据,所...

2019-06-12 16:33:45 728

原创 Spark-Core(MapPartitions内存优化)

Spark-Core(MapPartitions/内存优化)1.mapmap是对RDD中的每个一元素作用一个函数或者是算子,简单理解就是对每个元素进行一个f(x)的操作Return a new RDD by applying a function to all elements of this RDD.2.mapPartitionRDD:n Partition :N RecordR...

2019-06-05 00:39:53 615

原创 Spark-Core(共享变量)

Spark-Core(共享变量)1.Shared Variables​ 当在远程集群节点上执行传递给Spark操作(例如map或reduce)的函数时,它将在函数中使用的所有变量的单独副本上工作。这些变量将复制到每台计算机,并且远程计算机上的变量的更新不会传播回驱动程序。支持跨任务的通用,读写共享变量效率低下。但是,Spark确实为两种常见的使用模式提供了两种有限类型的共享变量:广播变量和...

2019-06-05 00:39:17 149

原创 Spark on Yarn

Spark on Yarn1.Yarn的产生背景HadoopSpark StandaloneMPI…等分布式的框架集群的资源利用率不够,就需要统一的资源管理和调度。使用Yarn的话,多种计算框架可以共享集群资源,按需分配,这样可以提升集群资源的利用率。2.Yarn架构各自的职责以及重试的机制(挂了之后如何重新执行)RM:NM:AM:Container:3.Yarn的执行...

2019-06-05 00:37:06 289

原创 Spark 监控

Spark 监控###1.Spark官网的Monitor地址:http://spark.apache.org/docs/2.2.0/monitoring.html1.1 WEB UI应用程序停止之后没有办法通过ui界面查看,要在事后查看Web UI,请在启动应用程序之前将spark.eventLog.enabled设置为true。这会将Spark配置为记录Spark事件,该事件将UI中显示...

2019-06-05 00:36:44 294

原创 Scala扩展

Scala扩展1.伴生Object内部的方法,我们可以直接通过Object.method,需要使用哪个方法就用哪个,类似于java里的static。package scala object Timer { var count = 0 def increment():Long = { count += 1 count }}放到scala命令行执行会发现,...

2019-06-05 00:36:22 167

原创 ElasticSearch单机部署及其插件

##ElasticSearch单机部署及其插件1.介绍Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。###2.安装1.下载地址:https://www.elastic.co/cn/downloads/past-relea...

2019-06-04 14:54:36 360

原创 MySQL离线部署

MySQL离线部署#安装的版本是MySQL5.7.11版本#1.解压及创建目录[root@hadoop001 local] tar -xzvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz -C /usr/local[root@hadoop001 local] mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql[...

2019-05-29 17:37:20 291

原创 Maxwell的使用初探

Maxwell的使用初探1.简介说到大数据的实时数据源同步中间件就不得不说Maxwell,同时还有Canal,Canal是阿里的中间件组件,Maxwell是国外开源的组件.Canal地址:https://github.com/alibaba/canalMaxwell地址:https://github.com/zendesk/maxwellMaxwell官网地址:http://maxwel...

2019-05-29 17:28:03 2953

原创 CDH安装phoenix

CDH安装phoenix1.背景​ base 提供很方便的shell脚本以及java API等方式对Hbase进行操作,但是对于很对已经习惯了关系型数据库操作的开发来说,有一定的学习成本,如果可以像操作mysql等一样通过sql实现对Hbase的操作,那么很大程度降低了Hbase的使用成本。Apache Phoenix 组件就完成了这种需求,官方注解为 “Phoenix -we put t...

2019-05-29 11:33:28 1427

原创 IDEA本地Spark开发读取云主机Hive异常剖析

IDEA本地Spark操作云主机Hive异常剖析1.问题背景1.Hive是搭建在云主机上的伪分布式​ 公网 IP:47.101.xxx.xxx​ 内网 IP:172.19.35.154​ 主机名:hadoop0012.Spark开发在本地的IDEA开发​ 本地的的hive-site.xml配置如下:<?xml version="1.0"?><?xml-style...

2019-05-27 17:35:49 435

原创 Spark on yarn 内存管理分配初探

Spark on yarn 内存管理分配初探简介:按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式: yarn-client模式、yarn-cluster模式。当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行。Spark可以使得多个Tasks在同一个容器里面运行。Spark版本不同,计算值可能会存在差异1...

2019-05-23 14:31:19 529

原创 CDH5.16.1的离线部署

CDH5.16.1的离线部署CDH部署的机器是三台阿里云机器,配置都是2cpu,8G内存,40G硬盘安装需要的软件包:1.CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel(CDH软件包)2.CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha13.cloudera-manager-centos7-cm5.16.1_x86_64...

2019-05-22 15:29:46 1253

原创 CDH5.16.1安装kafka

CDH5.16.1安装kafka1.简介:CDH的parcel包中是没有kafka的,需要从新下载parcel包安装。或者在线安装,但是在线安装都很慢,这里使用下载parcel包离线安装的方式。kafka有很多版本,CDH也有很多版本,所以需要确定自己所需要的对应版本,下面的链接可以查看自己cdh的对应kafka版本:https://www.cloudera.com/documentati...

2019-05-21 15:00:59 3027 2

原创 hadoop和hive单机部署

hadoop和hive单机部署本文hadoop安装的是Hadoop-2.6.0-cdh5.7.0版本,hive是hive-1.1.0-cdh5.7.0版本1.hadoop安装1.1jdk安装jdk的安装包在oracle官网都能下载,可选择自己需要的版本#解压jdk到/usr/local目录下[root@hadoop001 ~] tar -xzvf jdk-8u181-linux-x...

2019-05-20 18:47:53 1192

原创 Spark闭包初探

Spark闭包初探1.什么是闭包闭包的大致作用就是:函数可以访问函数外面的变量,但是函数内对变量的修改,在函数外是不可见的.2.Spark官网对闭包的描述One of the harder things about Spark is understanding the scope and life cycle of variables and methods when executi...

2019-05-16 16:01:16 404

原创 Spark-Core_Shuffle详解

Spark-Core_Shuffle详解1.Shuffle operationsCertain operations within Spark trigger an event known as the shuffle. The shuffle is Spark’s mechanism for re-distributing data so that it’s grouped differe...

2019-05-15 18:51:12 288

原创 Azkaban安装和使用

Azkaban安装和使用1.简介Open-source Workflow Manager(开源的工作流管理器)Azkaban is a batch workflow job scheduler created at LinkedIn to run Hadoop jobs. Azkaban resolves the ordering through job dependencies and ...

2019-05-15 10:34:36 591

原创 Spark-Core深入理解

Spark-Core深入理解1.Spark Stage理解Each job gets divided into smaller sets of tasks called stages that depend on each other (similar to the map and reduce stages in MapReduce); you’ll see this term used ...

2019-05-13 16:24:27 327

原创 Spark-Core详解.md

Spark的运行架构1.术语详解TermMeaningApplicationUser program built on Spark. Consists of a driver program and executors on the cluster.应用程序Application包含一个driver program跟若干个executorApplicatio...

2019-05-08 18:24:05 302

原创 IDEA开发Spark应用程序

IDEA开发Spark应用程序1.maven构建项目使用maven构建项目就不多赘述了,网上教程超多,构建的时候选择简单的scala项目,后边的gav就不用多说了2.pom文件的依赖添加scala Spark-core hadoop-client的依赖以及cdh的repository,这点尤其重要. <!--Spark跟Scala版本指定,便于后续版本升级--> &lt...

2019-05-07 18:23:49 232

原创 Spark5-RDD操作

RDD Operations(操作)1.定义1.1 transformations主要做转换操作,可以从一个已经存在的数据集,创建一个新的数据集(RDD是不可变的),例如从RDDA => RDDBtransformation是lazy形式的,比如rdd.map().filter().map().filter(),map()跟filter()都是lazy操作,并不会产生计算,仅仅是记录...

2019-05-07 16:33:51 288

原创 Spark4-RDD使用

如何创建RDD1.创建方式1.parallelizing an existing collection in your driver program通过并行化存在的一个集合,将集合转换成RDD2.referencing a dataset in an external storage system, such as a shared filesystem, HDFS, HBase, ...

2019-05-06 17:41:14 265

原创 Spark3_SparkContext

SparkContext1.简介1.1.tells Spark how to access a cluster (告诉Spark如何去连接集群)开发过程中使用的运行模式包括local statdalone yarn mesos,设置完之后,spark就知道job作业运行在什么模式之上.1.2.create a SparkConf(key-value pairs)SparkConf包含了A...

2019-05-06 17:40:55 791

空空如也

空空如也

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

TA关注的人

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