自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020.9.25HBase优化之Hbase API及Phoenix安装简介

一、java api操作HBase的1.创建maven项目并添加依赖<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>1.2.0</version></dependency><!-- https://mvnrepository.c...

2020-12-21 19:54:39 345

原创 2020.9.24hbae 基本命令

一、HBase概述1.定义:HBase是一个领先的NoSQL数据库:是一个面向列存储的数据库,一个分布式hash map基于Google Big Table论文,使用HDFS作为存储并利用其可靠性2.HBase特点数据访问速度快,响应时间约2-20毫秒支持随机读写,每个节点20k~100k+ ops/s可扩展性,可扩展到20,000+节点3.发展历史 时间 事件 2006年 Google发表了关于Big..

2020-12-21 19:47:29 418

原创 2020.9.24NoSQL综述

1.含义(1)NoSQL:not only SQL,非关系型数据库(2)NoSQL是一个通用术语 指不遵循传统RDBMS模型的数据库 数据是非关系的,且不使用SQL作为主要查询语言 解决数据库的可伸缩性和可用性问题 不针对原子性或一致性问题2.NoSQL优点 高并发读写,高存储量,高可用性,高扩展性,低成本3.NoSQL和关系型数据库对比 对比 NoSQL 关系型数据库 ...

2020-12-21 19:30:41 116

原创 2020.9.20hive优化以及数据倾斜

一、EXPLAIN(执行计划)基本语法EXPLAIN [EXTENDED | DEPENDENCY | AUTHORIZATION] query示例演示:(1)查看下面这条语句的执行计划hive (default)> explain select * from emp;hive (default)> explain select deptno, avg(sal) avg_sal from emp group bydeptno;(2)查看详细执行计划hiv

2020-12-17 18:49:23 182

原创 2020.9.19hive函数和自定义UDF函数

一、hive函数的使用1.hive函数分类(1)从输入输出角度分类标准函数:一行数据中的一列或多列为输入,结果为单一值聚合函数:多行的零列到多列为输入,结果为单一值表生成函数:零个或多个输入,结果为多列或多行(2)从实现方式分类内置函数:输入 show functions展现内置函数desc function extended 函数名:可详细展示函数的源码 标准函数:字符函数、类型转换函数、数学函数、日期函数、集合函数、条件函数 聚合函数 表生...

2020-12-17 18:45:42 175

原创 2020.9.19 zepplin安装并与hive连接

1.解压将工具解压到opt目录下tar -zxvf zeppelin-0.8.1-bin-all.tgz -C /opt2.将解压后的zepplin改名mv zeppelin-0.8.1-bin-all/ zpln3.修改zepplin配置文件(1)进入zpln的conf目录下cd /opt/zpln/conf(2)修改xml文件mv zeppelin-site.xml.template zeppelin-site.xmlvi zeppelin-site.xml修

2020-12-17 18:40:23 203

原创 2020.9.18.hive窗口函数

1.简介 窗口函数又名开窗函数,属于分析函数的一种,用于解决复杂报表统计需求的功能强大的函数。窗口函数用来计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化。 2.准备数据saml,2018-01-01,10tony,2018-01-02,15saml,2018-02-03,23tony,2018-01-04,29saml,20.

2020-12-17 18:36:36 180

原创 2020.9.17hive基础命令以及hive高级命令

一、hive基础命令前提:SELECT用于映射符合指定查询条件的行 Hive SELECT是数据库标准SQL的子集1.hive建表高阶语句:(1)CTAS-->AS SELECT建表create table ctas_employee as select * from employee;CTAS不能创建partition,external,bucket(2)CTE建表注这里连接的r1和r3查询的字段要相同create table cte...

2020-12-17 17:38:52 1831

原创 2020.9.16hive基础

目录一、hive1.定义2.历史和版本:3.Hive的优势和特点4.Hive元数据管理5.Hive体系架构6.命令窗口模式7.进入交互模式二、hive命令1.创建数据库2.删除数据库2.加载文件(对所有表通用)3.库级操作4.表级操作(1)建表步骤:(2)创建带有分区的表(3)创建外表(4)创建表并分桶(2).查询:1.查看表2.查看表结构3.查看表中具体内容​三、补充:一、hive1.定义基于Ha.

