自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于Spark on yarn

Cluster 模式./bin/spark-submit \--class com.qf.spark.day1.WordCount\--master yarn \--deploy-mode cluster \--driver-memory 1g \--executor-memory 1g \--executor-cores 2 \--queue default \/home/bi...

2020-02-27 23:05:25 259 1

原创 关于Flume的优化和高可用

文章目录Flume优化一、内存参数优化(减少GC)1)-xmx和-xms设置相同值,避免在 GC 后调整堆大小带来的压力。2)JVM heap(堆内存)设置4G或更高二、channel优化Flume如何保证数据安全Flume解决数据重复Flume 高可用Flume优化一、内存参数优化(减少GC)解决办法:1)-xmx和-xms设置相同值,避免在 GC 后调整堆大小带来的压力。修改 flu...

2020-02-16 20:21:19 1303

原创 关于HABSE

1.1 hbase数据库介绍1、简介hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。(储冷数据:是对于离线类不经常访问的数据,比如企业备份数据、业务与操作日志数据、话单与统计数据。)(热数据:是需要被计算节点频繁访问的在线类数据。)它介于nosql(非关系型数据库)和RDBMS(关系型数据库)之间,仅...

2020-02-12 22:29:54 1151 1

原创 Spark解决数据倾斜和Spark分区)

解决Spark数据倾斜1、先用sample(false,0,x)采用key,找出倾斜的key2、将数据集拆分成倾斜部分和不倾斜部分3、不倾斜部分走正常路线4、倾斜部分前面加上前缀5、重分区 => 聚合 => 去掉前缀 => 聚合6、如果是大表join大表,其中一个表有数据倾斜,就需要用膨胀法,将倾斜部分的key加上一个0-n的前缀,一条数据膨胀成n条,然后将另一个表的...

2020-02-05 15:23:29 569

原创 数仓架构

Inmon架构Inmon 模式从流程上看是自顶向下的,即从数据源到数据仓库再到数据集市的(先有数据仓库再有数据市场)一种瀑布流开发方法。对于Inmon模式,数据源往往是异构的,比如从自行定义的爬虫数据就是较为典型的一种,数据源是根据最终目标自行定制的。这里主要的数据处理工作集中在对异构数据的清洗,包括数据类型检验,数据值范围检验以及其他一些复杂规则。在这种场景下,数据无法从stage层直接输...

2020-01-05 17:23:30 265

原创 关于数仓

一、数仓是什么(和数据库的区别)数仓(DataWareHouse)是面向主题的,集成的,相对稳定的,反映历史变化的数据集合,主要为企业决策作支撑。和数据库对比,数仓主要用于分析数据(olap),而数据分析对资源占用比较大,和数据库主要处理事务(oltp),因此我们需要二者分开;数仓和数据库区别 => olap 和 oltp 区别:主要四个方面:1)实时性:oltp要求实时性高,ola...

2020-01-05 16:53:49 4062 1

原创 数据仓库的三种模型

星型模型:星型模型是我们开发中比较常用一种模型;由一张大的事实表和多个维度表组成;当我们需要查询的时候;我们可以通过维度表上的某个确定维度进行快速查询;雪花模型:雪花模型是星型模型的拓展;每一个维度表都可以向外连接多个详细类别表;由一张大的事实维度表和维度表和详细类别表组成,详细类别表是对事实表的详细描述;事实星座表:多个事实表共享某一个或多个维度表的情况叫做事实星座表;星型...

2020-01-05 15:08:09 2614

原创 java

第十六章 Javafinal类不能继承、重写,final方法不能重写,final属性不能变16.1 JVM组成JVM内存大致分为五个区域:方法区、虚拟机栈、本地方法栈、堆、程序计数器**程序计数器:**记录的是正在执行的虚拟机字节码指令的地址,通过改变程序计数器,java程序才能按顺序、循环、跳转等流程执行各个方法。该区域是所有区域中唯一没有定义内存溢出错误的区域。**虚拟机栈:...

2019-12-23 21:56:39 208

原创 SparkKafka01

Redis存储Offset(重点)获取redis连接从redis获取Offset(有或者无)更新Offset到redis在使用Redis连接的时候,注意一点,Connection连接无法被序列化,也就是说在Driver创建的连接,无法发送到Executor内部使用,需要在Executor内部创建单独的连接操作,才可以使用数据的累加或者计算操作,而且Driver负责维护Offset,此连...

