自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)

原创 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 1344

原创 HBase数仓架构

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

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

原创 数仓初步构建

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

2019-07-17 11:50:47 98

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

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

2019-07-08 17:16:41 228

原创 Spark Streaming反压机制初探

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

2019-06-25 17:06:00 344

原创 HBase Rowkey设计规范

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

2019-06-24 18:06:25 781

原创 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 107

原创 Spark内存管理再探

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

2019-06-14 15:40:53 57

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

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

2019-06-12 16:33:45 490

原创 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 191

原创 Spark-Core(共享变量)

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

2019-06-05 00:39:17 64

原创 Spark on Yarn

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

2019-06-05 00:37:06 163

原创 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 111

原创 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 62

原创 ElasticSearch单机部署及其插件

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

2019-06-04 14:54:36 193

原创 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 162

原创 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 1231

原创 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 864

原创 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 192

原创 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 295

原创 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 743

原创 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 1205 1

原创 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 596

原创 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 229

原创 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 92

原创 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 164

原创 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 182

原创 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 80

原创 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 93

原创 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 88

原创 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 86

原创 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 331

原创 Spark2_RDD定义

Spark2什么是RDD1.RDD1.1RDD定义让开发者大大降低开发分布式应用程序的门槛以及提高执行效率Resilient Distributed Dataset(RDD) 也就是弹性分布数据集弹性体现在计算之上,代表的是spark可以做到在做分布式计算的时候可以容错,比如说某个节点挂了,或者是某个节点数据丢失了,可以用RDD的机制进行数据修复,这是计算层面得.分布式也就是数据可以...

2019-05-06 17:40:39 127

原创 Spark1_简介

Spark11.MapReduce局限性1.1开发繁杂:本身只提供了map/reduce两个算子,并没有groupby跟join这类的聚合操作的算子,如果要实现groupby跟join操作,则是借助于map跟reduce来实现,同时在mapreduce中可能会出现没有reduce仅仅只有map的场景,比如说mapjoin;同时mapreduce的测试环节也很繁杂1.2效率:mapr...

2019-05-06 17:40:22 126

原创 Spark2.4.2编译集成cdh5.7.0

Spark2.4.2编译集成cdh5.7.0​ 在生产环境中经常会对spark源码进行改造或者是编译源码支持不同的版本的hadoop,下面是我在编译spark2.4.2版本源码的详细步骤,其中编译依赖的hadoop为2.6.0-cdh5.7.0版本。1.版本环境JDK最低要求是1.8,maven最低要求是3.5.4,scala最低要求是2.11.122.编译依赖软件安装2.1 JDK...

2019-05-04 20:58:41 296

原创 scala操作MySQL插件ScalikeJDBC的使用

Scala操作MySQL插件ScalikeJDBC的使用1.什么是ScalikeJDBC​ ScalikeJDBC是一款给Scala开发者使用的简洁DB访问类库,它是基于SQL的,使用者只需要关注SQL逻辑的编写,所有的数据库操作都交给ScalikeJDBC。这个类库内置包含了JDBC API,并且给用户提供了简单易用并且非常灵活的API。并且,QueryDSL(通用查询查询框架)使你的代码...

2019-04-21 22:58:31 212

原创 hive源码编译支持UDF函数

hive源码编译支持UDF函数1.源码下载​ 下载的hive源码最好跟自己hadoop环境的版本一致,我使用的hadoop-2.6.0-cdh5.7.0,所以以下过程都是基于这个版本操作的。源码下载地址:http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz2.编译支持UDF使用的是maven进行编译的,ma...

2019-04-21 19:10:09 64

原创 hive自定义UDF函数

hive自定义UDF函数1.什么是udf​ UDF(User-Defined Functions)即是用户自定义的hive函数。hive自带的函数并不能完全满足业务的需求,这时就需要我们自定义函数了。官网参考地址:LanguageManual UDF2.UDF分类1.UDF:one to one ,进来一个出去一个,row mapping。 是row级别操作,如:upper、subs...

2019-04-21 19:07:36 649

原创 hue-3.9-cdh-5.7.0安装

hue-3.9-cdh-5.7.0安装​ 本次安装踩了一个大坑,由于之前先rpm方式安装了mysql,把centos7自带的mariadb删除了,用yum方式安装mysql-devel失败了,所以使用了rpm的方式安装hue。1.下载安装包下载地址:http://archive.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.7.0/RPMS/x86_64/...

2019-04-18 00:37:22 246 1

原创 hadoop编译支持LZO压缩格式

hadoop编译支持LZO压缩格式1.lzo安装1.1 lzo格式文件压缩解压需要用到服务器的lzop工具,hadoop 的native库(hadoop checknative是没有的lzo,zip相关信息)并不支持#检查是否有lzop命令[hadoop@hadoop001 software]$ which lzop/bin/lzop#若没有执行如下安装命令[root@hadoop0...

2019-04-17 12:00:17 448

空空如也

空空如也

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