自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.Cao

时间顺流而下,生活逆水行舟。

  • 博客(146)
  • 资源 (8)
  • 收藏
  • 关注

原创 数据仓库hive概念与数据仓库分层、概念模型、逻辑模型、物理模型

数据仓库重点概念Hive的工作流程1、执行查询:从Hive的CLI或Web UI发出查询命令给驱动程序(任何JDBC,ODBC数据库驱动)执行。2、获取计划:驱动程序请求查询编译器解析查询、检查语法、生成查询计划或者查询所需要的资源。3、获取元数据:编译器向元数据存储数据库发送元数据请求。4、发送元数据:作为响应,元数据存储数据库向编译器发送元数据。5、发送计划:编译器检查需要的资源,并将查询计划发送给驱动程序。至此,查询解析完成。6、执行计划:驱动程序向执行引擎发送执行计划。7、执行作业:

2020-10-24 19:52:37 1627 2

原创 Java的23种设计模式---(23)设计模式总结(该在什么场景下选择哪种设计模式配合使用,提高代码的质量)

设计模式总结创建型模式核心作用:用来帮助我们创建对象。1.单例模式保证一个类只有一个实例,并且提供一个访问该实例的全局访问点 通俗易懂:就像你有件事每天都要做,你可以让你的秘书帮你做,你可以让他每天都帮你做,而不是要很多个秘书,如果是很多个秘书,你需要每天都重复告诉他们,你要做什么,这样很麻烦,你每天都要花多余的时间跟他说需要做什么。就像程序里面,你对象创建一次就行了,而不是...

2019-03-14 21:53:06 1862 2

原创 Flink HA高可用集群搭建(Standalone Cluster)

Flink HA高可用集群搭建(Standalone Cluster) 1.根据集群中hadoop的版本和scala的版本对应下载Flink,该文章下载的是Flink1.7.2版本。下载地址  https://flink.apache.org/downloads.html 2.安装解压Flink到/home/kfs目录下(Master举例)    tar -zxvf fli...

2019-02-21 14:01:15 4028 2

原创 Centos7搭建Hadoop HA完全分布式集群(6台机器)(内含hbase,hive,flume,kafka,spark,sqoop,phoenix,storm)

目录Centos7搭建Hadoop HA完全分布式集群(6台机器)(内含hbase,hive,flume,kafka,spark,sqoop,phoenix,storm). 1前期配置. 2安装jdk 5安装zookeeper 7安装hadoop 8启动集群. 17安装hbase 21安装hive 27安装Flume 34安装kafka 37安装spar...

2019-01-30 15:51:42 2568 4

原创 项目管理:(四)项目范围管理

过程输入范围管理计划项目章程需求文件工具与技术专家判断产品分析备选方案生成引导式研讨会输出项目范围说明书项目文件更新1、定义范围的内容定义范围是制定项目和产品详细描述的过程需要多次反复开展定义范围过程。最重要的是详细定义项目的范围边界。(该做的工作和不该做的工作边界)2、定义范围的作用明确所收集的需求哪些将包含在项目范围内,哪些将排序在项目范围外,从而明确项目、服务或者输出的边界。

2023-05-16 09:13:47 467

原创 项目管理:(三)项目整体管理

项目整体管理包括为识别、定义、组合、统一和协调各项目过程组的各种过程和活动而开展的工作,是项目管理中一项综合性和全局性的管理工作。项目整体管理6个过程1、制定项目章程编写项目章程的过程,通过发布项目章程,正式地批准项目并授权项目经理在项目活动中使用组织资源。2、制定项目管理计划定义、准备、协调所有子计划,整合为一份综合项目管理计划的过程。项目管理计划包括整合后的项目基准、子计划。3、指导与管理项目工作为实现项目目标而领导和执行项目管理计划中所确定的工作,并实施已批准变更的过程。

2023-05-16 09:12:47 834

原创 项目管理:(二)项目立项管理

项目审批部门对系统集成项目的项目建议书、可行性研究报告、初步设计方案和投资概算的批复文件是后续项目建设的主要依据。项目建议书:又称立项申请,是项目建设单位向上级主管部分提交项目申请时所必须的文件。2、有少量调整且调整内容未超出已批复的总投资额度的10%,则补充说明。项目初步设计方案和投资概算报告的编制内容与项目可行性研究报告批复内容。在项目可行性研究的基础上,根据国家政策等分析、论证,判断是否可行。3、需求分析和项目建设的必要性。7、环保、消防、职业安全。7、环保、消防、职业安全。3、项目建设的必要性。

2023-05-08 21:36:20 546