2020-09-16 23:07:07 429

原创 2020.915yarn基本结构和zookeeper基本结构

目录一、yarn基本结构1.YARN(Yet Another Resource Negotiator)核心思想:是将资源管理和任务的监控和调度分离2.YARN的基本架构核心组件三、YARN的工作机制四、yarn应用五.补充:六、Zookeeper1.简介:2.Zookeeper数据结构3.ZooKeeper客户端命令4.Zookeeper角色5.ZooKeeper选举机制6.总结:一、yarn基本结构1.YARN(Yet Another Resou

2020-09-15 19:15:41 156

原创 2020.9.14Hbase单机模式安装和hive的安装

目录一、HBASE安装和运行1.先将hbase解压2.进入conf目录分别修改两个文件3.最后配置环境变量4.先打开hadoop二、HIVE安装和运行1.解压2.在hive目录下建起一个目录3.配置环境变量4.修改和新建hive文件(1)cd hive/conf(2)增加三条路径:(3)vi hive-site.xml5.将hive的lib目录下6.在mysql里面创建一个hive数据库,退出后,初始化:7.运行hive:hive一、HBA

2020-09-15 19:10:26 132

原创 2020.9.10MapReduce原理及编程

目录1.MapReduce实现WordCount2.MapReduce原理概览:3.MAP端join4.reduce端jion5.补充:前景提要:打开idea,选择maven,搜索quickmaven内容:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001.

2020-09-15 19:02:54 136

原创 2020.9.9大数据概况及Hadoop概况和生态系统

一、Hadoop概述1.大数据的定义:大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。2.大数据特征:4V特征:(1)Volume(大数据量):90% 的数据是过去两年产生(2)Velocity(速度快):数据增长速度快,时效性高(3)Variety(多样化):数据种类和来源多样化 1`结构化数据、半结构化数据、非结构化数据(4)Value(价值密度低):需挖掘获取数据价值固有特征:时效性、不可变性4.新老分布式计算比...

2020-09-10 10:44:31 205

原创 2020-09-07zookeeper的安装和集群时间同步

一、配置集群的时间同步:1.三台虚拟机同时安装ntp可以先查询是否安装ntprpm -qa | grep ntp若存在则: yum -y remove 文件名yum install -y ntp2.vi /etc/ntp.conf(三台虚拟机都需)添加内容restrict 当前ip地址 nomodify notrap nopeer noquery修改内容:restrict 192.168.183.1 mask 255.255.255.0 nomodify notrap

2020-09-07 17:36:01 161

原创 2020.9.7hadoop集群创建

1.克隆主机生成两个虚拟机2.分别给两个虚拟机改名hostnamectl set-hostname hadoop002hostnamectl set-hostname hadoop0033.三台机器互相添加互信主机:cat .ssh/id_rsa.pub > .ssh/authorized_keysssh-copy-id -i .ssh/id_rsa.pub -p22 root@hadoop002ssh-copy-id -i .ssh/id_rsa.pub -p22 r

2020-09-07 17:34:36 76

原创 2020.8.31shell脚本

脚本编程Bash Shell1.每一个shell要有头的定义,正常的是#!/bin/bash2.打印:echo '要打印的东西'3.三种调用方式:定义好的脚本需要加权限 : chmod +x 脚本路径(1)路径调用:如果在当前目录,则使用./test.sh否则:绝对路径/test.sh(2)普通脚本执行:sh 脚本路径(3)指定/bin/bash shell 执行:/bin/bash test.sh注意:./test.sh 相当于 /bin/...

2020-08-31 23:48:51 337

原创 20208.25Linux常用命令

一、目录命令1.增加目录(1).mkdir /路径/目录名:mkdir test:创建test文件目录mkdir /usr/local/test:绝对路径下创建test(2).递归创建目录: mkdir -p test/java/javaEE2.删除目录 Rmdir /路径/目录名3.改变目录(1).复制:cp 原路径 新路径(2).cp -rf /usr/local/test /usr/local/test1:将test文件复制到test1文件中 当目录...

2020-08-25 20:08:33 211

原创 2020.8.22JDBC原理以及Dao分层

1.JDBC访问数据库步骤public class BaseDao{public connection getConnection(){//加载驱动:Class.forName("com.mysql.jdbc.Driver");String url="jdbc:mysql:192.168l.183.31/数据库名;//驱动管理获取连接Connection connection=DriverManager.getConnection(url,"用户名","密码");retu

2020-08-22 17:13:18 129

原创 2020.8.20触发器,视图,函数,存储

1.触发器:定义:触发器用来在某些操作时,“自动” 执行一些操作。当insert delete update设置触发器之后,执行insert delete update操作就会自动触发设置的内容。触发器的创建:create trigger 触发器名称 after|before insert|delete|update on 表名for each rowbegin触发器语句;触发器语句…end语法详解:1.触发器名建议为trigger_ XXx, 这样便

2020-08-20 11:40:23 124

原创 8.18 MySQL事务、索引、数据恢复和备份

事务处理1.MySQL事务处理事务就是将一-组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行A注意.◆MySQL事务处理只支持InnoDB和BDB数据表类型2.事务的ACID原则原子性(Atomic):事务整体实行一 致性(Consist):事务执行错误就一起错误隔离性(Isolated):事务处理之间互不影响持久性(Durable):事务一旦被提交,永久性被改变3.MySQL的事务实现方法START TRANSACTION■开始一个事

2020-08-18 23:16:09 86

原创 2020.8.17DQL查询数据

select[distinct]{|column_name[as 别名][,…]from table_name[as 别名]1所有的列:select * from 表名;2查询指定列:select 字段,字段 from 表名;3.as可用,可不用,查询多个表的时候,每个表都要有别名;4.取别名:select 字段 as 别名,字段 as 别名 from 表名 as 别名;注意:取别名并不会影响到原表中的字段名;使用as, 为查询结果取一个新名字5.select concat(‘姓名:’,st

2020-08-17 23:12:43 72

原创 2020.8.12MySQL数据库数据管理

创建外键:方法一:创建子表的同时创建外键:方法二:创建子表完毕后,修改子表添加外键:2.删除外键:删除具有主外键关系的表时,要先删除子表,后删除主表删除外键:删除外键的同时,删除外键的索引ALTER TABLE student DROP FOREIGN KEY PK_gradeid;ALTER TABLE student DROP INDEX PK_gradeid;2.1查询哪里有外表:打开infromation_schema输入:SELECT * FROM KEY_COLUMN_.

2020-08-12 22:50:33 127

原创 2020.8.12初始Mysql

1.CREATE DATABASE IF NOT EXISTS XXX;//创建数据库2.USE school;//使用某个数据库3.DROP DATABASE IF EXISTS school;//删除数据库;另一种:右键root,新建数据库右键创建好的数据库,可以选择删除数据库注:utf8:适合中文utf8_general_ci:不区分大小写SHOW CREATE DATABASE school;#查看数据库的定义SHOW CREATE TABLE student;#查看数据表的定义查

2020-08-12 22:49:23 96

原创 2020.8.5多线程

线程1.继承Thread类创建线程(1)定义MyThread类继承Thread类(2)重写run()方法,编写线程执行体(3)创建线程对象,调用start()方法启动线程启动线程是否可以直接调用run()方法?–不可以(1)只有主线成一个执行路径(2)依次调用了连词run()方法(3)run()方法被当做main()中的普通方法执行,失去了线程的意义调用start(),是多条执行路径,主线程和子线程并行交替执行2。实现Runnable接口...

2020-08-05 23:40:27 99

原创 2020.8.4输入和输出(二)

1.字符输入流:2.处理中文乱码问题:原因:idea中文件格式与文档格式不相匹配方法一:更改文档格式或者更改idea文件格式方法二:创建Reader类,调用子类InputStreamReader子类将idea文件格式更改为与文档格式相同3.BufferReader类多个流关闭的时候,遵循先开后关4.字符输出流:OutputStreamWriter-FileWriterpublic class FileWriterDemo {public static void main(String[

2020-08-04 23:18:54 103

原创 2020.8.3输入输出流(一)

输入、输出处理(一)Java输入输出是站在程序角度上看java.io.File类用于操作文件和目录File类常用方法:绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,从盘符出发,找到文件。相对路径:从当前的位置出发找到文件。流:通过流来读写文件。流是一组有序的数据序列,以先进先出方式发送信息的通道Java流的分类:InputStream类常用方法:(抽象基类)int read():从输入流一个字节一个...

2020-08-03 23:11:34 149

原创 2020.8.3实用类(二)

1.Sting类位于java.lang包length(),返回字符串中的字符数,是int型2.字符串对象创建的问题(1)对象都在字符串池中,且是同一个(2)第一个已经,在字符串池中创建了hello,所以第二个不会在字符串池中重新创建,但是会在堆中重新创建,并且s2也指向堆中的对象(3)因为字符不一样所有s1,s2分别都在字符串池中创建一个字符串。s2还在堆中重新创建了一个对象。3.equalsIgnoreCase():只比较字符串内容,不区分大小写toLowerCase():)将括号中

2020-08-03 23:10:24 64

原创 2020.7.30实用类介绍(一)

实用类(一)枚举:由一组固定的常量组成的类型public enum Genders{Male, Female }public class Student{public Genders sex;}Student stu=new Student();stu.sex=Gender.Male;stu.sex=“你好”//此时就会报错优点:类型安全,易于输入,代码清晰包装类及其构造方法1.包装类把基本类型数据转换为对象2.每个基本类型在j...

2020-07-30 18:54:32 157 1

原创 2020.7.29集合框架和泛型

集合框架和泛型1.Collection接口存储一组不唯一,无序的对象(1)List接口存储一组不唯一,有序(插入顺序)的对象1.总结:■ArrayList长度可变的数组遍历元素和随机访问元素LinkedList链表存储方式插入、删除元素public class NewsTitle {private int id;private String title;private String author;public NewsTitle(){}public NewsTitle(int

2020-07-29 23:39:23 92

原创 面向对象知识点回顾(全)

1.什么是类?类是具有相同属性和方法的一组对象的集合,类是对象的抽象,而对象是类的实例。例如:人类分为学生类,教师类,学生类又能分成一个个具体有姓名,学号的学生。类具有属性和方法,而类无法直接使用方法,需要创建一个实例对象,去给对象增加,给属性附加具体的值,并调用具体的方法创建对象 类名 对象名=new 类名();方法:普通方法,构造方法,和静态方法普通方法:访问修饰符(public、protect、private)返回值类型 方法名(有参/无参){代码块;}访问修饰符不同,调用方

2020-07-28 23:45:59 257

原创 冒泡排序,选择排序,插入排序

冒泡排序算法思想,双重循环,每轮内层,将当前数字小的/大的数字,放在最后面外层循环小于a.length次,内层循环小于,a.length-i-1,详细代码如下图![在这里插入图片描述](https://img-blog.csdnimg.cn/2020072518115177.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20...

2020-07-28 23:45:38 68

原创 2020.7.24异常

Throwable:错误根类异常ExceptipnError:错误(无法恢复)Exception:异常:处理之后能正常运行1.确定会发生的异常的情况:CheckedException:提前处理2.不确定:Runtime运行期异常:RuntimeException:遇到后在解决常见的异常类型:算数异常:ArithmeticException空指针异常:NullPointerException数组越界异常:ArraysIndexOutOfBoundsException索引越界异常:In

2020-07-24 23:13:48 78

原创 2020.7.24抽象类接口及注意事项

一、接口接口中所有的方法都是公共的抽象方法1.接口不可以有构造方法,不能被实例化public interface 接口名{public abstract void 方法名()default void 方法名()}2.实现类必须实现接口的所有方法,除非这个类是抽象类3.接口中的成员变量默认都是 public static final,必须显式2.当实现类的连个父接口中有同样的默认方法时解决方案1.子类重写覆盖父接口的默认放法解决方法2.子类通过super指定调用哪个父接口的默认方法接口

2020-07-24 23:12:55 85

原创 20207.23方法重写与抽象多态

一、 方法的重写或方法的覆盖:1.子类根据需求对父类继承的方法进行重新编写2.重写时,可以用super.方法的方式来保留父类的方法注意:构造方法无法被重写!!!3.方法重写规则:在继承的情况下,子类的方法满足以下条件:1.方法名相同,参数列表相同2.返回值类型相同或者是其父类返回值的子类3.父类的静态方法不可被重写为非静态方法,反之父类的非静态方法也不能改写为静态方法。4.子类无法重写父类的私有方法4.方法重写和方法重载的区别:3.访问权限不能小于于父类 方法4.抛出的异常不能多于父类

2020-07-23 11:43:04 126

原创 2020.7.21继承和封装

一、封装:保护属性,开一个出口以供使用两大原则:1.把所有的属性藏起来2.把尽可能多的东西藏起来,对外提供便捷的接口三、包:访问修饰:public: 全工程可见private:仅自己可见protect :子类继承的时候使用:包级私有+子类默认修饰符:包级私有:当前类所在的包中可见实例方法可以调用实例方法,静态变量,静态方法,实例变量调用静态方法,用类名.方法名()来调用,往往用来做工具方法,例 如:Arrays 静态方法不能用this, super,也不能调用实

2020-07-21 23:46:54 57

原创 2020.7.20方法与方法重载

方法与方法重载1.方法的结构:[访问修饰符] 返回值类型 方法名([参数列表]){代码;return 具体的返回值类型;}2.参数:基本类型做参数时,传递的是值,不能出方法的范围引用数据类型做参数时,传递的是地址,可以影响方法外部特殊:String 做参数时,等同于基本数据类型一旦有了有参构造,默认无参构造失效,无参构造必须写出来虚拟机(对象创建)工作原理由类加载器,调用构造方法,如果没有构造方法,则使用Object类的默认 3.构造方法:默认每一个类都有一个无参构造如果该类有了

2020-07-20 23:08:53 52

原创 2020.7.20认识类和对象

1.对象是由静态特征和动态特征构成的静态特征:属性动态特征:方法2.类是具有相同特征的对象的集合(抽象)对象是实体类是对象的抽象。对象是类的具体实现面向对象分为:OOA\OOP\OOD3.方法:无返回值的时候关注的重点是过程->存储过程有返回值的时候关注的重点是结果->函数无参方法的格式:无返回值:[访问修饰符类型] void 方法名(){代码;}有返回值是:[访问修饰符类型] 返回值类型 方法名(){return;代码;}4.方法的调用:无参方法直接用 对

2020-07-20 22:32:31 52

原创 2207.16吃货联盟设计大纲和全部代码

吃货联盟项目数据主体:1.我要点餐:姓名、菜名(提前预置)、时间(10-20)、地点2.查看餐袋(订单)编号、编号名、分数、总价、地址、状态3.签收订单4.删除订单5.点赞菜品信息编号 菜品名、单价、点赞数、流程控制注意:字节是占八位字符是双字节占16位import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;import java.util.Scanner;@Description 吃货联盟/pu

2020-07-16 22:54:50 205

原创 2020.7.15一维数组的部分算法以及冒泡排序以及Array的应用

1.从有序数组中,插入一个数:先扩容,再新建一个比原数组多一个长度的数组,把原数组中的数据对应赋值到新数组中,从倒数第二位开始从后向前遍历,与要插入的数依次比较:不满足原先顺序的,向后移动满足原先顺序的,再该值后方插入如果一直没有插入,则插在首位2.插入排序逻辑外层循环从首位到末尾-1的位置内层与插入的逻辑相同3.选择排序的逻辑外层循环从首位向后,来控制要确定的位置内层循环从外层循环的位置下一位开始,向后遍历外层循环的位置和内层循环的位置的值相互比较内层循环找出最大的值放到外层循环此时

2020-07-15 21:24:32 191

原创 20207.14 一维数组、插入排序和选择排序算法及代码

一、一维数组的定义:数组是一个变量(引用类型)存储相同数据类型的一组数据标识符—数组名(变量名)数组元素–(地址、元素)值元素下标–索引元素类型–类型如下图:注意:数组长度固定不变,避免数组越界快捷方法:for(int a: scores)2.数组范围内:增:数组的定义、赋值删:程序运行结束改:对数组元素的重新赋值,或者地址改变查:查看数组的地址和元素的值3.长度范围外的:长度要变化(新的数组)增:元素个数的增加删:元素个数的减少改:修改其中的元素二、插入排序算法思想:

2020-07-14 19:53:56 527

空空如也

空空如也

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

TA关注的人

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