2019-11-22 11:59:58 130

原创 Redis01

Redis介绍redis是一个K-V存储系统,它是内存数据库,主要是用于做数据的缓存,同时在大数据领域上,主要是做数据结果的存储,因为它是一个内存数据数据库,读写效率高,每秒吞吐量达到11W左右,支持多种数据类型(String,list,set等等),C语言开发的K-V数据库应用场景:Java居多,用于缓存页面,大数据领域,主要是在做实时流处理统计的时候,使用Redis进行数据的存储Nosq...

2019-11-20 20:11:32 126

原创 SparkStreaming02

MapWithState 了解MapWithState和UpdateStateBykey都是做批次累加操作,都可以将每个批次结果进行累加计算,但是UpdateStateByKey是真正基于磁盘存储的,所有批次结果都会累加至磁盘,每次取值的时候也会直接访问磁盘,不管当前批次是否有值,都会获取之前批次结果数据,而MapWithState,虽然也是基于磁盘存储,但是它合理使用内存,也就是缓存,Map...

2019-11-19 21:55:54 157

原创 scala02

MapMap:k,v键值对,跟java里的Map差不多的意思。SortedMap和LinkedHashMapSortedMap 是排序的Map,按照Key进行排序LinkedHashMap 是一个可变的Map,同时它会记录数据插入顺序定义一个Map有以下几种方式:val map = Map("book"->10,"gun"->18,"ipad"->1000) va...

2019-11-18 21:59:04 97

原创 kafka01

Scala简介Scala是将面向对象和函数式编程结合在一起的语言,Scala的任务主要基于JVM基础之上,同时Scala语言是基于 Java语言开发的。应用:Spark、Kafka作者:马丁 奥德斯基发行时间:2004年推出第一版Scala,然后在2009推出的2.X版本学习Scala的目的:比较简单:这个框架开发比较简单,而且相对于Java来说,代码少之又少,开发敏捷。运行速度快:...

2019-11-18 21:25:19 124

原创 SparkStreaming01

Spark Streaming介绍Spark Streaming是一个实时流处理计算平台,主要是针对流式数据进行统计分析。Spark Streaming是针对流数据处理的框架,它的底层实现基于Spark Core,也有 Spark Core的相关概念,比如RDD的容错性,在Spark Streaming中,它的底层其实就在RDD上面实现了一种封装,将之前处理的RDD概念,转换成流的概念(DSt...

2019-11-18 18:58:00 138

原创 SparkSQL02

SparkSQL的内置函数(重点)导入:import org.apache.spark.sql.funcations._Actiondf1.count// 缺省显示20行df1.union(df1).show()// 显示2行df1.show(2)// 不截断字符df1.toJSON.show(false)// 显示10行,不截断字符df1.toJSON.show(10, ...

2019-11-14 23:29:24 181

原创 kafkaday03

Spark对接Hive(必会)Spark操作Hive相比较Hive执行的MR,效率要高,因为Spark是基于DAG有向无环图,实现的内存迭代式计算,MR是基于磁盘计算引擎,相比Spark的迭代计算,要慢的多,并且磁盘IO太大,没有太好的优化,Spark是内存处理,速度要快的多,所以使用Spark对接Hive已经成为主流,例如:SparkSQL来实现的数仓操作实现方式:将Hive中的hive-s...

2019-11-14 23:25:40 116

原创 kafkaday04

kafkaAPI操作0.10 可以使用Kafka 文件传输机制[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p99kEjRn-1573744945633)(1573702397129.png)]ACK应答机制(重点)Offset的维护(重点)两种维护Offset的方式自动提交:设置参数,进行自动提交,默认就是自动的 enable.auto.commi...

2019-11-14 23:23:54 124

原创 kafka

Spark对接Hive(必会)Spark操作Hive相比较Hive执行的MR,效率要高,因为Spark是基于DAG有向无环图,实现的内存迭代式计算,MR是基于磁盘计算引擎,相比Spark的迭代计算,要慢的多,并且磁盘IO太大,没有太好的优化,Spark是内存处理,速度要快的多,所以使用Spark对接Hive已经成为主流,例如:SparkSQL来实现的数仓操作实现方式:将Hive中的hive-s...