原创 项目管理:(一)项目管理一般知识

项目是为创造独特的产品、服务或成果而进行的临时性工作。1、项目管理是指在项目活动中综合运用知识、技能、工具和技术在一定的时间、成本、质量等要求下来实现的项目成果性目标的一系列行为。旧3约束“时间、成本、质量”新3约束“范围、时间、成本”

2023-04-24 21:11:44 865

原创 Spring Boot---(17)SpringBoot整合Shiro

什么是ShiroApache Shiro 是 Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用,其 不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以帮助我们完成:认证、 授权、加密、会话管理、与 Web 集成、缓存等。shiro 将安全认证相关的功能抽取出来组成一个框架,使用 shiro 就可以非常快速的 完成认证、授权等功能的开发,...

2020-08-31 17:08:06 362

原创 Elasticsearch---(4)Elasticsearch DSL常用语法

3、 Elasticsearch DSL常用语法数据准备# 创建索引,设置分片副本,配置映射PUT /demo{ "settings":{ "number_of_replicas": 1, "number_of_shards": 3 }, "mappings":{ "user":{ "properties":{ "name":{"type":"text"}, "age":{"type":"integer"},

2020-05-13 13:56:29 1519

原创 Elasticsearch---(3)Elasticsearch基础

Elasticsearch基础1、ElasticSearch简介ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful接口。2、ElasticSearch概念2.1 ElasticSearch核心概念Near Realtime(NRT)Elasticsearch是一个近乎实时的搜索平台。从索引文档到可以搜索的时间只有...

2020-04-30 19:08:10 811

原创 Elasticsearch---(2)Linux下安装ELK(Elasticsearch、Kibana、logstash)

Linux下安装ELK(Elasticsearch、Kibana、logstash)1. 下载elasticsearch(6.8.7版本)elastic下载地址:elasticsearch6.8.72.下载kibana(6.8.7版本)kibana下载地址:kibana6.8.73.下载logstash(6.8.7版本)logstash下载地址:logstash6.8.7将下载好...

2020-04-24 14:49:32 530

原创 Flink系列---Flink流处理WordCount

FlinkStream的WordCount案例这篇直接贴上案例,关于理论方面,我会选文章专门将Flink的运行流程、架构、原理、流处理、批处理的理论。代码结构类型:maven的module该处是DTFlinkStreaming项目结构图pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns...

2020-03-12 19:26:34 1954

原创 Flink部署后启动不成功错误

案例:Flink1.9启动Flink查看jps发现没有启动MasterSlave如果启动成功Master应该有StandaloneSessionClusterEntrypointSlave应该有TaskManagerRunner查看启动日志异常日志org.apache.flink.core.fs.UnsupportedFileS...

2020-03-04 17:54:22 6247 3

原创 Flink系列---Flink批处理WordCount(Java、Scala版本)

Flink系列---Flink批处理WordCount(Java、Scala版本)一、配置Linux中的Flink HA集群配置Flink HA集群二、配置IDEA中Flink的环境需要有Scala插件,百度一下即可。三、代码级别pom.xml<?xml version="1.0" encoding="UTF-8"?><project...

2020-02-27 23:21:03 1558

原创 Spark性能调优系列:Spark-JVM调优

Spark-JVM调优Spark发生垃圾回收的原理Spark任务运行时会在executor里面不断的创建对象,当JVM存不下对象时,会触发JVM的垃圾回收(GC => grabage Collector),垃圾回收就是把不需要的对象给清除。如果内存中数据量比较大,那么可能会频繁的发生GC,而GC操作本身比较耗费性能,如果还频繁发生,那么对Spark作业性能造成很大的影响。此...

2019-12-27 10:25:10 725

原创 Spark性能调优系列:Spark资源模型以及调优

Spark资源模型Spark内存模型Spark在一个Executor中的内存分为三块,execution内存、storage内存、other内存。execution内存是执行内存,join、aggregate都在这部分中执行,shuffle的数据也会先缓存在这个内存中,满了再写入磁盘,能够减少IO,Map过程也是在这个内存中执行的。(0.25)storage内存是存储broad...

2019-12-18 21:31:02 354

原创 Spark性能调优系列:Spark参数配置大全(官网资料)

Spark参数配置大全Spark提供了三个位置来配置系统Spark属性控制大多数应用程序参数,可以使用SparkConf对象或Java系统属性来设置。通过conf/spark-env.sh每个节点上的脚本,环境变量可用于设置每台计算机的设置,例如IP地址。可以通过配置日志log4j.properties。Spark属性Spark属性控制大多数应用程序设置,并分别为每个应用...

