自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Zookeeper中Kafka相关信息的存储

zookeeper 是应用广泛的分布式服务协调组件,它对于大数据领域的其他组件,如HFDS、Yarn、Hbase、Kafka等,都扮演着基础角色在kafka.utils.ZKUtils对象的开头,预先定义了很多ZK路径,如:object ZkUtils extends scala.AnyRef { val AdminPath : java.lang.String = { /* ...

2020-06-08 10:40:00 340

原创 Flink资源管理机制

一、基本概念1.1 相关组件Flink资源管理相关的组件:一个Flink Cluster是由一个Flink Master 和多个Task Manager 组成的Master和TaskManager 是进程级组件其他的组件都是进程内的组件如图:一个flink master中有一个 Resource Manager 和多个Job ManagerFlink Master...

2020-06-05 11:33:00 717 1

原创 简单线性回归(梯度下降法)

1、概述 梯度下降法和最小二乘法相同点:本质和目标相同:两种方法都是经典的学习算法,在戈丁已知数据的前提下利用求导算出一个模型(函数),使得损失函数最小,然后对给定的新数据进行估算预测不同点:损失函数:梯度下降可以选取其他损失函数,而最小二乘一定是平方损失函数实现方法:最小二乘法是直接求导找出全局最小;而梯度下降是一种迭代法效果:最小二乘法找到的一定是全局最小,但计算繁...

2020-05-22 16:50:00 2072

原创 Flink on yarn

1、准备准备集群Zookeeper集群Hadoop集群准备flink jar包官网地址:https://flink.apache.org/downloads.htmlflink-1.8之后没有集成hadoop,需要下载对应的hadoop jar包1.8之前:1.8之后:需要下载对应hadoop的组件(然后放入flink的lib目录下)配置Hadoop的环境变...

2020-05-21 17:59:00 489

原创 简单线性回归(最小二乘法)

0.引入依赖import numpy as npimport matplotlib.pyplot as plt1.导入数据(data.csv)​points = np.genfromtxt('data.csv',delimiter=',')# 提取points中的两列数据,分别作为x,yx=points[:,0] #取所有的第一列y=points[:,1] #...

2020-05-18 14:36:00 529

原创 机器学习基础

1、机器学习的开端1952年,IBM的Arthur Samuel(被誉为“机器学习之父”)设计了一款可以学习的西洋跳棋程序他能通过观察棋子的走位来构建新的模型,并用其提高自己的下棋技巧Samuel和这个程序进行多场对弈后发现,随着时间的推移,程序的棋艺变得越来越好2、机器学习的定义机器学习(Machine Learning,ML)主要研究计算机系统对于特定任务的性能,逐步进行改...

2020-05-11 09:49:00 349

原创 推荐系统简介

1、推荐系统的基本思想知你所想,精准推送利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品物以类聚利用用户喜欢过的物品,给用户推荐与她喜欢过的物品相似的物品人以群分利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品2、推荐系统的数据分析要推荐物品或内容的元数据,例如关键字,...

2020-05-07 12:05:00 131

原创 Azkaban参数详解

1 参数类型综述azkaban的工作流中的参数可以分为如下几个类型:Azkaban UI 页面输入参数环境变量参数job作业文件中定义的参数工作流的用户定义的属性文件,上游作业传递给下游的参数工作流运行时产生的系统参数job的common参数参数类型与其对应的参数范围如下:参数类型作用域UI 页面输入参数 ,即工作流参数flow全局有效工作流Z...

2020-04-23 10:45:00 2133

原创 Azkaban安装与配置

1.1 为什么需要工作流调度系统1)一个完整的数据分析系统通常都是由大量任务单元组成:  shell 脚本程序,java 程序,mapreduce 程序、hive 脚本等。2)各任务单元之间存在时间先后及前后依赖关系。3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行。  例如,我们可能有这样一个需求,某个业务系统每天产生 20G 原始数据,我们每天都要对其进行处...

2020-04-23 10:40:00 466

原创 MySQL总结二

WINDOWS服务-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格) 连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码​SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABL...

2020-04-14 16:01:00 101

原创 MySQL总结一

1、数据库基础知识数据保存在内存优点:存取速度快缺点:数据不能永久保存数据保存在文件优点:数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便数据保存在数据库1)数据永久保存2)使用SQL语句,查询方便效率高。3)管理数据方便1.1 什么是SQL?结构化查询语言(Structured Query Language)简称SQL,是一...

2020-04-14 15:16:00 705

原创 Flink 流处理API之Join

1、Window Joinstream.join(otherStream) .where(<KeySelector>) .equalTo(<KeySelector>) .window(<WindowAssigner>) .apply(<JoinFunction>)1.1 Tumbling Wind...

2020-04-04 18:57:00 391

原创 Flink 流处理API之二

1、Transform1.1 mapval streamMap = stream.map { x => x * 2 }1.2 flatmapflatMap的函数签名:def flatMap[A,B](as: List[A])(f: A ⇒ List[B]): List[B]例如:flatMap(List(1,2,3))(i ⇒ List(i,i))结果是List(1...

2020-04-04 18:40:00 298

原创 Flink 流处理API之一

1、 Environment1.1 getExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文。如果程序是独立调用的,则此方法返回本地执行环境如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境也就是说,getExecutionEnvironment会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建执行环境的方式。...

2020-04-04 17:54:00 741

原创 Flink ProcessFunction API

我们之前学习的转换算子是无法访问事件的时间戳信息和水位线信息的。而这在一些应用场景下,极为重要。例如MapFunction这样的map转换算子就无法访问时间戳或者当前事件的事件时间。基于此,DataStream API提供了一系列的Low-Level转换算子。可以访问时间戳、watermark以及注册定时事件。还可以输出特定的一些事件,例如超时事件等。Process Functi...

2020-04-04 15:13:00 173

原创 Flink Window

1、Window概述streaming流式计算是一种被设计用于处理无限数据集的数据处理引擎,而无限数据集是指一种不断增长的本质上无限的数据集,而window是一种切割无限数据为有限块进行处理的手段。Window是无限数据流处理的核心,Window将一个无限的stream拆分成有限大小的”buckets”桶,我们可以在这些桶上做计算操作。2、Window类型Window可以分成两类...

2020-04-03 20:37:00 173

原创 Spark性能优化

1、资源参数调优1.1 运行时架构1.1.1 Client :客户端进程,负责提交作业 1.1.2 Driver/SC :运行应用程序/业务代码的main()函数并且创建SparkContext,其中创建SparkContext的目的是为了准备Spark应用程序的运行环境。在Spark中由SparkContext负责和ClusterManager/ResourceManage...

2020-04-02 20:42:00 245

原创 HBase 优化

1、JVM调优1.1 内存调优一般安装好的HBase集群默认配置:Master和RegionServer 1G内存,而Memstore默认占用0.4,也就是400M。export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Xms2g -Xmx2g"export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSER...

2020-04-02 15:07:00 135

原创 Scala集合

1、概述Scala 集合类系统地区分了可变的和不可变的集合可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。所有的集合类都可以在以下包找到:scala.collectionsca...

2020-04-01 21:51:00 100

原创 Spark常用算子

1、transformation算子 – 单value2、 transformation算子 – 双value3、 transformation算子 – key-value4、action算子

2020-04-01 21:50:00 64

原创 Flink运行架构

1、Flink运行时的组件Flink运行时架构主要包括四个不同的组件,他们会在运行流处理应用程序时协同工作:作业管理器(JobManager)资源管理器(ResourceManager)任务管理器(TaskManager)分发器(Dispatcher)1.1 作业管理器(JobManager)控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的job...

2020-03-25 17:40:00 698

原创 Flink 有状态的算子和应用程序

流式计算分为无状态和有状态两种情况。无状态的计算观察每个独立事件,并根据最后一个事件输出结果。例如,流处理应用程序从传感器接收水位数据,并在水位超过指定高度时发出警告。有状态的计算则会基于多个事件输出结果。以下是一些例子。所有类型的窗口。例如,计算过去一小时的平均水位,就是有状态的计算。所有用于复杂事件处理的状态机。例如,若在一分钟内收到两个相差20cm以上的水位差读数,则发出警告...

2020-03-25 17:38:00 2365

原创 Flink 状态一致性

当在分布式系统中引入状态时,自然也引入了一致性问题。一致性实际上是"正确性级别"的另一种说法,也就是说在成功处理故障并恢复之后得到的结果,与没有发生任何故障时得到的结果相比,前者到底有多正确?举例来说,假设要对最近一小时登录的用户计数。在系统经历故障之后,计数结果是多少?如果有偏差,是有漏掉的计数还是重复计数?1、一致性级别在流处理中,一致性可以分为3个级别:at-most-on...

2020-03-25 17:36:00 217

原创 Flink 检查点(checkpoint)

Flink具体如何保证exactly-once呢? 它使用一种被称为"检查点"(checkpoint)的特性,在出现故障时将系统重置回正确状态。下面通过简单的类比来解释检查点的作用。假设你和两位朋友正在数项链上有多少颗珠子,如下图所示。你捏住珠子,边数边拨,每拨过一颗珠子就给总数加一。你的朋友也这样数他们手中的珠子。当你分神忘记数到哪里时,怎么办呢? 如果项链上有很多珠子,你显然不想从...

2020-03-25 17:35:00 6426

原创 Flink 时间语义与watermark

1、Flink中的时间语义在Flink的流式处理中,会涉及到时间的不同概念,如下图所示:Event Time: 是时间创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink通过时间戳分配器访问事件时间戳Ingestion Time:数据进入Flink的时间Processing Time: 是每一个执行基于时间操作的算子的本地...

2020-03-25 17:34:00 297

原创 Flume的可靠性保证:故障转移、负载均衡

Sink groups允许组织多个sink到一个实体上。 Sink processors能够提供在组内所有Sink之间实现负载均衡的能力,而且在失败的情况下能够进行故障转移从一个Sink到另一个Sink。下面是官方配置:从参数类型上可以看出有3种Processors类型:default, failover(故障转移)和 load_balance(负载均衡),当然,官网上说目前自定义...

2020-03-22 10:59:00 326

原创 Hive 文件存储格式

1、5种存储格式Apache Hive支持Apache Hadoop中使用的几种熟悉的文件格式,如TextFile,RCFile,SequenceFile,AVRO,ORC和Parquet格式。ClouderaImpala也支持这些文件格式。在建表时使用STORED AS (TextFile|RCFile|SequenceFile|AVRO|ORC|Parquet)来指定存储格式...

2020-03-19 21:48:00 529

原创 Kafka 核心组件之协调器

1、消费者与消费者组假设某 topic 有4个分区,消费者组中只有一个消费者,那么这个消费者将消费全部 partition 中的数据。如果消费者组中有两个消费者,那么每个消费者消费两个 partition。如果消费者组中有4个消费者,那么每个消费者消费一个partition。如果消费者组中有5个消费者,那么有一个消费者就是空闲的。注意:在同一个消费者组中,不要让消费者的...

2020-03-19 20:40:00 627

原创 Canal工作原理

1、MySQL主从复制原理2、Canal 的工作原理canal模拟MySQL slave的交互协议,伪装自己为MySQL slave,向MySQL master发送dump协议mysql master收到dump请求,开始推送binary log为slavecanal解析binary log对象(原始为byte流)3、MySQL的binary logMySQL 的二进...

2020-03-19 20:10:00 657

原创 ElasticSearch

1.1 ElasticSearch重要概cluster:整个ES默认就是集群状态,整个集群是一份完整、互备的数据node:集群中一个节点,一个进程是一个nodeshard:分片,即使是一个节点中的数据也会通过hash算法,分成多个片段,默认是5片(7.0默认1片)index:相当于database,对用户来说是一个逻辑数据库,理论上被分为多个shard存放,也可能...

2020-03-19 19:51:00 52

原创 Kylin

1、Kylin简介1.1 kylin简介Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区。它能在亚秒内查询巨大的表。Apache Kylin™ 令使用者仅需三步,即可实现超大数据集上的亚秒级查询。定义数据集上的一个星形或雪花形...

2020-03-19 19:28:00 137

原创 Presto

1、概念presto是一个开源的分布式SQL查询引擎数量支持GB到PB字节主要用来处理秒级查询的场景注意: 虽然presto可以解析SQL,但它不是一个标准的数据库不是mysql,oracle的代替品,也不能用来处理在线事务(OLTP)2、Presto架构presto由一个coordinator和多个worker组成由客户端提交查询,从presto命令行CLI提交到...

2020-03-19 14:54:00 356

原创 OLAP数据库

OLAP百家争鸣OLAP简介OLAP,也叫联机分析处理(Online Analytical Processing)系统,有的时候也叫DSS决策支持系统,就是我们说的数据仓库。与此相对的是OLTP(on-line transaction processing)联机事务处理系统。联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的。OLAP的提出引...

2020-03-17 10:01:00 1278

原创 ClickHouse

引言ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域。目前国内社区火热,各个大厂纷纷跟进大规模使用:今日头条 内部用ClickHouse来做用户行为分析,内部一共几千个ClickHouse节点,单集群最大1200节点,总数据量几十PB,日增原始数据300TB左右。腾讯内部用ClickHouse做游戏数据分析,并且为之建立了一整套监控运维体系。...

2020-03-16 21:09:00 507

原创 SparkSql运行原理详细解析

传统关系型数据库中 ,最基本的sql查询语句由projecttion (field a,field b,field c) , datasource (table A) 和 fieter (field a >10) 三部分组成。 分别对应了sql查询过程中的result , datasource和operation ,也就是按照result ——> datasource ——&...

2020-03-14 12:07:00 629

原创 Hive优化一

一、Hadoop 框架计算特性1、数据量大不是问题,数据倾斜是个问题2、jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次 汇总,产生十几个 jobs,耗时很长。原因是 map reduce 作业初始化的时间是比较长的3、sum,count,max,min 等 UDAF,不怕数据倾斜问题,hadoop 在 map 端的汇总合并优化,使 数据倾斜不成...

2020-03-11 10:19:00 129

原创 Spark启动流程(Standalone)- master源码

Master源码 1 package org.apache.spark.deploy.master 2 //伴生类 3 private[deploy] class Master( 4 override val rpcEnv: RpcEnv, 5 a...

2019-12-22 12:25:00 221

原创 Spark启动流程(Standalone)-分析

1、start-all.sh脚本,实际上执行java -cp Master 和 java -cp Worker2、Master 启动时首先穿件一个RpcEnv对象,负责管理所有通信逻辑3、Master 通信RpcEnv对象创建一个Endpoint,Master就是一个Endpoint,Worker可以与其进行通信4、Worker启动时也是创建一个R...

2019-12-22 12:22:00 367

原创 Spark Netty 通信框架解析

1、RpcEndpoint: RPC端点Spark针对每个节点(Client、Master、Worker)都称之为一个RpcEndpoint,且都实现RpcEndpoint接口,内部根据不同端点的需求,设计不同的消息和不同的业务处理,如果需要发送(询问)则内部调用Dispatcher的对应方法说明:RpcEndpoint 用来接收消息RpcEndpointRef 用来...

2019-12-22 12:20:00 325

原创 Spark内核概述

1、Spark核心组件1.1 Cluster Manager(Master,ResourceManager)Spark的集群管理器,主要负责对整个集群资源的分配与管理 Cluster Manager在 Yarn 部署模式下为 ResourceManager在 Mesos 部署模式下为 Mesos Master在 Standalone 部署模式下为 Master.Clu...

2019-12-22 12:16:00 192

空空如也

空空如也

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

TA关注的人

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