2019-11-14 00:00:30 126

原创 SparkSQL学习01(概念)

Spark-SQL集成性Spark SQL允许使用DataFream API进行Spark程序的结构化数据处理,支持Java、Scala、Python、R语言操作统一数据源Spark提供了多种数据源,比如,Hive、MySQL、JSON、Parquet、CSV等集成HiveSparkSQL支持HiveQL语法以及Hive UDF,也可以操作Hive数仓。连通性支持JDBC和ODBC...

2019-11-11 23:17:50 132

原创 Spark学习03(Spark任务提交流程+宽窄依赖)

Spark任务提交流程3.25.25 RDD的函数传递主要是序列化的问题,对象在JVM中表示的方式是字节序列化的产生是为了分布式的程序,现在需要将这个类传递给另外一个机器,那么传递的过程中需要的是010101这样的字节,那么对面接收的字节如何获取,那么就需要使用序列化那么说一个场景: spark是一个分布式的计算框架,当从Driver端将数据传递到Executor的时候就需要进行序列化...

2019-11-10 20:27:35 153

原创 Spark学习04(自定义累加器+自定义排序+自定义分区)

一、自定义累加器(Accumulator)自定义累加器,可以任意累加不同类型的值,同时也可以在内部进行计算,或者逻辑编写,如果继承自定义累加器,那么需要实现内部的抽象方法,然后在每个抽象方法内部去累加变量值即可,主要是在全局性累加起到决定性作用。累加器作为spark的一个共享变量的实现,在用于累加计数计算计算指标的时候可以有效的减少网络的消耗累加器可以在每个节点上面进行Task的值,累加操作...

2019-11-10 20:22:39 475

原创 Spark学习02(Spark里的各种算子+RDD持久化-persist+RDD持久化-检查点+RDD共享变量)

一、各种算子的使用转换含义map(func)返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成filter(func)返回一个新的RDD,该RDD由经过func函数计算后返回值为true的输入元素组成flatMap(func)类似于map,但是每一个输入元素可以被映射为0或多个输出元素(所以func应该返回一个序列,而不是单一元素)...

2019-11-09 22:36:15 410

原创 Spark学习01(Spark概念+RDD概念)

一、Spark是什么Spark是一种快速、通用、可扩展的大数据分析引擎。Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLib、SparkR等子项目,Spark是基于内存计算的大数据并行计算框架。除了扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理。Spark 适用...

2019-11-09 21:24:11 258

原创 新scala基础

3.1. 了解Scala3.1.1 Scala来源​ Scala名字由来:Scalable Language两个单词相结合;意大利语中 scala意为“梯子”或“楼梯”,蕴含“更佳的编程语言”。​ Martin Odersky(马丁·奥德斯基)于2001年基于Funnel的工作开始设计Scala。Funnel是把函数式编程思想和Petri网相结合的一种编程语言。Martin Odersky先...

2019-11-09 16:25:11 668

原创 试题A

1.HDFS写数据流程(可画图)1)客户端通过对DistributedFileSystem对象调用create()方法来创建新文件。2)DistributedFileSystem对Namenode创建一个RPC调用(远程过程调用),在文件系统的命名空间中新建一个文件,此时文件中还没有相应的数据库。3)Namenode执行各种不同的检查,以确保这个文件不存在以及客户端有新建该文件的权限。如果检...

2019-09-16 10:23:31 326

原创 day20 错题

从JKD1.4开始,JDK提供了一系列改进的输入输出的新功能(New IO).如果说旧的IO流是面向Stream的同步流,那么新的IO流是面向缓冲区的异步操作流.跟nio相关的包都在java.nio下面新项目或者网络服务器可以用nio,老项目不建议。...

2019-08-19 14:40:46 100

原创 day17错题

在run方法前加同步关键字同步的对象是Tread类,而不是线程;同步块对资源的浪费比同步方法小,同步块的范围越小越好;AtomicInteger是对int类型的一个封装,提供原子性的访问和更新操作,其原子性操作的实现是基于CAS(compare-and-swap)技术。https://blog.csdn.net/qweqwruio/article/details/81359887推荐...

2019-08-14 13:23:56 146

原创 day11 错题,易错题

