自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天龙八部

当你回首往事,留下的都是记忆,而不是悔恨。

  • 博客(41)
  • 收藏
  • 关注

原创 flink-触发器Trigger和移除器Evictor

继承Triger,重写抽象方法,案例.print();窗口长24小时,每十秒触发一次计算@Override//定义状态,记录该状态 触发器第一个元素进来时注册全部的触发器//第一次注册,右面全部跳过//注册触发器 间隔10s@Override//使用的事件时间,因此触发窗口的计算@Override@Override。

2024-06-27 01:01:37 1158

原创 flink 处理函数和流转换

flink提供8种不同的处理函数;窗口和流都可以使用1.ProcessFunction 是最基本的处理函数,基于DataStream直接调用process()时作为参数传入;2.KeydProcessFunction:是对流进行分区后的处理函数,基于KeyedStream调用process()时作为参数传入。只有该方法支持定时器功能(onTime);窗口函数,只有窗口可以使用。

2024-06-26 18:25:34 708

原创 flink的窗口

窗口是flink中重要的概念,为了方便高效的处理无界流,将数据切成有限的数据块进行处理;

2024-06-26 09:25:06 999

原创 虚拟机器centos7无法识别yum 命令异常处理笔记

添加后执行yum 命令正常设置linux本地的客户端DNS的配置文件。DNS可以实现域名和IP的互相解析,而我本地安装虚拟后该文件为空。

2024-02-22 20:12:31 683

原创 部署k8s踩坑记录

k8s部署后冲节点一直是norready

2022-04-05 12:45:06 1577

原创 compareto 排序异常记录