2019-12-18 18:56:54 2851

原创 Spark性能调优系列:Shuffle调优

Spark性能调优系列:Shuffle调优shuffle大部分的Spark作业性能主要是shuffle过程的消耗,shuffle是从Map Task输出到Reduce Task输入这段中间过程,Reduce Task需要从其它节点上的Map Task拉取结果数据,因此shuffle过程包含大量的磁盘IO,序列化,网络数据传输等操作。Spark中常用算子中会触发shuffle操作的算子:...

2019-12-03 15:57:36 509

原创 Spark性能调优系列:(八)数据倾斜(使用随机前缀和扩容RDD进行join)

适用场景如果在进行join操作时,RDD中有大量的Key导致数据倾斜,那么进行分拆key也没什么意义,此时就只能使用最后一种解决方案来处理了。实现思路该方案的实现思路基本和上一个相似,首先查看RDD/Hive表中的数据分布情况,找到那个造成数据倾斜的RDD/Hive表,比如有多个key都对应了超过1万条数据,然后将该RDD的每条数据都打上一个N以内的随机前缀,同时对另外一个正常的...

2019-11-29 17:44:34 1089

原创 Spark性能调优系列:(七)数据倾斜(采样倾斜key并分拆join操作)

适用场景两个RDD/Hive表进行join的时候,如果数据量都比较大,无法采用上一个方案时,那么此时可以看看两个RDD或hive表中的key分布情况。如果出现数据倾斜,是因为其中的某一个RDD/Hive表中的少数几个key的数据量过大,而另一个RDD/Hive表中的所有key都分布比较均匀,那么采用这个解决方案比较合适。实现思路对包含少数几个数据量过大的key的那个RDD,通过s...

2019-11-29 17:43:08 451

原创 Spark性能调优系列:(六)数据倾斜(将reduce join转为map join)

适用场景在对RDD适用join类操作,或者是在SparkSQL中使用join语句时,而且join操作中的一个RDD或表的数据量较小(几百MB到几G),就适用该方案。实现思路不使用join算子进行连接操作,而使用Broadcast变量与map类算子实现join操作,进而完全避免shuffle类的操作,彻底避免数据倾斜的发生和出现,将较小RDD中的数据直接通过collect算子拉取到D...

2019-11-28 10:05:49 628

原创 Spark性能调优系列:(五)数据倾斜(两阶段聚合(局部聚合+全局聚合))

