自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 Hive11_Rank函数

计算每门学科成绩排名。

2024-01-04 08:19:10 571

原创 Hive10_窗口函数

普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。开窗函数一般分为两类,聚合开窗函数和排序开窗函数。

2024-01-04 08:02:25 707

原创 Hive09_函数

split( “category” , “,”) -----> [ “悬疑” , “动作”, “科幻”, “剧情” ] array。果 value 为 NULL,则 NVL 函数返回 default_value 的值,否则返回 value 的值,如果两个参数。NVL:给值为 NULL 的数据赋值,它的格式是 NVL( value,default_value)。函数只接受基本数据类型,它的主要作用是将某字段的值进行去重汇总,产生 Array 类型字段。

2024-01-03 18:49:37 1262

原创 Hive08_分区表

分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。

2024-01-03 08:14:56 1456

原创 Hive07_多表查询

【代码】Hive07_多表查询。

2024-01-01 19:56:13 1158

原创 Hive06_基础查询

​ RLIKE 子句是 Hive 中这个功能的一个扩展,其可以通过 Java 的正则表达式这个更强大。查询出薪水大于 1000 的所有员工。​ 的语言来指定匹配条件。

2024-01-01 19:32:16 1276

原创 Hive05_DML 操作

(2)local:表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表。(4)overwrite:表示覆盖表中已有数据,否则表示追加。注意:Truncate 只能删除管理表,不能删除外部表中数据。(5)into table:表示加载到哪张表。(7)partition:表示上传到指定分区。(1)load data:表示加载数据。(3)inpath:表示加载数据的路径。(6)student:表示具体的表。加载数据覆盖表中已有的数据。加载 HDFS 上数据。查询表中的总数据条数。

2023-12-26 08:01:11 680

原创 Hive04_DDL操作

因此,使用内部表时,Hive会自动管理表的数据和元数据,而使用外部表时,则需要人工管理表的数据文件,但是可以让多个 Hive 实例共享同一个数据文件。通常情况下,如果数据只会被 Hive 使用,建议使用内部表,而如果数据需要被其他程序或服务使用,建议使用外部表。

2023-12-26 07:50:51 1576

原创 Hive03_数据类型

collection items terminated by ‘_’ --MAP STRUCT 和 ARRAY 的分隔符(数据分割符号)row format delimited fields terminated by ‘,’ – 列分隔符。map keys terminated by ‘:’ – MAP 中的 key 与 value 的分隔符。在 hive/datas下创建info.sql,写入上面的sql语句。创建本地测试文件 hive/datas/ test.txt。执行sql文件,创建表结构。

2023-12-26 07:40:57 676

原创 Hive02_基本使用,常用命令

Hive:由 Facebook 开源用于解决海量结构化日志的数据统计工具。Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。

2023-12-25 09:18:19 1855

原创 Hive01_安装部署

上传mysql jdbc驱动到hive安装包lib下。在hdfs创建hive存储目录(如存在则不用操作)解决Hive与Hadoop之间guava版本差异。

2023-12-25 07:51:30 1099

原创 hadoop02_HDFS的API操作

根据HDFS的URI和配置,创建FileSystem实例根据路径创建HDFS文件夹根据具体的路径创建文件,并且知名是否以重写的方式根据路径删除文件根据路径,返回该路径下所有文件夹或文件的状态。将本地路径下的文件,挪动到HDFS的指定路径下打开指定路径下的文件内容。

2023-12-22 08:02:49 904

原创 hadoop01_完全分布式搭建

(计算的数据存在Linux本地,在一台服务器上 自己测试)、(和集群接轨 HDFS yarn,在一台服务器上执行)、。:(hadoop默认安装后启动就是本地模式,就是将来的数据存在Linux本地,并且运行MR程序的时候也是在本地机器上运行):伪分布式其实就只在一台机器上启动HDFS集群,启动YARN集群,并且数据存在HDFS集群上,以及运行MR程序也是在YARN上运行,计算后的结果也是输出到HDFS上。本质上就是利用一台服务器中多个java进程去模拟多个服务。

