自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据湖架构

2021-08-26 11:41:04 117

原创 面试难题总结

基础部分常见shell命令常见HDFS命令序号命令命令解释1hdfs dfs -cat |wc -l查看下HDFS文件的行数2hdfs dfs -ls /查看当前目录信息3hdfs dfs -put /本地路径 /hdfs路径上传文件4hdfs dfs -get /hdfs路径 /本地路径下载文件到本地5hdfs dfs -mkdir /hello创建文件夹6hdfs dfs -rm /aa.txt删除hdfs文件7

2021-07-11 13:07:25 201

原创 hiveserver2经常挂掉

一般是默认堆空间过小导致的将hive(根路径下)/conf/hive-env.xml文件里增加一行配置更改堆大小为512mb或者以上

2021-03-31 10:33:23 2723 4

原创 hive关闭严格模式

关闭时慎重!!!不关闭会限制以下查询:1)带有分区的表的查询2)带有orderby的查询3)限制笛卡尔积的查询去hive(根路径)/conf/hive-site.xml下添加或更改strict为下面

2021-03-31 09:48:51 1151

原创 大数据中篇03_Flume

Flume定义:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单Flume基础架构Flume安装部署(1)将apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/software目录下(2)解压apache-flume-1.9.0-bin.tar.gz到/opt/module/目录下tar -zxf /opt/software/apache-flume-1.9.0-bin.tar

2021-02-09 20:09:56 1032 4

原创 大数据中篇04_Kafka

KafkaKafka是scala写的异步处理的消息队列kafka基础框架(1)Producer :消息生产者,就是向kafka broker发消息的客户端;(2)Consumer :消息消费者,向kafka broker取消息的客户端;(3)Consumer Group (CG):消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。(4)Broker

2021-02-09 20:07:22 185

原创 大数据中篇03_flume事务(重点!)

Flume事务(重点)Put 事务流程doPut:将批数据先写入临时缓冲区 putListdoCommit:检查 channel 内存队列是否足够合并doRollback:channel 内存队列空间不足,回滚数据Take 事务流程doTake:将数据取到临时缓冲区 takeList,并将数据发送到 HDFSdoCommit:如果数据全部发送成功,则清除临时缓冲区 takeListdoRollback:数据发送过程中如果出现异常,rollback 将临时缓冲区 takeList 中的数据归

2021-02-09 16:54:32 153

原创 大数据中篇01_Hive

HiveHive:由Facebook开源用于解决海量结构化日志的数据统计工具Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能本质是:将HQL转化成MapReduce程序(1)Hive处理的数据存储在HDFS(2)Hive分析数据底层的实现是MapReduce(3)执行程序运行在Yarn上Hive的优缺点优点(1)操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)(2)避免了去写MapReduce,减少开发人员的学习成本

2021-01-24 10:19:05 106

原创 大数据中篇02_Hive-数据操作语句

Hive-数据操作语句(陆续修改中)函数部分查看系统内置函数1)查看系统自带的函数hive> show functions;2)显示自带的函数的用法hive> desc function upper;3)详细显示自带的函数的用法hive> desc function extended upper;常用内置函数空字段赋值(NVL)函数说明NVL:给值为NULL的数据赋值,它的格式是NVL( value,default_value)。它的功能是如果value为NU

2021-01-22 22:40:20 149 1

原创 多态,接口,枚举

多态1.定义:同一种行为,具有多个不同的表现形式2.前提条件:必须继承或者实现,必须有的重写3.语法:父类的类名 对象名=new 子类的类名(实参列表);子类的对象指向父类的引用4.特性:一旦有多态,分区编译和运行(编译看左,运行看右)编译看左边:对象只能调用父类中存在的内容(子类独有的是调用不到的) 名义类型运行看右边:运行的时候看实际类型是什么?调用的内容是调用实际类型 实际类型属性和静态方法是没有多态的!因为:属性和静态方法是没有重写和概念的在调用属性和静态方法的时候,只看编

2021-01-16 17:56:12 154

原创 变量的分类和区别详解

变量的分类和区别详解1.变量按照数据类型分:1.基本数据类型的变量,里面存储数据值2.应用数据类型的变量,里面存储的是对象的地址值2.变量按照神明的位置不同1.成员变量2.局部变量3.成员变量与局部变量的区别1.声明的位置不同成员变量:类中的方法外局部变量:1.方法的()中,即形参2.方法体的{}的局部变量3.代码块{}中2.存储的位置不同成员变量:如果是在静态变量(类变量)中,在方法区中如果是在非静态变量(实例变量),在堆里局部变量:栈3.修饰符的不同成员变量:4种权