两阶段聚合(局部聚合+全局聚合)适用场景对RDD执行reduceByKey等聚合类shuffle算子或者在SparkSQL中使用Groupby语句进行分组聚合时,比较适用这种方案。实现思路核心实现思路就是进行两阶段聚合。第一次是局部聚合,先给每个key都打上一个随机数,比如10以内的随机数,此时原先一样的key就变成不一样的了,比如:(hello,1)(hello,1)(h...

2019-11-21 11:40:18 815 2

原创 Spark性能调优系列:(四)数据倾斜(提高shuffle操作的并行度)

提高shuffle操作的并行度使用场景如果必须要对数据倾斜迎难而上,那么建议优先使用该方案,因为这是处理数据倾斜最简单的一种。实现思路在对RDD执行shuffle算子时,给shuffle算子传入一个参数,比如reduceByKey(1000),该参数就设置了这个shuffle算子执行时shuffle read task的数量,对于SparkSQL中的shuffle类语句,比...

2019-11-20 11:47:33 893 2

原创 Spark性能调优系列:(三)数据倾斜(过滤少数导致倾斜的key)

过滤少数导致倾斜的key使用场景如果发现导致倾斜的key就少数几个,而且对计算本身的影响并不大的话,那么非常适合该方案。(比如:99%的key就对应100条数据,只有1个key对应百万条数据,从而导致数据倾斜)实现思路如果觉得那少数几个数据量特别多的key对作业执行和计算结果不是特别重要,那么干脆就过滤那少数的key。(比如:SparkSQL中可以使用where子句过滤掉这些...

2019-11-19 18:32:39 304

原创 Spark性能调优系列:(二)数据倾斜(Hive ETL预处理数据方案)

Hive ETL预处理数据方案适用场景 导致数据倾斜的是Hive表,如果Hive表中的数据本身分布不均匀(比如:某个key对应了100万数据,其他key只对应了100条数据),而且业务场景需要频繁使用到Spark对Hive表执行某个分析操作,那么比较适用使用这种技术方案。实现思路: 评估是否可以通过Hive来进行数据预处理(即通过HiveETL预先对数据按照key进行...

2019-11-19 17:31:27 639 1

原创 Spark性能调优系列:(一)数据倾斜(原理)

数据倾斜一、概述:有时,我们会遇到数据倾斜,在遇到数据倾斜的时候Spark作业的性能会比期望差很多,这时,我们就需要对数据倾斜进行调优,以保证Spark作业的性能。二、数据倾斜发生时的现象:1.绝大多数Task执行得非常快,但个别Task执行会极慢。2.本来能够正常执行的Spark作业,某天突然爆出OOM(内存溢出)异常,又不是业务代码造成。三、数据倾斜发生的原理:...

2019-11-15 15:55:55 251

原创 Spark系列---SparkSQL(五)创建json格式的list注册成临时表用sql语句查询

1.创建json格式的list注册成临时表用sql语句查询scala版本package com.kevin.scala.dataframeimport org.apache.spark.sql.SQLContextimport org.apache.spark.{SparkConf, SparkContext}/** * 创建json格式的list注册成临时表用sql语句查...

2019-10-31 18:36:08 1368

原创 Spark系列---SparkSQL(四)动态与反射方式创建DataFrame(Java、Scala版本)

1.动态创建Scheme将非json格式RDD转换成DataFrame,推荐scala版本package com.kevin.scala.dataframeimport org.apache.spark.sql.types._import org.apache.spark.sql.{RowFactory, SQLContext}import org.apache.spark.{S...

2019-10-31 18:33:45 610

原创 Spark系列---SparkSQL(三)读取Txt文件、Json文件、Hive、Mysql数据源(Java、Scala版本)

1.读取txt文件scala版本package com.kevin.scala.dataframeimport org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.sql.SQLContext/** * 读取txt文件转成DataFrame形式操作 */object DataFrameTx...

2019-10-31 18:30:19 7968

原创 Spark系列---SparkSQL(二)读取txt文件转为DataFrame表的所有action(Java、Scala版本)

该文章只附上代码案例,不进行讲解,需要了解的看以下文章Spark系列---SparkSQL(一)介绍与使用Spark系列---Spark算子RDD(Java、Scala版本)读取txt文件转为DataFrame表的所有actionscala版本package com.kevin.scala.dataframeimport org.apache.spark.{SparkCo...

2019-10-31 18:20:05 2775

原创 Spark性能调优系列:数据本地化

Spark数据本地化背景:数据本地化对于Spark Job性能有着巨大的影响,如果数据以及要计算它的代码是一起的,那么性能当然会非常高。但是如果数据与计算它的代码是分开的,那么其中之一必须到另外一方机器上,通常来说,移动代码到其它节点,会比移动数据到代码所在的节点上,速度要快的多。因为代码较小,Spark也正是基于这个数据本地化的原则来构建Task调度算法的。数据本地化:数据离计算它...

2019-10-31 18:04:23 301

原创 Spark性能调优系列:(九)开发调优(优化数据结构)

优化数据结构Java中有三种类型比较耗费内存:1.对象,每个Java对象都有对象头,引用等额外的信息,因此比较占用内存空间。2.字符串,每个字符串内部都有一个字符数组以及长度等额外信息。3.集合类型,比如HashMap、LinkedList等,因为集合类型内部通常会使用一些内部类来封装集合元素,比如Map.Entry。Spark官方建议,在Spark编码实现中,特别是对于算子...

2019-10-31 17:29:02 169

原创 Spark性能调优系列:(八)开发调优(使用Kryo优化序列化性能)

使用Kryo优化序列化性能Spark主要有三个地方涉及序列化:1.算子函数中使用到外部变量时,该变量会被序列化后进行网络传输。2.将自定义类型作为RDD的泛型类型时(比如Student是自定义类型),所有自定义类型对象,都会进行序列化。因此该情况下,也要求自定义的类必须实现Serializable接口。3.使用可序列化的持久策略时(比如MEMORY_ONLY_SER),Spark会将...

2019-10-31 17:18:28 275

原创 Spark性能调优系列:(七)开发调优(广播大变量)

广播大变量开发过程中,如果需要在算子函数中使用外部变量的场景(尤其是100m以上的数据),那么此时应该使用广播变量来提升性能。算子函数中,默认情况下,Spark会将该变量复制多个副本,通过网络传输到task中,此时每个task都有一个变量副本,如果变量本身比较大,那么大量的变量副本在网络中传输的性能开销以及各个节点的Executor中占用过多内存导致的频繁GC,都会极大影响性能。如果使...

2019-10-31 16:47:40 250

原创 Spark性能调优系列:(六)开发调优(使用高性能的算子)

使用高性能的算子1.使用reduceByKey、aggregateByKey替代groupByKey。详细看https://blog.csdn.net/qq1021979964/article/details/1026780162.使用mapPartitions替代普通mapmapPartitions类的算子,一次函数会调用处理一个partition所有的数据,不是一次函数调用...

2019-10-22 18:39:10 360

原创 Spark性能调优系列:(五)开发调优(尽量使用map-side预聚合的shuffle操作)

使用map-side预聚合的shuffle操作如果一定需要使用shuffle操作,无法使用map类的算子来替代的时候,尽量使用map-side预聚合的算子。map-side预聚合每个节点本地对相同的key进行一次聚合操作,类似MapReduce中的本地Combiner,map-side预聚合之后,每个节点本地就只有一条相同的key,在其它节点在拉取所有节点上的相同key时,就会大量减...

2019-10-22 10:38:48 599

原创 Spark性能调优系列:(四)开发调优(尽量避免使用shuffle类算子)

调优:尽量避免使用shuffle类算子Spark作业运行过程中,最消耗性能的就是shuffle过程shuffle过程:将分布在集群中多个节点的同一个key,拉取到同一个节点上进行聚合或join操作,比如reduceByKey、join等算子都会触发shuffle操作。shuffle过程中shuffle过程中,各个节点上的相同Key都会先写入本地磁盘文件中,然后其它节点需要通过网络...

2019-10-21 17:28:07 443

原创 Spark性能调优系列:(三)开发调优(尽可能复用同一个RDD)

调优:尽可能复用同一个RDD在对不同的数据执行算子操作时还要尽可能地复用一个RDD。多个RDD的数据有重叠或者包含的情况,我们应该尽量复用一个RDD,这样可以尽可能地减少RDD的数量,从而尽可能减少算子执行的次数。比如:有一个RDD的数据格式是key-value类型的,另一个rdd是单value类型的,这两个RDD的value数据是完全一样的。那么此时我们可以只使用key-value类...

2019-10-21 15:37:48 281

原创 Spark性能调优系列:(二)开发调优(避免创建重复的RDD)

调优:避免创建重复的RDD对于同一份数据,只应该创建一个RDD,不能创建多个RDD来代表同一份数据。如果同份数据创建多个RDD,则Spark会多次重复计算来创建多个代表相同数据的RDD,进而增加了作业的性能开销。案例:package com.kevin.scala.tuningimport org.apache.spark.{SparkConf, SparkContext}...

2019-10-21 15:37:00 340

redis可视化工具redis-desktop-manager-0.8.8.384

redis可视化工具redis-desktop-manager-0.8.8.384。。。。

2019-03-28

springcloud微服务视频大全(资料+视频+代码)

springcloud微服务视频大全(资料+视频+代码),Eureka,服务注册,服务发现,Feign,服务调用,Ribbon,负载均衡,hystrix,熔断器,zuul,API网关,Sidecar,异构服务,SpringCloudConfig,配置中心

2019-03-28

springmvc,mybatis,redis,solr,nginx,ssm分布式电商项目(视频+资料)

springmvc,mybatis,redis,solr,nginx,ssm分布式电商项目等

2019-03-28

HTML前端经典模板案例(视频+资料+代码)

HTML前端经典模板案例(视频+资料+代码),图片延迟加载,左侧悬浮导航,无缝滚动,页面弹窗,个人地图等。。

2019-03-28

hadoop,spark,linux,机器学习,数据挖掘等大数据全套视频(视频+源码+课件)

hadoop,spark,linux,机器学习,数据挖掘等大数据全套视频(视频+源码+课件),内含storm,kafka,sparksql,sprakstreaming,scala,redis,zookeeper,hbase,hive,mapreduce,yarn,hdfs,nginx,shell,推荐算法,聚类算法,分类算法,回归算法,python等

2019-03-27

WebSocket视频+资料+代码

javaweb技术中的WebSocket视频+资料+代码,实现常用的在线聊天,实时接收消息等

2019-03-27

数据挖掘与算法视频(系统架构,NLP-文本相似度,数据挖掘-中文分词,隐马+推荐算法,分类算法,聚类算法)等

数据挖掘与算法视频(系统架构,NLP-文本相似度,数据挖掘-中文分词,隐马+推荐算法,分类算法,聚类算法)等

2019-03-27

深入浅出jvm虚拟机视频大全(jvm性能调优+内存模型+虚拟机原理)

深入浅出jvm虚拟机视频大全(jvm性能调优+内存模型+虚拟机原理)

2019-03-27

空空如也

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

TA关注的人

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