2023-12-19 08:55:18 1819

原创 JavaSE23——JDBC

JDBC 是 Java Database Connectivity 的缩写,它是 Java 语言用于与关系型数据库进行连接和交互的一种标准接口。JDBC 提供了一种统一的方式,使得 Java 应用程序能够通过标准的 API 与各种不同的数据库进行通信,而不需要关注具体数据库的实现细节。通过 JDBC,开发人员可以使用 Java 语言来执行 SQL 查询、更新数据库内容以及管理数据库事务。JDBC API库包含下面提到的每个任务,都是与数据库相关的常用用法。

2023-11-08 08:30:15 127

原创 JavaSE22——HashMap

HashMap 是用于存储键值对的集合。(1)HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,所以具有很快的访问速度,但遍历顺序不确定。(2) HashMap 中键 key 为 null 的记录至多只允许一条,值 value 为 null 的记录可以有多条。(3) HashMap 非线程安全,即任一时刻允许多个线程同时写 HashMap,可能会导致数据的不一致。

2023-11-02 08:10:20 191

原创 JavaSE21——ArrayList

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。ArrayList中的元素可以通过索引访问,并且可以很容易地添加和删除元素。

2023-11-02 08:04:45 234

原创 JavaSE20——IO流

指的是将数据以字符或字节形式从外部媒介比如文件、数据库等读取到内存中。通过Java程序硬盘上的某个文件内容就需要使用输入流。指的是将内存中的数据写入外部媒介。通过Java程序将内容到硬盘上的某个文件就需要使用输出流。流(Stream)源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的 通信 ,或 读写 外围设备、外部文件等。

2023-10-30 19:17:12 161

原创 JavaSE19——file文件类

在 Java File 类是 java.io 包中唯一代表磁盘文件本身的对象File 类不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。

2023-10-30 08:45:57 623

原创 JavaSE18——接口

在Java中,接口是一种抽象数据类型,它定义了一组方法(没有方法体),但没有实现这些方法的具体代码。接口可以看作是一种合约,它规定了类应该具有的行为。类可以实现一个或多个接口,从而承诺实现接口中定义的方法。一方面,有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到。

2023-09-27 15:56:38 182

原创 JavaSE17——面向对象_多态

1、多态性基于继承和方法重写:通过继承,子类可以继承父类的属性和方法,并且可以根据需要重写父类的方法。这样,通过父类引用指向子类对象时,可以根据对象的实际类型来调用适当的方法。2、父类引用指向子类对象:通过父类或接口类型的引用变量,可以引用子类或实现类的对象。这样做的好处是可以统一处理不同类型的对象,提高代码的灵活性和可复用性。3、编译时类型和运行时类型:多态性的关键在于运行时的动态绑定。编译时,编译器只知道引用变量的类型是父类或接口,而不知道实际引用的对象类型。

2023-09-27 15:03:55 172

原创 JavaSE16——抽象类(Abstract Class)

使用abstract关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。修饰符 abstract 返回值类型 方法名 (参数列表);抽象类用关键字"abstract"进行声明:在Java中,通过使用关键字"abstract"来声明一个抽象类。抽象类不能被直接实例化,只能作为父类被继承。抽象方法和非抽象方法:抽象类可以包含抽象方法和非抽象方法。抽象方法:没有具体实现的方法,只有方法声明,没有方法体。抽象方法必须使用关键字"abstract"进行声明。

2023-09-27 10:09:20 667

原创 JavaSE15——面向对象_继承

单继承:Java是单继承的,一个类只能直接继承自一个父类。这意味着每个类只能有一个直接父类,但可以有多个间接父类(通过继承链的方式)。多级继承:通过继承链的方式,一个子类可以继承来自不同层次的父类。子类可以继承父类的成员变量、成员方法和构造方法。继承具有传递性:子类除了继承直接父类的成员,还会继续继承祖父类、曾祖父类等所有父类的成员,形成一条继承链。这样就可以在子类中访问和使用祖先类的成员。子类可以覆盖父类的方法:子类可以重写(覆盖)继承自父类的方法,以实现多态性。