业务异常是非检查性异常,检查性异常是必须处理的异常。finally是try catch 执行的代码块;finalize当对象不再被任何对象引用时,GC会调用该对象的finalize()方法;...

2019-08-10 15:51:24 116

原创 day14错题

。。。。。set不可重复,跟顺序没关系这个说法比较严谨。set没有下标。不能获取一个,只能遍历获取全部value有TreeSet就要重写Comparable方法,有Comparable方法TreeSet就有序只能放comparable里定义的对象进去按Comparable排序...

2019-08-09 10:12:53 108

原创 day 12 错题、易错题

不用导能直接用的都在lang包下。使用 == 的时候,比较的基本类型的值,和对象的地址,B选项当@Test public void test(){ String a = " "; if (a == " "){ System.out.println("是"); } }的时候成立。但当 Strin...

2019-08-08 13:44:51 139

原创 day13 错题、易错题

Collection 是 Iterrator 的实现,而Iterable是Iterator的接口,因此Iterable是Collection继承的顶级接口。集合里只能放对象,因此打印一个集合的时候默认打印集合里每个元素的地址。直接new 的两个对象地址不相同,只有重写equals方法才会。...

2019-08-08 13:16:37 76

转载 几种内部类

//成员内部类,就是作为外部类的成员,可以直接使用外部类的所有成员和方法,即使是private的。//同时外部类要访问内部类的所有成员变量/方法,则需要通过内部类的对象来获取。public class Outer { public class Inner{// 成员内部类里面不能含有static的变量和方法// static int a = 1 ; public void te...

2019-07-16 12:28:24 119

原创 向下转型和向上转型

向上转型和向上转型的用法如下:import java.util.ArrayList;import java.util.List;public class Change { public static void main(String[] args) { Person p = new Batman(); p.name(); //向上转型 HeroPool HP = ne...

2019-07-14 21:09:59 116

原创 final关键字

在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。修饰类当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。(尽量避免使用final修饰类)修饰方法使用final方...

2019-07-14 11:41:15 85

原创 day 08

1、代码块静态代码块:随着类的加载而加载,在整个程序执行过程中只执行一次,执行顺序优先于main构成:static+{ }作用对类进行初始化例:static { syso(“a”)}构造代码块:随着对象的加载而加载,在整个程序执行过程中只执行一次,执行顺序优先于构造方法。构成:{ }作用:对对象进行初始化例:{syso(“b”)}对抽象类的理解抽象方法即使用abstract...

2019-07-10 20:44:58 87

原创 java学习day06

今天来学习排序吧冒泡排序

2019-07-10 15:13:11 98

原创 java基础 day01

没想到啊,也有学java基础的一天,重新再来吧。一、关键字、标识符、注释、常量关键字:即被JAVA赋予了特殊含义的单词标识符:程序中需要自己命名的1、由26个英文字母,数字,_,$组成2、不能和关键字同名3、不能以数字开头4、区分大小写(特殊:汉语可以作为标识符)注释:用来解释说明代码的,不参与编译//单行注释/**多行注释*/常量:固定不变的量包括:整数,小数,布尔...

2019-07-07 21:33:53 97

转载 在elipse运行spark程序

spark2.1.0配置windows本地基于java语言的Eclipse开发环境https://blog.csdn.net/ASN_forever/article/details/84747317windows本地Eclipse开发spark程序打包到集群运行https://blog.csdn.net/ASN_forever/article/details/84771408...

2019-06-16 09:47:23 124

原创 Flume agent内部原理

Flume Agent 包含三个组件:Source,Channel,SinkSource:Source是从一些其他产生数据的应用中接收数据的活跃组件。有自己产生数据的Source Source 不过这些Source通常用于测试目的。Source可以监听一个或者多个网络端口,用于接收数据或者可以从本地文件系统读取数据。每个Source必须至少连接一个Channel。基于一些标准,一个Source...

2019-06-09 19:45:45 677

原创 centos7 安装Flume教程

简单介绍一下Flume:source类型channel类型sink类型接下来开始Flume的安装吧!环境:两台安装centos7的虚拟机master: 192.168.19.128slave:192.168.19.129flume版本: 1.9.0链接:https://pan.baidu.com/s/1nPJIJBFuYj_27BN947gCPA提取码:5dia通过x...

2019-06-09 15:42:59 2354

空空如也

空空如也

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

TA关注的人

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