记录一次 compareto使用异常java.lang.IllegalArgumentException: Comparison method violates its general contract!源代码 如下 刚开始执行运行都没有任何问题 上线后也运行了一段时间,知道有一次数据量比较大 出现这个异常,查看日志问题错误发生在这个排序比较的地方@Overridepublic int compare(Integer o1, Integer o2) { return o1.intVa..

2021-05-09 15:06:21 567

原创 dateSet 、rdd 和dateframe 区别

三种数据结构出现的版本顺序RDD (Spark1.0) -->Dataframe(Spark1.3) -->Dataset(Spark1.6)RDDrdd的五大特性 这个用了很多,但是当突然被问到五大特性时,竟然一时卡壳,只记得弹性可分区和容错 ,而血统、依赖和数据本地化并没有归并到特性中,重新查看资料后,发现自己错在把rdd当成一种数据集合, 可分区列表:可以创建指定分区数目,可以生成新的rdd来改变分区数 作用在分区的函数:rdd的计算都是以分区为单位 依赖关系...

2020-09-15 16:35:00 720

原创 spark-sql cli模式下的优化经验

在spark-sql cli模式下只能是纯sql ,这个对于执行过程中的一些操作基本没有操作的可能,因此当出现执行速度很慢时优化难以入手

2020-05-26 23:39:21 626

转载 Spark SQL 之 Join 实现

在这篇文章中:SparkSQL总体流程介绍Join基本要素Join基本实现流程sort merge join实现broadcast join实现hash join实现inner joinleft outer joinright outer joinfull outer joinleft semi joinleft anti join总结文章写...

2020-02-29 17:04:48 154

原创 spark-sql运行脚本报错 tasks bigger than bigger than spark.driver.maxResult

spark-sql执行脚本,导出数据的脚本爆出如下异常;Caused by: org.apache.spark.SparkException:Job aborted due to stage failure: Total size of serializedresults of 1212tasks (10300 MB) is bigger thanspark.driver.maxResul...

2020-02-29 16:49:15 705

原创 spark-sql 堆外内存溢出

运行执行spark-sql 脚本文件,爆出对堆外内存溢出错误如下图,先区分发生异常是executor端还是driver端,我遇到的问题是driver端,因为最后数据导出生成文件,数据会在driver端收集结果集。调节方式有两种,第一种正大driver-memory值,堆外内存计算公式默认是max(0.1*driver-memory ,384M),(executory的的对外内存计算公式也是一样...

2020-02-29 16:32:40 1116 2

原创 spark1.5.1执行spark-sql client执行insert into 报错 解决

原先语句是在spark2.1上执行的sql,现在放到spark1.5上执行执行失败;现象描述:如果没有用insert 直接执行select 语句,是不会报错,执行insert 但是去除exists的子查询,也是不会报错。所以感觉很奇怪,然后将not exists用left anti join 代替 发现spark1.5也不支持。各种尝试后最后在inert into 后面加上table 关键字...

2020-01-07 18:34:21 3942

原创 测试环境csv文件数据导入parquet存储文件后用limit查询报错问题解决

数据导入流程先将oracle数据导出为csv文件,在将csv文件进行删除表头(第一行),删除双引号,替换时间分隔符等操作;然后创建对应表两张,一张表A存储格式textfile,另一张B表存储格式parquet,,先将csv文件导入A表,在通过A表导入B表。最后select count(*) from B ;有数据,但是执行select * from B limit 2 ;执行报错 提示类型问题...

2019-12-26 17:47:33 300

原创 spark-sql导入数据遇到的问题

spark-sql 客户端通过load data local inpath '/xx/xx' into table xx;方式导入,数据来源是oracle导出的csv文件数据导入后遇到下面的问题1,字符串带有双引号问题 通过sed命令直接替删除字段完成;2 , 时间类型格式不正确,导出时没有设定时间格式,如果导出时yyyy/MM/dd HH:mm:ss,二spark支持的是yyyy-...

2019-12-17 16:31:04 888

原创 spark整合hive后spark-sql启动报错

通过spark-sql 来访问hive的元数据,hive元数据信息存储在mysql但是启动的时候是报如下的错误,检查过配置,metastore已经配置,并且启动,用hive启动可以正常使用,但是spark-sql不行,报错信息Hive: Failed to access metastore. This class should not accessed in runtime.org.apac...

2019-12-14 18:24:05 2468

原创 一次测试环境问题记录

目录问题描述解决方法总结问题描述有三张表,A,B,C;其中c表有3百万条数据,a,b表没有数据,第一次,空表在前,大表在后,(常规的优化方案)写法insert into table d select * from a left bon xxx=xxx inner join c on ixxx=xxx;在spark-sql客户端执行,没有指定参数,相当于默认dri...

2019-12-12 14:50:18 226

原创 spark版本升级问题org.apache.spark.Logging

git下面有一个spark项目,用的版本是1.6.2,据说很稳定的一个版本,因为在2.0以后出来一个sparksession整合df和df 于是将spar库版本升到2.4.3,下面是遇到的问题1.升级后找不到org.apache.spark.Logging。 1.6.2中用的trait Logging 找不到org.apache.spark.Logging。 在spark2.4.3...

2019-12-01 22:21:33 2562

原创 spark项目scala版本依赖问题

今天从github上项目,运行一致报错,后来自己写了一个测试程序,竟然也是同样的错,最后发现竟然是scala版本不对 def main(args: Array[String]): Unit = { val conf=new SparkConf().setAppName("AppConf").setMaster("local[4]") val sc=new SparkCont...

2019-12-01 17:06:07 1907

原创 spark源码阅读环境搭建

目录1.环境介绍2.源码编译2.1编译成功的流程3.编译中遇到的问题3.1 在命令行直接执行编译命令3.2 未知失败问题(重新执行后成功)3.3编译成功后本地启动spark-shell4.导入idear5.执行测试案例遇到的问题和解决方法5.1添加依赖5.2 idear执行测试命令1.环境介绍用spark源码2.4.3为例源码下载...

2019-11-30 12:55:35 444

原创 浅谈设计模式

看完《head first 设计模式》这本书,做个笔记方便后面复习。书中最后有几句话印象很深刻--“尽可能的用最简单的方式解决问题,你的目标应该是简单,而不是如何在问题中应用设计模式”。设计原则学习设计模式必须先直到设计原则,因为设计模式是不同场景下设计原则的体现方式 --OO设计原则是 面向对象封装变化:将程序中变化和不变的代码分开,一方面可以复用代码,也能提高代码利用率,并且方便...

2019-11-22 19:21:58 116

原创 hbase入门(一)

hbase是一种nosql数据库,主要存储非结构化和半结构化的数据,是面向列、高性能、面向列、可伸缩、实时读写的分布式数据库。数据存储采用key-value形式的存储,数据类型只有byte,利用hadoop的hdfs作为其存储系统,mapreduce处理hbase的海量数据,利用zookeeper作为分布式协同服务特点:1.海量存储-扩展性能好:2.列式存储:存储格式是列存储,查...

2019-11-17 12:08:46 134

原创 spark-sql cli客户端搭建

网上关于spark-sql的资料很少,刚开始用spark-sql cli时我也好奇怎么还能使用这样的方式?下面就自己试了一下,如果你看到这个文章,你会发现跟不用搭建,可能你只是不知到入口,在集群上启动很简单,进到spark/bin目录下面执行spark-sql,和spark-shell完全相同,这个是在集群中的一台设备上执行的但是有些公司是用spark-sql client模式开发的,不是...

2019-10-16 23:58:19 781

原创 测试环境一次spark-sql执行limit查询失败问题解决

问题描述同事在执行sql查询直接用limit 查看几条数据时发现报错,但是用count或* 查询是显示有数据。第一感觉真的很奇怪,后面发现是马虎的锅;select * from tableName ; 正确显示数据;select * fromtableName limit 2; 查询报错(因为公司日志复制不出来,只好敲出来一部分,剩余上图了)java.lang.Unsupport...

2019-10-16 23:40:16 3159

原创 spark-sql cli模式下driver内存溢出

采用spark-sql启动编程,编写sql执行,但是数据量很少,不到一百条,执行时显示内存溢出,并且是已经显示stage进度条;如果是在编译过程中提示内存溢出,极有可能是driver内存分配的太小,而sql编译后stage太多导致,但是下面的这个是程序用改已经执行了,跟executor-memory有关,和driver没有多少关系了,但是最后的解决方法是加大了driver内存。这一点目前理解不同,...

2019-10-10 15:22:41 1468

原创 java为什么不能多继承问题

最近面试被问到了一个很有趣的问题,java为什么不能多继承,当时懵了,这个问题重来就没有考虑过,一直按照生物学一些类属性划分,来理解记忆;回来后网上查找,为什么java不能多继承,其实也很简单,问题在于功能在于谁实现,使用时能否准确定位是谁做。父类方法有方法体,也就是说能实现功能,子类继承父类,没有重写方法,调用的是父类的功能;假如可以继承多个父类,那么当父类A,B中有同样的方法或参数时,子类...

2019-08-31 13:13:18 608

原创 hive系统学习笔记

目录基本概念解析器交互方式基本操作创建库表数据导入数据的导出常用sql函数hive数据压缩,常用语法 操作分区和分桶数据存储格式建立表与文件的关联方式数据结构 结构化的数据:字段个数一定,字段之间的分隔符一定 半结构化的数据:例如xml,json等 非结构化的数据:没有任何规律格式的数据基本概念本质:将sql...

2019-08-27 23:12:32 773

原创 hive优化

hive优化hive本质上将sql语句解析成mapreduce程序运行,对于mapreduce的优化同样也会对hive sql的运行起到一定的优化作用,优化的大致思路大致目标是:增加任务线程来处理、避免数据倾斜1.增加任务线程来处理增加reduce数量 reduce数量计算公式:N=min(最大的reduce数,总输入数据量/每个reduce的处理数据大小) 每个Redu...

2019-08-27 19:29:29 747

原创 scala中方法和函数的去区别

方法的定义def m1(x:Int,y:Int):Int =x*ydef:当以方法的关键字m1:方法名(x:Int,y:Int):参数列表,两个参数,x和y类型都是Int,:Int :返回值类型,如果没有返回值用unit表示 方法的返回值可以不指定返回类型,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型函数的定义val f1 :(x:Int,y:Int)=&...

2019-08-23 18:11:51 225

原创 springboot整合kafka消息发送失败问题-版本不匹配问题

今天测试kafka,发现高版本的springboot整合kafka消息发送失败,低版本就可以,刚看是查了好久,就是没找到问题,查到有人说是版本不匹配问题,于是更换成springboo 1.5.13,成功了,亲测springboot2.1.0也可以先测试的是boot2.0.1的版本,同样的代码使用boot的1.5.13就是ok的,具体什么原因不清楚,debug页面也买看到错误iserver...

2019-08-23 15:18:53 2790

原创 类加载过程整理

类加载的流程分7个阶段分别是:加载-->验证-->准备-->解析-->初始化-->使用-->卸载其中:加载-->验证-->准备,初始化,卸载这5个的加载顺序不能变类的加载通过类的全限定名获取类的二进制字节流 获取字节流可以从jar、zip、war等文件 网络中获取 运行时计算生成,如动态代理 其他文件生成,如jsp ...

2019-08-22 22:24:18 181

原创 yarn资源调度笔记

目录yarn资源调度架构图主要组件主要访问端口任务调度常用的参数yarn资源调度yarn主要就是为了调度资源,调度分两级一级调度管理 计算资源管理(CPU,内存,网络IO,磁盘) Appmaster生命周期管理 (每一个应用执行的情况,都需要汇报给ResourceManager) 二级调度管理 App内部的计算模型管理 (AppMaster的任...

2019-08-22 20:17:03 238

原创 flume日志采集系统

目录flume日志采集系统1.运行机制1.1组件介绍 1.2简单使用配置1.3flume拦截器1.4自定义拦截器高可用方式负载均衡关于各个组件的详细配置可以参考https://www.cnblogs.com/moonandstar08/p/6284243.htmlflume日志采集系统1.运行机制agent是flume的核心角色。每...

2019-08-22 18:32:50 247

原创 hdfs学习笔记整理

目录hdfs文件系统 架构图各个组件介绍namenode:集群主节点,管理集群各种数据,维护元数据secondaryNameNode:高可用模式没有journalNode高可用才有DataNode从节点常用文件命令访问hdfs文件的方式1.Api访问文件2.文件系统方式访问数据hdfs文件系统 架构图元数据和...

2019-08-22 17:14:24 267

原创 redis笔记

1.redis数据类型String:字符串 hash:散列 list:集合 Set:集合 Sorted Set: 有序集合redis是单线程运行,所以是线程安全的redis持久化方案快照RDB:在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot),默认Redis 将数据库快照保存在名字为 dump.rdb的二进制文件 快照是一个压缩的二进...

2019-08-20 23:38:22 69

原创 spark并行度和mapreduce并行度对比

spark和mapreduce的区别mapreduce是多进程模型,即里面的一个task对应一个进程 优点:进程便于更细粒度的控制每个任务的占用资源,但是启动慢 spark是多线程模型,任务以分区为单位,一个分区对应一个task 任务以线程的方式运行,启动快 模型对比 mapreduce 主节点resourcemanager负责分配资源调度 从节点no...

2019-08-20 15:44:06 867

原创 常用垃圾收集器笔记

垃圾收集器多种垃圾收集器,包括:串行垃圾收集器、并行垃圾收集器、CMS(并发)垃圾收集器、G1垃圾收集器串行垃圾收集器serial使用算法:年轻代使用 复制算法, 老年代使用标记整理算法特点: 单线程进行垃圾回收,垃圾回收时,只有一个线程在工作 停顿延迟高 缺点 停顿延迟高:执行回收时所有的Java线程都停止工作 参数设定 -XX:+UseSerialGC 年轻...

2019-08-20 01:24:35 122

原创 JVM垃圾回收和内存划分笔记

内存划分为一下4部分方法区( 又称永久代,别名非堆) 主要存储类信息、常量、静态变量,字段描述,方法描述 堆内存 基本上new出来的对象都存在这里以及类变量,也是GC的主要区域 栈内存 方法执行时创建虚拟机栈,存储局部变量,方法出入口 程序计数器 每一线程都有一个独立的计数器,是线程私有的内存空间(比较小)存储的正在执行的字节码地址,线程的恢复,跳转,循环等都依赖它实现,如果是nati...

2019-08-20 00:36:58 101

原创 sparkStream重启后获取checkpoint数据的使用问题

学习checkpoint使用是重启时总是获取不到重启之前的值,后来才发现用法不对最开始都是直接创建对象用new 的方式创建对象,代码如下def main(args: Array[String]): Unit = {val conf: SparkConf = new SparkConf().setMaster("local[4]").setAppName("SparkStreamingS...

2019-08-19 02:01:39 788

原创 MapReduce分布式计算框架学习

MapReduce 分布式计算核心思想:分而治之 map 把复杂的任务分成简单的任务,相互之间没有依赖,可以并行计算 reduce 对map阶段的结果机型汇总框架结构图MrAppMaster:负责程序的过程调度以及状态协调 maptask:负责map阶段整个数据处理流程 ReduceTask:负责reduce过程处理MapReduce的变成八个步骤1.读取文件...

2019-08-18 11:34:26 299

原创 hadoop学习hdfs笔记

1.hadoop架构模型hdfs集群 访问地址http://ip:50070/namenode:集群当中的主要节点,主要用于管理集群当中的各种数据; 管理元数据,存在内存中;管理客户端对文件读写请求,决定文件写在哪里,副本存储什么位置; 元数据信息保存在edits,FSImage secondaryNameNode:对hadoop当中的原属句信息辅助管理元数据的,定期...

2019-08-14 23:48:27 135

空空如也

空空如也

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

TA关注的人

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