2023-09-26 08:46:11 127

原创 JavaSE14——面向对象_封装

封装是面向对象的三大特征之一,面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性类:类是Java封装的基础,它是一种用户自定义的数据类型,用于描述具有相同属性和行为的对象。访问修饰符:Java提供了四种访问修饰符来控制对类、属性和方法的访问权限。其中,private。

2023-09-25 19:39:09 115

原创 JavaSE13——static、final关键字

当static修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作,因为该变量属于类,而不是某个对象。使用 static关键字修饰的成员变量。static 数据类型 变量名;现在想为每一位新来报到的同学编学号(sid),从第一名同学开始,sid为1,以此类推。学号必须是唯一的,连续的,这样以便知道,要分配给下一名新同学的学号是多少。

2023-09-25 14:58:28 66

原创 JavaSE12——面向对象_属性和方法

​ Java提供了4中访问控制符,代表4个访问控制级别。

2023-09-25 14:18:57 118

原创 JavaSE11——面向对象_类和对象

类(Class)和对象(Object)是面向对象的核心概念。类是对一类事物的描述,是抽象的、概念上的定义对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。将具有相同属性及相同行为的一组对象称为类。广义地讲,具有共同性质的事物的集合就称为类。在面向对象程序设计中,类是一个独立的单位,它有一个类名,其内部包括成员变量,用于描述对象的属性;还包括类的成员方法,用于描述对象的行为。在 Java 程序设计中,类被认为是一种抽象数据类型,这种数据类型,不但包括数据,还包括方法。

2023-09-25 08:10:52 116

原创 JavaSE10——数组

动态初始化,只指定数组的长度,由系统为数组的每个元素分配初始值;数组存储的数据类型[] 数组名字=new 数组存储的数据类型[长度];tips:数组的长度一旦指定,不能更改Java的二维数组是一个包含多个一维数组的数据结构。它可以被想象为一个表格或者矩阵,其中的每个元素都有一个对应的行索引和列索引。要创建一个二维数组,你需要指定行数和列数。你也可以使用初始化列表来初始化二维数组的元素。要访问二维数组中的元素,你需要使用两个索引,一个表示行索引,一个表示列索引。

2023-09-20 20:11:37 113

原创 JavaSE09——for循环,跳出循环

虽然所有循环结构都可以用 while 或者 do…while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。for循环执行的次数是在执行前就确定的。

2023-09-19 18:24:31 269

原创 JavaSE08——while语句

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,取决于循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句是由循环体及循环的终止条件两部分组成的。

2023-09-19 17:59:39 97

原创 JavaSE07——switch语句

switch 语句可以将多选一的情况简化,而使程序简洁易懂,在本节中,将要介绍如何使用 switch 语句以及它的好伙伴——语句;此外,也要讨论在 switch 语句中如果不使用 break 语句会出现的问题。首先,先来了解 switch 语句该如何使用。要在许多的选择条件中找到并执行其中一个符合判断条件的语句时,除了可以使用 if…else 不断地判断之外,也可以使用另一种更方便的方式即多重选择——switch 语句。

2023-09-19 07:38:07 130

原创 JavaSE06——流程控制_if

我们知道程序是从上往下依次执行的,但有的时候我们必须改变程序的执行顺序,如到达某个条件才执行某段程序,这样我们必须对程序的执行流程加以控制;在Java程序中,JVM默认总是顺序执行以分号;结束的语句。但是,在实际的代码中,程序经常需要做条件判断、循环,因此,需要有多种流程控制语句,来实现程序的跳转和循环等功能。程序从上到下逐行地执行,中间没有任何判断和跳转。根据条件,选择性地执行某段代码。有和两种分支语句。根据循环条件,重复性的执行某段代码。有三种循环语句。注:JDK1.5提供了。

