教学
qq_2631218300
这个作者很懒,什么都没留下…
展开
-
Sqoop环境搭建
Sqoop环境搭建1、Sqoop安装安装Sqoop前提是已经具备java、hadoop、hive、zookeeper、hbase、mysql的环境未安装完全的可参考jdk安装hive和hbase安装hadoop安装zookeeper安装mysql安装2、下载并解压首先上传安装包到opt目录并解压然后改名tar -zxvf sqoop-1.4.6-cdh5.14.2.tar.gz mv sqoop-1.4.6-cdh5.14.2.tar.gz sqoop3、配置环境变量[roo原创 2020-09-26 14:40:02 · 179 阅读 · 0 评论 -
NoSQL综述及Apache HBase基础
NoSQL综述什么是NoSQL:NoSQL:not only SQL,非关系型数据库NoSQL是一个通用术语指不遵循传统RDBMS模型的数据库数据是非关系的,且不使用SQL作为主要查询语言解决数据库的可伸缩性和可用性问题不针对原子性或一致性问题为什么我们要使用NoSQL:互联网的发展,传统关系型数据库存在瓶颈高并发读写高存储量高可用性高扩展性低成本NoSQL和关系型数据库对比NoSQL的特点最终一致性应用程序增加了维护一致性和处理事务等职责冗余数据存储NoSQL !原创 2020-09-24 18:57:19 · 147 阅读 · 1 评论 -
Hive UDF开发流程
Hive UDF开发流程前提:保证maven工程可以正常创建并使用,并且下载相关jar包配置maven工程可参考https://editor.csdn.net/md/?articleId=108408011步骤简介:1、继承UDF类或GenericUDF类2、重写evaluate()方法并实现函数逻辑3、编译打包为jar文件4、复制到HDFS路径5、使用jar创建临时/永久函数6、调用函数示例:实现计算两个小时的时间差首先写出实现函数的java代码public class HourD原创 2020-09-22 17:36:03 · 269 阅读 · 0 评论 -
Apache Hive高级查询(1)
select基础select 用于映射符合查询条件的行hive select 是数据库标准的SQL的子集--使用方法类似于MySQLSELECT 1;SELECT [DISTINCT] column_nam_list FROM table_name;SELECT * FROM table_name;SELECT * FROM employee WHERE name!='Lucy' LIMIT 5;CTE和嵌套查询CTE (Common Table Expression)--CTE语原创 2020-09-19 10:42:39 · 97 阅读 · 0 评论 -
Apache Hive基础
Apache Hive基础Hive优势:提供了一个简单的优化模型HQL类SQL语法,简化MR开发支持在不同的计算框架上运行支持在HDFS和HBase上临时查询数据支持用户自定义函数、格式成熟的JDBC和ODBC驱动程序,用于ETL和BI稳定可靠(真实生产环境)的批处理有庞大活跃的社区Hive元数据管理记录数据仓库中模型的定义存储在关系数据库中默认是Derby,轻量级内嵌SQL数据库,Derby非常适合测试演示,存储在.metastore_db目录中实际生产一般储存在MySQL中,原创 2020-09-16 15:57:44 · 179 阅读 · 0 评论 -
Hbase和Hive安装
安装Hbase1、解压压缩包到opt目录下,改名为hbase2、配置环境变量:export HBASE_HOME=/opt/hbaseexport PATH=$ PATH:$HBASE_HOME/bin3、然后cd /opt/hbase/conf,在输入vi hbase-env.sh进入底部添加:export JAVA_HOME=/opt/java8(java8为你的jdk的文件名)export HBASE_MANAGES_ZK=true输入:set nu注释45 46 行4、输入vi h原创 2020-09-15 15:43:03 · 519 阅读 · 0 评论 -
Hadoop HA模式高可用搭建
Hadoop HA模式高可用搭建首先需要集群搭建,zookeepr安装配置,这些可以参考前面两篇博客再次基础上,对文件进行修改1、修改core-site.xml包括name集群的名称和zookeeper 2181地址2、修改hdfs-site.xmlnameservices集群下面的各个nameservice服务对应的映射rpc-address的地址9000http-address的地址50070journalnode的共享地址(各个datenode)qjournal://datano原创 2020-09-08 20:17:37 · 160 阅读 · 0 评论 -
Hadoop完全分布式搭建
Hadoop完全分布式搭建1、上传压缩包并解压到opt目录下,改名hadoop2、配置环境变量export HADOP_HAOME=/opt/hadoopexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIV原创 2020-09-08 16:02:06 · 153 阅读 · 0 评论 -
zookeeper集群的时间同步
一、下载安装zookeeper到opt目录下并改名为zkpr二、zookeeper配置1、配置环境变量vi /etc/profile加上export ZK_HOME=/opt/zkprexport PATH=$PATH:ZK_HOME/bin保存退出后source /etc/profile使其生效2、输入cd /opt/zkpr/conf修改zoo_sample.conf将其改名为zoo.cfg,然后vi zoo.cfg进行修改为(每一台机器都要修改)2、保存退出后在zkpr目录下创建原创 2020-09-08 15:01:38 · 426 阅读 · 0 评论 -
ELK(Elasticsearch,Logstash,Kibana)安装步骤详解
ELK(Elasticsearch,Logstash,Kibana)安装步骤详解1、下载好安装包elasticsearch-6.2.2.tar.gzelasticsearch-head-master.zipkibana-6.2.2-linux-x86_64.tar.gzlogstash-6.2.2.tar.gznode-v8.9.1-linux-x64.tar.gz2、将下载好的安装包移动到opt目录下,解压安装包并改名,最后将安装包删除,节约空间tar -zxvf elasticsearc原创 2020-09-04 18:01:22 · 332 阅读 · 1 评论 -
eclipse配置maven环境详细步骤解读
eclipse配置maven环境详细步骤解读下载压缩包,下载地址:http://maven.apache.org/download.cgi下载apache-maven-3.6.1-bin.tar.gz压缩文件夹到一个目录下配置环境变量鼠标移到此电脑,右键点击属性,点击高级系统设置,点击环境变量点击系统变量的新建,新建的内容如下图,变量名为MAVEN_HOME变量值为maven文件夹的位置双击path进入,后面加上 %MAVEN_HOME/bin;最后打开按windows+r原创 2020-09-04 17:34:13 · 224 阅读 · 0 评论 -
安装mysql
安装mysql1、上传mysql安装包到opt目录下2、下载依赖包并卸载冲突包yum install -y autoconfyum install -y perlyum install -y net-tools(下载时候直到底部出现complete)查询冲突包:rmp -qa | grep mariadb卸载冲突包:rpm -e 包名 --nodeps3、安装mysql客户端和服务端rpm -ivh 客户端包名rpm -ivh 服务端包名4、修改配置文件vi /usr/my.c原创 2020-09-04 14:18:47 · 85 阅读 · 0 评论 -
jdk安装步骤
jdk安装步骤1、首先在虚拟机上关闭和禁用防火墙,启用网络2、在根目录上创建一个software文件夹,在该目录下放我们要上传的jdk安装包,方便安装完成以后删除节约空间,在解压我们上传的安装包传到opt目录下,并改名3、配置环境变量输入vi /etc/profile在直接输入53gg直接定位然后退出保存,紧接着输入source /etc/profile最后输入 java -version,如果可以出来jdk版本则表示安装成功...原创 2020-09-03 17:19:14 · 223 阅读 · 0 评论 -
Logstash
安装Logstash环境Java8CENTOS 7$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.2.tar.gz$ tar -zxvf logstash-6.2.2.tar.gz -C/opt$ ln -s /opt/logstash-6.2.2/ /opt/logstash#验证安装$ /opt/logstash/bin/logstash --version配置语法配置文件结构输入input原创 2020-09-02 14:30:24 · 83 阅读 · 0 评论 -
使用JDBC操作数据库
使用JDBC操作数据库-概述思路分析使用JDBC操作新闻信息使用JDBC连接数据库使用JDBC增删改查数据使用配置文件保存数据库信息使用JNDI连接数据库学习方法JDBC操作数据库的步骤比较固定各接口、类和方法需要记忆,查询帮助文档可以帮助记忆示例:使用JDBC查询student表内容JDBCJava数据库连接技术(Java DataBase Connectivity),能实现Java程序对各种数据库的访问由一组使用Java语言编写的类和接口(JDBC API)组成,它们位于jav原创 2020-08-22 09:23:08 · 602 阅读 · 0 评论 -
mysql小结
mysql:数据库管理系统(dbms)库:储存数据的地方表:定义一种关系,用于数据与关系的对应视图:可以看作一个虚拟表,表结构和数据由定义的查询语句决定作用:提交代码重用性,安全,对外接口统一劣势:效率低下,在连表的基础上不能进行增删改触发器:增删改操作的条件触发作用:自动执行某些操作,减少流程劣势:定义时不校验触发语句的有效性insert:newdelete:oldupdate:new、old存储过程:相当于void方法,但是可以有出参,注重的是过程函数:相当于有返回值的方法,注原创 2020-08-20 18:07:36 · 87 阅读 · 0 评论 -
hive函数,rank(),dense_rank(),row_rank区别
hive函数,rank(),dense_rank(),row_rank区别rank():没有相同数字时候,该函数排序时按1,2,3…排序,但是遇到相同数时候,下一个会跳1,如1,2,2,4…dense_rank():没有相同数字时候,该函数排序时按1,2,3…排序,但是遇到相同数时候,下一个不会跳1,如1,2,2,3…row_rank():不管有没有相同数字,该函数只会按照1,2,3…排序示例:如下为一张成绩表输入SELECT score,rank() over (ORDER BY scor原创 2020-08-20 12:54:09 · 565 阅读 · 0 评论 -
使用DQL命令查询数据(三)
使用DQL命令查询数据(三)ORDER BY排序ORDER BY排序查询1、对SELECT语句查询得到的结果,按某些字段进行排序2、与DESC(降序)或ASC(升序)搭配使用,默认为ASCMySQL的LIMITLIMIT [m,]n 或 LIMIT n OFFSET m限制SELECT返回结果的行数m 制定第一个返回记录行的偏移量n 制定返回记录行的最大数目注意:m不指定则偏移量为0,从第一条开始返回前n条记录LIMIT 常用于分页显示示例:SELECT * FROM r原创 2020-08-19 19:55:41 · 122 阅读 · 0 评论 -
使用DQL命令查询数据(二)
使用DQL命令查询数据(二)LIKE模糊查询在WHERE子句中,使用LIKE关键字进行模糊查询与“%”一起使用,表示匹配0或任意多个字符与“_”一起使用,表示匹配单个字符#查询包含“数学”的所有课程SELECT * FROM subject WHERE SubjectName LIKE “%数学%”;#查询所有姓名为“李”三个字的学生信息SELECT StudentNo,StudentName FROM studentWHERE StudentName LIKE '李- -'使原创 2020-08-19 19:43:44 · 150 阅读 · 0 评论 -
使用DQL命令查询数据(一)
使用DQL命令查询数据(一)DQL语言DQL(Data Query Language,数据查询语言)查询数据库数据,如SELECT语句简单的单表查询或多表的复杂查询和嵌套查询数据库语言中最核心、最重要的语句使用频率最高的语句SELECT语法select [distinct] {*|字段列名} from table t[join table1 t1 on 关联条件] #联合查询[where 条件] #指定结果需要满足的条件[group by 分组字段] #指定结果按照那几个字原创 2020-08-19 19:07:09 · 125 阅读 · 0 评论 -
MySQL存储过程与UDF函数
存储过程与UDF函数存储过程与函数的相同点:都是一系列sql语句的集合,调用时一次性执行这些sql语句,与java中方法的概念类似都是对MySQL功能的扩展存储过程与函数的不同点:存储过程没有返回值,函数有一个返回值存储过程注重的是执行过程,函数注重的是返回值存储过程的定义存储过程语法:CREATE procedure 存储过程名 (参数列表)beginsql语句end;示例:create [or replace] procedure getInfo (in name varch原创 2020-08-19 18:38:24 · 214 阅读 · 0 评论 -
MySQL触发器、视图
MySQL 触发器定义触发器语法:create trigger 触发器名 before|after 事件 on 表名 for each row 触发器语句;1、触发器名建议为trigger_xxx,这样便于区分,触发器名不能重复。2、before|after 代表触发器语句执行时间,如果是before,就是在insert|delete|update操作之前执行触发器语句;after就是之后。3、事件就是insert delete update操作中的一个。4、for each row 是代表任何原创 2020-08-19 18:30:28 · 114 阅读 · 0 评论 -
MySQL事务、索引
MySQL的事务处理事务就是将一组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行MySQL事务处理只支持InnoDB和BDB数据表类型事务的特性事务必须具备以下四个属性,简称ACID 属性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)MySQL的事务实现方法SET AUTOCOMMIT使用SET语句来改变自动提交模式SET AUTOCOMMIT = 0; #原创 2020-08-18 19:49:47 · 129 阅读 · 0 评论 -
mysql数据管理
mysql数据管理DML(数据操作语言)用于操作数据库对象中所包含的数据:包括INSERT ( 添加数据语句 )UPDATE ( 更新数据语句 )DELETE ( 删除数据语句 )添加数据:INSERT命令INSERT INTO 表名【(字段1,字段2,…)】VALUES(‘值1’‘值2’…);字段或值之间用英文逗号隔开“字段1, 字段2…”该部分可省略,但添加的值务必与表结构数据列顺序相对应,且数量一致可同时插入多条数据,values 后用英文逗号隔开修改数据:UPDAT原创 2020-08-12 19:02:17 · 131 阅读 · 0 评论 -
初始mysql
启动mysql:service mysql start连接数据库语句:mysql -h服务器主机地址 -u用户名 -p密码结构化查询语句分类命令行操作数据库[]代表里面的内容可有可无创建数据库:CREATE DATABASE [IF NOT EXISTS] 数据库名;删除数据库:DORP DATABASE [IF NOT EXISTS] 数据库名;产看数据库:SHOW DATABASES;使用数据库:USE 数据库名;命令行操作表创建表:CREATE TABLE [IF NO原创 2020-08-12 09:29:12 · 148 阅读 · 1 评论 -
mysql安装教程
mysql安装1、上传安装包下载地址:http://dev.mysql.com/downloads/2、安装依赖包per,net-tools,net-tools,autoconfyum install -y peryum install -y net-toolsyum install -y autoconf3、卸载冲突包rpm -qa | grep mariadb(查询冲突的包)rpm -e 冲突的包 --nodeps4、安装mysql先安装客户端client再安装服务端server原创 2020-08-10 08:17:19 · 109 阅读 · 0 评论 -
Quicksort(快速排序法)
Quicksort(快速排序)快速排序步骤:1、从数列中挑出一个元素,称为 “基准”(pivot);2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;3、递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序;实现的代码如下:public class Quicksort {public static void quic原创 2020-07-29 19:27:01 · 290 阅读 · 0 评论 -
面向对象知识点小总结
面向对象(what、when、where、why、whom,how)类与对象的关系:类是对象的抽象,对象是类的实现类是由方法和属性构成,它的每一个对象都有对应的属性和方法方法:方法的重载:目的:针对同一个行为的多种表现,对应相同方法名的多个方法方法名相同,参数列表不同类方法(static方法)类名. 方法名()封装:保护属性值不被随便修改私有化属性,并提供getter,setter对外借口继承:代码重用、多态的基础extends关键字默认的根类是Object,单根继承方法的原创 2020-07-27 19:59:34 · 89 阅读 · 0 评论 -
异常
异常异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序。什么是异常处理:java编程语言使用异常处理机制为程序提供了错误处理的能力。程序中预先设置好对付异常的处理办法,在程序运行时侯如果出现异常,会对异常进行处理,处理完毕后程序继续运行。java中如何进行异常处理:Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws捕获异常:try:执行可能产生异常的代码catch:捕获异常finally:无论是否发生异常,代码总原创 2020-07-26 16:40:09 · 111 阅读 · 0 评论 -
抽象类和接口
抽象类定义:抽象就是从多个事物中将共性的,本质的内容抽取出来。回顾一下代码public abstract class Pet { 抽象类public abstract void toHospital() ; 抽象方法}抽象类vs普通类抽象类不能被实例化但可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例抽象方法vs普通方法有无方法体抽象类与抽象方法的使用抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类如果子类没有实现父类的所有抽象方法,子类必须原创 2020-07-23 19:16:05 · 57 阅读 · 0 评论 -
封装与继承
1、封装的概念将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问把尽可能多的东西藏起来,对外提供便捷的接口封装的大致原则:把所有属性藏起来2、如何实现封装1、修改属性的可见性(设为private,防止错误的修改)2、创建共有的getter/setter方法(属于属性的读写)3、在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断)3、封装的好处1、便于使用者正确使用系统,防止错误修改属性2、有助于系统之间的松耦合原创 2020-07-21 18:48:04 · 85 阅读 · 0 评论 -
java-方法与方法重载
1、带参数的方法定义代参数的方法<访问修饰符>返回类型<方法名>(形式参数列表){//方法的主体}调用参数的方法对象名.方法名(参数1,参数2,…,参数n(实参列表))带参数的work()方法可以接受用户输入的内容。创建work()方法时定义的参数叫做形式参数,简称形参。调用方法时传入的参数叫作实际参数,简称实参。常见错误:调用方法时不能指定实参类型形参和实参数据类型不一致!数量也要一致!2、方法传参基本数据类型和引用数据类型数据传参时区别基本数据类型做参数原创 2020-07-20 18:31:45 · 110 阅读 · 0 评论 -
java面向对象
面向对象基本概念:1、面向对象Java语言是一种面向对象的语言。要使用Java进行面向对象的编程,程序设计方法,它比较符合人类认识现实世界的思维方式。其是把问题看成是由若干个对象组成,这些对象之间是独立的,相互配合、连接和协调,从而共同完成整个程序要实现的任务面向对象的三大特征:封装、继承和多态。2、对象对象是用来描述客观事物的一个实体。用面向对象方法解决问题时,要对现实世界中的对象进行分析与归纳,找出哪些对象与要解决的问题是相关的。宝马跑车、奔驰轿车、保时捷跑车,虽然这儿个跑车都是对象的特征。具原创 2020-07-18 13:57:03 · 64 阅读 · 0 评论 -
冒泡排序和二维数组
冒泡排序:这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。冒泡排序需要用到双循环来进行操作主要步骤(升序为例):1、首先我们需要定义循环的次数,循环次数为数组的长度减去12、在内循环里边进行循环比较过程,如果前一个数字比后一个数字大,那么交换这两个数字的位置3、如果前一个数字比后一个数字小,那么位置不变主要代码如下: for (int i = 0; i < a.length-原创 2020-07-15 18:57:26 · 365 阅读 · 0 评论 -
基本排序算法——插入排序和选择排序
插入排序逻辑:1、从第二位开始,向前比较,进入插入逻辑2、如果遇到比自己大的,大的值就后移3、如果遇到比自己小的,就在其后方插入4、如果一直没有插入,就放在首位主要代码如下:public class Demo6 {public static void main(String[] args) {//从第二位开始,向前比较,进行插入逻辑int[] a={1,3,2,5,8,4};for (int i = 0; i < a.length; i++) {int tmp=a[i];boo原创 2020-07-14 19:31:28 · 182 阅读 · 0 评论 -
多重循环的简单实例
1、左下方直角三角形主要代码:for (int i = 1; i <6 ; i++) { //外层循环,控制三角形的行数for (int j = 1; j <=i; j++) { //内层循环,控制三角形每一行星星的数量System.out.print("");//}System.out.println();//外层循环每完成一次实现换行}同理,左上方直角三角形的主要代码如下:for (int i = 1; i < 6; i++) {for (int j原创 2020-07-13 18:41:55 · 442 阅读 · 0 评论 -
流程控制——多重循环和跳转语句
多重循环指一个循环语句的循环体中在包含循环语句,又称嵌套循环。循环语句内可以嵌套多层循环。同时,不同的循环语句可以相互嵌套循环。多重循环语句的语法格式如下:while(循环条件1){循环语句1 for(循环条件2){循环语句2}}一、 这是while语句和for语句嵌套的例子。其中while循环称为外层循环,for循环称为内层循环,因为是两层循环,所以称之为二重循环二、该二重循环的执行过程是外层while循环执行一次,内层for循环从头到尾的执行一遍。注意:1、代码缩进可以体现不同层次原创 2020-07-11 16:48:30 · 332 阅读 · 0 评论 -
流程控制——循环语句
java中的循环控制语句由while循环、do-while循环、for循环等。循环结构的特点是在给定成立条件下,反复执行某段程序,直到条件不满足为止中止循环。 循环语句的主要作用是反复执行某一段代码,知道满足一定的条件为止。可以把这个循环分成三个部分: 1、初始部分:设置循环的初始状态 2、循环体:重复执行的代码 3、循环条件:判断是否继续循环的条件,如使用"i<100"判断循环次数是否达到100次一、while循环while语句流程图while语句执...原创 2020-07-10 08:56:51 · 396 阅读 · 0 评论 -
流程控制——选择结构——if语句
选择结构:选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可以细分为单分支结构、双分支结构和多分支结构。java提供了if控制语句、switch语句来实现选择结构。首先,if控制语句有三种不同的形式,分别是单分支结构、双分支结构、多分支结构。一:if单分支结构执行步骤为:1、对表达式的结果进行判断2、如果结果为真,则执行该语句3、如果结果为假,则跳过该语句注意:if语句由条件表达式和紧随其后的语句组成。如果表达式后方有多个语句,必须要用花括号把所有语句包括起来。即:if(表达式)原创 2020-07-09 08:24:29 · 427 阅读 · 0 评论 -
使用Scanner类进行简单程序编写
商场为员工提供了基本工资、物价补贴及房租补贴。其中物价津贴为基本工资的0.4,房租津贴为基本工资的0.25.要求从控制台输入基本工资,并计算出员工薪水。输出结果图如下所示:程序如下:import java.util.Scanner; //导入Scanner类public class Test1 {public static void main(String[] args) {int a; //基本工资System.out.println(“请输入基本工资”);S原创 2020-07-07 19:53:30 · 332 阅读 · 0 评论