- 博客(13)
- 收藏
- 关注
原创 Hive中的开窗操作over()
前提over() 可以为 聚合函数或者窗口函数进行开窗操作;开窗之后,每一行的数据都会对应一个数据窗口,这个数据窗口中的数据可能会随着行的变化而变化。over(参数) 中可以指定的参数partition by col:按照col进行分区(类似于分组),每个分区拥有自己独立的数据窗口order by col:窗口中的数据按照col进行排序;当over与聚合函数一起使用时,如果指定了order by,那么数据窗口中的数据=上一次窗口中的数据+当前行数据准备name orderdate c
2021-03-31 09:02:09
1064
原创 大数据学习之路 Kafka篇
Kafka定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。消息队列点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并且消费消息。消息被消费后,queue中不再有存储,所以消息消费者不可能消费已经被消费的消息。Queue支持存在多个消费者,但是对一个消费者而言,只会有一个消费者可以消费。发布/订阅模式(一对多,消费者消费数据之后不会清除消息)
2021-03-14 14:50:08
240
原创 Java中的HashMap重要源码分析
Java中的HashMappublic class HashMapTest { public static void main(String[] args) { Map<Integer, String> hm = new HashMap(); System.out.println(hm.put(12,"丽丽")); System.out.println(hm.put(7,"菲菲")); System.out.println
2021-02-05 21:57:05
176
原创 红黑树实现(Java版)
红黑树基础知识红黑树-百度百科基础知识自行查阅,这里我们直接描述重点红黑树的性质每个节点要么是黑色,要么是红色根节点是黑色每个叶子结点(NIL,空节点)是黑色每个红色节点的两个子节点一定是黑色的,不能有两个红色节点相连任意一节点到其每个叶子结点的路径上都包含数量相同的黑色节点(这条性质称之为:黑色完美平衡。俗称:黑高)由性质5可以推出:如果一个节点存在黑子节点,那么该节点肯定有两个子节点下图就是一颗符合上述5条性质的红黑树:红黑树的自平衡所经历的三种的操作变色节点的颜
2021-02-05 21:56:14
520
原创 Scala篇(4)隐式转换
Scala中的隐式转换在java中,如果将精度大的数转换成精度小的数,必须使用强制类型转换才能实现。但是,在scala,可以通过隐式转换的方式,让这种转换无需明显的强制类型转换就能完成。Scala中的隐式转换包括三类:隐式转换函数隐式类隐式参数和隐式值隐式函数当出现类型转换冲突的时候,scala就会寻找隐式转换,不看函数名,只看参数类型和返回值类型implicit def double2int(double: Double): Int= double.toIntimplici
2020-12-18 13:28:10
532
原创 Scala篇(3)面向对象编程
Scala 面向对象编程学习Scala是一个完全面向对象的语言package(Scala中的包)Scala中的包声明方式默认和java是一致的。但是有其他的使用方式在同一个源码文件,可以多次声明包(但是声明的类在最后的那个包中)源码中的类所在的位置不需要和包路径相同//第一种方式package o.l.scala.Functionspackage package1class User { var name: String= _ var age:Int=_ def UserSt
2020-12-18 12:59:29
252
原创 Centos7 安装Mysql数据库(转载)
Centos7安装Mysql数据库的流程前提说明CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用MariaDB代替了,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。个人理解:其实MariaDB 就相当于mysql-
2020-12-13 10:30:52
153
原创 Scala篇(2)函数式编程
Scala语言学习函数式编程什么是函数式编程?面向对象编程:解决问题时,将问题拆解成一个一个小问题(形成了对象),分别解决对象关系: 继承,实现,重写, 多态函数式编程关心的是问题的解决方案(封装功能);重点在于函数(功能)的入参,出参。函数式编程重要的就是函数Java中的方法和Scala中函数都可以进行功能的封装,但是方法必须和类型绑定,但是函数不需要。(函数和方法的本质上的区别)def test(s: String) Unit = { println(s)}无参数无
2020-12-11 15:18:07
324
原创 Scala篇(1)基础知识
Scala 语言学习变量var 关键字定义的变量在声明后,可以进行修改val 关键字定义的变量在声明之后,不可以进行修改(相当于Java中的 final 关键字)final 关键字说明:声明的变量的地址不可变的,但是内存地址指向的内容是可以变的,但是Java中String没有提供修改内容的方法,都是创建一个新的字符串进行返回。能省则省:scala为了让开发过程变得简单, 可以将自动推断出来的内容省略。val name=“wangwu”变量声明时,需要显示初始化。Scala数据类型介绍
2020-12-08 15:54:20
376
原创 大数据学习之路 Hadoop原理篇(1):Yarn架构和HDFS相关原理
Hadoop原理篇前言IT技术的学习就像武侠中练武功一样,练武不练功到老一场空。阳哥教育我们,不要单纯的做API调用工程师,学一些不易变的原理,做一个有内涵的程序员。正文什么是Hadoop?Hadoop是一个由Apache基金会所开发的分布式系统基础架构主要解决:海量数据的存储和海量数据的分析计算问题从广义上讲,Hadoop通常是指一个更广泛的概念-----Hadoop生态圈Hadoop的优势高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障
2020-08-31 20:35:56
752
原创 大数据学习之路 Hadoop分布式安装篇
Hadoop2.7.2 分布式安装前言各位童鞋在安装hadoop的时候,为了避坑、不走弯路,尽量不要安装太新的版本!!!。 建议不要把太多的时间浪费在安装上,省下来时间多多了解一些内部的原理。安装过程一定要仔细,认真,不要将配置信息填错,一个字母填错都是不行。(踩过坑的 小卧底,真诚的建议。)正文虚拟机准备工作这里我安装的虚拟机是VMware,系统是Centos07的桌面版(大家尽量不要选择 最低要求安装centos7,因为有一些常用的命令需要我们手动安装,例如:vim)单台虚拟机配置:内存4
2020-08-29 10:39:54
282
原创 大数据学习之路 JVM篇
大数据学习之路(一) JAVA篇(1)正文篇JVM (总体概述)什么是 JVM ?JVM它是Java Virtual Machine 的缩写,主要是通过在实际计算机模仿各种计算机功能来实现的,组成部分包括堆、方法区、栈、本地方法栈、程序计算器等部分组成的,其中方法回收堆和方法区是共享区,也就是谁都可以使用,而栈和程序计算器、本地方法栈区是归JVM的。Java能够被称为“一次编译,到处运行”的原因就是Java屏蔽了很多的操作系统平台相关信息,使得Java只需要生成在JVM虚拟机运行的目标代码也就是所说
2020-08-25 19:49:47
386
原创 大数据学习之路 JUC篇
大数据学习之路 JUC篇JUC:java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locks什么是 进程、线程?参考文章什么是 并发、并行?参考文章线程的几种状态Thread.State 枚举类查看线程的各种状态NEW(新建);RUNNABLE(就绪);BLOCKED(阻塞);WAITING(等待)一直等待,不见不散;TIMED_WAITING(超时等待)等待一定的时候后,不再等待;T
2020-08-24 14:45:15
1733
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人