2023-09-15 10:57:00 63

原创 JavaSE05——常用运算符

符号:=+=-=*=/=%=

2023-09-15 10:31:37 41

原创 JavaSE04——算数运算符

在Java中,运算符是一种用于执行基本操作的特殊符号。通过使用运算符,我们可以对变量和常量进行基本的数学、逻辑和关系操作。>=<===!&&||!+=-=*=/=?通过使用这些运算符,我们可以对变量和常量进行各种各样的操作,并且可以通过运算符优先级和结合性来确定运算符的执行顺序。需要注意的是,在进行运算时,需要保证操作数的数据类型一致,否则需要进行类型转换。总之,在Java中,运算符是程序员处理数据和执行基本操作的重要工具。了解各种运算符的概念和使用方法,可以帮助我们更加高效地编写程序。

2023-09-15 07:45:55 61

原创 JavaSE03——变量,基本数据类型

变量在程序语言中扮演了最基本的角色。变量可以用来存放数据,而使用变量之 前必须先声明它所预保存的数据类型。接下来,来看看在 Java 中变量的使用规则。在Java中,

2023-09-14 17:07:28 76

原创 JavaSE02——基本语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

2023-09-12 10:18:19 97

原创 JavaSE01——初识java,环境调试

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。

2023-09-11 08:40:26 230

原创 Mysql18——隔离级别案例演示

1中再次新增id为3的用户,新增失败。1中没有查询到id=3,但无法新增,再次查询依然没有id为3的数据,出现。窗口1的同一条sql语句,在窗口2 事务 未提交 、提交 ,查询到的数据是不同的,此时称之为不可重复读。在执行并发事务操作的时候,多个事务串联运行,只有当一个事务运行结束后,另一个事务才能运行。此时已经解决了不可重复读的问题,但是很明显,数据出现了。2中新增一个用户,id为3,并且提交事务,新增成功。1中查询id为3的用户,此时无数据。两个窗口同时开启事务。两个窗口同时开启事务。

2023-09-07 14:36:52 67

原创 Mysql17——事务隔离级别

事务隔离级别是数据库管理系统提供的一种机制,用于控制并发事务之间的相互影响程度。不同的隔离级别在保证数据一致性和并发性能之间做出了权衡。较低的隔离级别提供更高的并发性能,但可能导致更多的并发问题。较高的隔离级别提供更强的数据一致性,但可能降低并发性能。根据应用场景和对数据一致性要求的程度,可以选择适当的隔离级别。一个事务与其他事务隔离的程度称为隔离级别。数据库规定了多种事务隔离级别,不同隔离级别对应不同的干扰程度,隔离级别越高,数据一致性就越好,但并发性就越差。

2023-09-07 14:14:05 58

原创 Mysql16——事务简述

事务(Transaction)是一组数据库操作,这些操作被视为一个逻辑单元,要么全部成功执行,要么全部失败回滚。事务主要用于确保数据库操作的一致性和可靠性。事务本质就是一组SQL语句,理论上,事务本就不应该属于MySQL,而是应该在应用层上面,完成的一件事情,完成一系列相关操作的sql语句集合叫做事务。

2023-09-07 12:46:20 64

原创 Mysql15——聚合函数、分组函数

聚合函数作用于一组数据,并对一组数据返回一个值。聚合函数是数据库中用于对数据集进行计算和统计的函数。它们接受一组值作为输入,并返回一个聚合结果。聚合函数通常用于在数据库查询中进行汇总操作,例如计算平均值、总和、最大值、最小值等。

2023-09-06 19:57:52 439

ehcache.xml 二级缓存配置文件 xml

ehcache.xml Hibernate 二级缓存配置文件 xml

2017-05-26

hibernate-annotations jar包

hibernate-annotations jar包

2017-05-26

空空如也

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

TA关注的人

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