2021-01-16 17:55:42 1185

原创 反射

第16章 反射(Reflect)16.1 类加载类在内存中的生命周期:加载–>使用–>卸载16.1.1 类的加载过程当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、连接、初始化三个步骤来对该类进行初始化,如果没有意外,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载。类的加载又分为三个阶段:(1)加载:load就是指将类型的clas字节码数据读入内存(2)连接:link①验证:校验合法性等②准备:准备对应的内存(方法区),创建Class对象

2021-01-16 17:53:43 111

原创 文件与IO(File类与IO流)

文件与IO(File类与IO流)File类构造方法(这个用的多点)public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。构造举例,代码如下

2021-01-16 17:51:32 131

原创 网络编程

网络编程软件结构:C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、红蜘蛛、飞秋等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有IE、谷歌、火狐等。网络通信协议TCP/IP协议参考模型TCP/IP协议中的四层分别是应用层、传输层、网络层和链路层,每层分别负责不同的通信功能。链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、网线提供的驱动。网络层:网络层是整个TC

2021-01-16 17:51:02 170

原创 mapreduce之shuffle详解

FileInputFormat阶段切分的3数据片(也可根据需求生成多个MapTask来处理数据片,能够提高速度)map方法按行读取生成KV对MapTask阶段的Shuffle过程(所有MapTask是并行的)(1) Map方法执行的数据进入环形缓冲区,当数据达到80%时,溢写(2) 溢写到磁盘前对数据进行分区和区内排序 ,调用分区器进行分区(默认是Hash),对key进行排序,默认按字典顺序,采用的手段是快排,就是Collect收集阶段,(3) 溢写到了磁盘(这时只是临时文件,并没有真正落盘,因.

2021-01-16 17:47:18 318 1

原创 数据结构、集合、Collection 常用功能

数据结构、集合、Collection 常用功能、迭代器数据结构容器:数组–>集合顺序结构: 数组​ 空间是连续,有索引位置链式结构:​ 单向链表​ 双向链表​ 循环链表​ 二叉树 有大小序​ 红黑树集合集合:集合是java中提供的一种容器,可以用来存储多个数据。数组 --> 需要指定数据类型、数组需要指定长度集合 --> 可以不指定数据类型、也不需要指定长度、集合中只能存储对象(不能够存储基本数据类型)数组的长度是固定的。集合的长度是可变的。

2021-01-14 18:48:59 143

原创 泛型

泛型**泛型用在何处:**当我们在声明类或接口时,类或接口中定义某个成员时,该成员有些类型是不确定的,而这个类型在使用这个类或接口时可以确定,那么我们可以使用泛型。**泛型的好处:**可以有效的避免强转泛型如何使用:使用的类或者接口或者方法已经定义好泛型,我们才可以用!在使用该内容的时候,指定其具体类型:在实例化对象的时候,等号左侧的泛型需要指定,等号右侧可以省略泛型的具体类型不能是基本数据类型,只能是引用数据类型泛型是不存在多态的语法格式:(重点)【修饰符】 class 类名<类

2021-01-14 18:48:11 119

原创 反射

反射类加载类在内存中的生命周期:加载–>使用–>卸载类的加载又分为三个阶段:(1)加载:load就是指将类型的clas字节码数据读入内存(2)连接:link①验证:校验合法性等②准备:准备对应的内存(方法区),创建Class对象,为类变量赋默认值,为静态常量赋初始值。③解析:把字节码中的符号引用替换为对应的直接地址引用(3)初始化:initialize(类初始化)即执行类初始化方法,大多数情况下,类的加载就完成了类的初始化,有些情况下,会延迟类的初始化。类初始化1、哪些操

2021-01-14 18:47:40 79

原创 多线程

多线程并发与并行并行(parallel):指两个或多个事件在同一时刻发生(同时发生)。指在同一时刻,有多条指令在多个处理器上同时执行。并发(concurrency):指两个或多个事件在同一个时间段内发生。指在同一个时刻只能有一条指令执行,但多个进程的指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。线程与进程程序:为了完成某个任务和功能,选择一种编程语言编写的一组指令的集合。软件:1个或多个应用程序+相关的素材和资源文件等构成一个软件系统。进程:是指一个内存中运行的应

2021-01-14 18:47:12 94

原创 内部类、枚举、注解,单例模式

内部类、枚举、注解内部类概述1、什么是内部类?将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。2、为什么要声明内部类呢?当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,不在其他地方单独使用,那么整个内部的完整结构最好使用内部类。3、内部类都有哪些形式?根据内部类声明的位置(如同变量的分类),我们可以分为:(1)成员内部类:静态成员内部类非静态成员内部类(2)局部内部类有名字的局部内部类匿名的

2021-01-14 18:44:50 119

原创 类与对象、成员变量、成员方法

类与对象、成员变量、成员方法面向对象的基本特征:封装,继承,多态类和对象类:是一类具有相同特性的事物的抽象描述,是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。属性:就是该事物的状态信息。行为:就是该事物能够做什么。对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性和行为。类与对象的关系类是对一类事物的描述,是抽象的。对象是一类事物的实例,是具体的。类是对象的模板,对象是类的实体。类的定义

2021-01-14 18:44:19 2098

原创 可变参数、重载、方法参数传递、递归

可变参数、重载、方法参数传递、递归可变参数(即多个参数)格式:修饰符 返回值类型 方法名(【非可变参数部分的形参列表,】参数类型... 形参名){ }要求:(1)一个方法只能有一个可变参数(2)可变参数必须是形参列表的最后一个(3)其实这个书写“等价于”修饰符 返回值类型 方法名(【非可变参数部分的形参列表,】参数类型[] 形参名){ }代码演示:public class ChangeArgs { public static void main(String[] args) {

2021-01-14 18:43:48 130

原创 接口、匿名内部类

接口、匿名内部类接口概述一方面,有时必须从几个类中派生出一个子类,继承它们所有的方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。另一方面,有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有is-a的关系,仅仅是具有相同的行为特征而已。例如:鼠标、键盘、打印机、扫描仪、摄像头、充电器、MP3机、手机、数码相机、移动硬盘等都支持USB连接。接口就是规范,定义的是一组规则,体现了现实世界中“如果你是/要…则必须能…”的思想。继承是一个"是不是"的关系,而接口实现则是

2021-01-14 18:43:18 351

原创 继承、final、类初始化、实例初始化

继承、final、类初始化、实例初始化继承继承的理解继承:就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。继承的好处提高代码的复用性。提高代码的扩展性。类与类之间产生了关系,是学习多态的前提。继承的格式通过 extends 关键字,可以声明一个子类继承另外一个父类,定义格式如下:【修饰符】 class 父类 { ...}【修饰符】 class 子类 extends 父类 { ...}继承演示,代码如下:/* * 定义动物类Anim

2021-01-14 18:42:47 145

原创 封装、构造器、this、包

封装、构造器、this、包封装原则将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。属性封装的目的隐藏类的实现细节让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里面加入控制逻辑,限制对成员变量的不合理访问。可以进行数据检查,从而有利于保证对象信息的完整性。便于修改,提高代码的可维护性。实现步骤1.使用 private 修饰成员变量private 数据类型 变量名 ;代码如下:public class Student { private String n

2021-01-14 18:42:11 82

原创 单元测试、异常、包装类、

单元测试、异常、包装类、单元测试main方法(每个类中只能有一个)记住操作方法 (Maven) 不能创建输入入口,不能够启动线程@Test单元测试的注解所修饰的方法必须是公有的,所在的类也必须是共有的public class Demo2 {}@Test public void abc(){ System.out.println("单元测试");}概念:指的是程序在执行过程中,出现的非正常的情况,如果不处理最终会导致JVM的非正常停止。异常异常的体系结构

2021-01-12 22:07:56 192

原创 抽象类、多态、根父类

抽象类、多态、根父类抽象类定义抽象方法 : 没有方法体的方法。抽象类:被abstract所修饰的抽的类。抽象类的语法格式【权限修饰符】 abstract class 类名{ }【权限修饰符】 abstract class 类名 extends 父类{ }抽象方法的语法格式【其他修饰符】 abstract 返回值类型 方法名(【形参列表】);注意:抽象方法没有方法体抽象的使用继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象类。最终,

2021-01-12 22:07:25 174

原创 常用类

常用类和数学相关的类1、java.lang.Math之前介绍过了2、java.math包(1)BigInteger不可变的任意精度的整数。BigInteger(String val)BigInteger add(BigInteger val)BigInteger subtract(BigInteger val)BigInteger multiply(BigInteger val)BigInteger divide(BigInteger val)BigInteger remainde

2021-01-12 22:06:55 133

原创 static、数组工具类、项目二

static、数组工具类、项目二staticstatic是一个成员修饰符,可以修饰类的成员:成员变量、成员方法、成员内部类(后面讲)、代码块(后面讲)。被修饰的成员是属于类的,而不是单单是属于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。静态方法static修饰的成员方法,称为类方法、静态方法。语法格式:【其他修饰符】 static 返回值类型 方法名 (【形参列表】){ // 执行语句 }(1)在本类中,静态方法可以直接访问静态方法和静态变量。(2)在其他类中:可以

2021-01-12 22:06:31 63

原创 MySQL数据库

MySQL数据库重点:特别说明的类型如下:decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab 'varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'字符串text表示存储大文本,当字符大于4000时推荐使用对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径约束(主键和唯一,外键用drop

2021-01-12 22:05:47 184

原创 JDBC

JDBCJDBC使用步骤JDBC: :Java Database Connectivity,它是代表一组独立于任何数据库管理系统(DBMS)的API前提:JDK、数据库驱动包(各大数据库厂商对JDBC的实现的jar包)导包:(暂时)在模块中新建一个目录 lib将jar包赋值粘贴进去在jar包上右键,add as library操作步骤:1、加载驱动Class.forName("com.mysql.jdbc.Driver");//目的: 在驱动管理器中注册驱

2021-01-12 22:05:18 88

原创 大数据前篇04_HDFS详解

HDFSHDFS定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用。HDFS 优缺点优点(1) 高容错性​ (a) 数据自动保存多个副本。它通过增加副本的形式,提高容错性​ (b) 某一个副本丢失以后,它可以自动恢复(2

2021-01-12 21:50:36 238

原创 大数据前篇03_Hadoop入门_环境的搭建_运行模式

Hadoop入门Hadoop的优势:​ (1)高可靠性 (2)高扩展性 (3)高效性 (4)高容错性Hadoop的组成部分HDFS (数据存储)NameNode​ 管理真实数据块的元数据的,管理多个DataNode(大哥)DataNode​ 对真实数据块进行存储管理(小弟)SecondaryNameNode​ 是NameNode的助手,帮助NameNode完成一些事情MapReduce (数据的计算)Map阶段​ 就是把一个job分成多个task来并行计算执行Reduce阶段​

2021-01-12 21:44:34 158

原创 大数据前篇02_shell编程

shell编程bash和sh的关系:sh是通过 指向bash(解释器),bash负责解释shell命令给linux内核shell脚本入门脚本格式​ 脚本以#!/bin/bash开头(指定解释器)脚本的常用执行方式​ (1)采用bash或sh +脚本的相对路径或者结对路径(不用赋予脚本+X权限)sh+脚本的相对路径:[atguigu@hadoop101 datas]$ sh helloworld.sh 输出:Helloworldsh+脚本的绝对路径[atguigu@hadoop10

2021-01-12 21:41:20 126

原创 大数据前篇01_linux常见命令

linux常见命令常用指令. ls 显示文件或目录​ -l 列出文件详细信息l(list)​ -a 列出当前目录下所有文件及目录,包括隐藏的a(all). mkdir 创建目录​ -p 创建目录,若无父目录,则创建p(parent). cd 切换目录. touch 创建空文件. echo 创建带有内容的文件。. cat 查看文件内容. cp 拷贝.

2021-01-12 21:40:36 271

原创 python 函数-基础

定义函数定义一个函数def card_nums(): print("--1--") print("--2--")调用函数def card_nums(): print("--1--") print("--2--")card_nums()#此处为调用函数带参数的函数def nums_print(a,b): result = a + b print("%d+%d=%d"%...

2020-03-02 23:32:57 140

原创 python 循环遍历列表

(1)用 while(2)用 for由上可知一个for更方便些可以直接遍历列表

2020-03-02 23:08:30 211

原创 python 列表中append 和 extend 的区别

(1)append(2)extend

2020-03-02 21:54:16 106

原创 python 条件语句 循环语句 控制语句

if 条件语句#条件成立则输出if下的语句num = 100if num == 100 : print("haha")num1 = 2if num1 == 1 : print("---1---")#第一个判断如果不成立则向下走elif num1 == 2 : print("---2---")#以上都不成立,则执行最后这个不需要判断直接返回else: print("---...

2020-03-02 21:34:04 169

原创 Python 逻辑运算符

python 逻辑运算符包括 and , or , notPython中逻辑运算和数学中的逻辑运算是有区别的,返回的不一定就是布尔值。只有not一定会返回布尔值。另外要注意的就是:0、0.0、0L、0.0+0.0j、None、False、空字符串、空列表、空元组、空字典,视为False;非空视为True。python 逻辑运算符的优先级or < and <not...

2020-03-02 21:04:14 263

空空如也

空空如也

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

TA关注的人

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