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