自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 String.equals与Objects.equals

一.值为nulla.equals(b),a 是 null,抛出 NullPointerException(空指针异常) 异常a.equals(b),a 不是 null,b 是 null,返回 falseObjects.equals(a,b) ,若 a 和 b 都是 null ,则返回 true ,如果 a 和 b 其中一个为 null ,另一个不是 null 则会返回 false 。(此处不会抛出空指针,原理在最下面) // 利用 变量或者常量 直接 equals null.equals("

2021-04-12 13:53:49 1244 1

原创 Java 概述

什么是Java?Java是Sun Microsystems于1995年首次发布的一种编程语言和计算平台。编程语言还比较好理 解,那么什么是计算平台呢?计算平台是在电脑中运行应用程序(软件)的环境,包括硬件环境和软件环境。一般系统平台 包括一台电脑的硬件体系结构、操作系统、运行时库。Java是快速,安全和可靠的。从笔记本电脑到数据中心,从游戏机到科学超级计算机,从手机到互联 网,Java无处不在! Java主要分为三个版本JavaSE(J2SE)(Java2 Platform Stand.

2020-07-31 18:27:35 361

原创 HashMap的灵魂21问

1.HashMap 的数据结构哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点,当链表长度超过8时,链表转换为红黑树2.HashMap 的工作原理HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry 接口)实现,HashMap 通过 put & get 方法存储和获取存储对象时,将 K/V 键值传给 put()方法: 1.调用 hash(K) 方法计算 K 的 hash 值,然后结...

2020-07-21 16:25:12 366 1

原创 count(*)和count(1)和count(列名)区别

count(*)和count(1)和count(列名)区别在执行效果上的区别count(*)包含了所有的列,相当于行数,在统计结果的时候,不会忽略NULL的值count(1)包含了忽略所有列,用1代表所有行,在统计的时候,不会忽略NULL值count(列名)只包含列名那一列,在统计结果的时候,会忽略空值(仅表示为NULL,空字符串和0不算),即某个字段值为NULL时,不统计该内容 在执行效率上的区别列名为主键,count(列名)会比count(1)快列名不为主键,c...

2020-07-21 14:39:39 531 1

原创 java算法经典面试题

字符串匹配问题:有两个字符串 str1=""bbcabcdab abcdabcd abde"" str2="abcdabd"现在要判断str1是否含有str2,如果存在,就返回第一次出现的位置,如果没有,则返回-1要求用最快的速度来完成匹配,那么你的思路是什么?KMP算法《部分匹配表》汉诺塔游戏:请完成汉诺塔游戏代码: 要求:1.将A塔的所有圆盘移动到C塔 2.小圆盘上不能放大圆盘 ...

2020-06-15 16:32:39 317

原创 算法03_队列

队列队列介绍队列是一个有序列表,可以使用数组或者链表来实现遵循先入先出的原则(先存入队列的数据,要先取出。后存入的要后取出)样例图(使用数组模型示意图)队列本身是有序列表,如上面的图之中maxSize是该队列的最大容量,开头,结尾分别记录队列前后端的下标(类似索引),开头会随着数据的输出而改变,结尾则是随着数据的输入而改变。向队列加入数据的时候...

2020-05-19 07:42:41 895

原创 算法02-稀疏sparsearray数组

稀疏数组 当一个数组中大部分元素为0(null),或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 1.记录数组一共几行几列,有多少个不同的值 2.把具有不同值得元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模 如图数据大概左面这样,右边为记入的值,如果用以前的数组记入就会有10(行)X9(列)=90个元数据,但是用稀疏数组就是2(行...

2020-05-12 22:03:46 974

原创 算法01-线性结构和非线性结构

数据结构包括:线性结构和非线性结构线性结构1.线性结构作为层、最常用的数据结构,其特点是数据元素之间存在一对一的线性关系2.线性结构有两种不同的存储结构,即顺序存储(数组)结构和链式存储(链表)结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的3.链式存储的线性表称为链表,链表中的元素不一定的连续的,元素节点中存放数据元素以及相邻元素的地址信息4.线性结构常见的有:数组、队列、链表和栈非线性结构非线性结构的特点是数据元素之间可以不是一对一的关系非线性结构包括:二维数

2020-05-12 20:44:43 923

原创 数据结构跟算法的关系

数据结构跟算法的关系 数据(data)结构(structure)是一门研究组织数据方式的学科,有了编程语言就有了数据结构,学好数据结构可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决 程序 = 数据结构 + 算法 数据结构是算法的基础,换言之,想要学好算法,需要把数据结构学到位...

2020-05-12 20:17:38 1086

原创 简单概述 什么是重写

直接上代码 一个简单的person类重写就是把原来人家写完的底层方法重新获取然后修改一下(alt+insert 里面的 equals() and hashCode() 、toString() 等这些方法)如图(下面代码标红色部分,或者@Override被这个东西标记的方法)public class Person { private Integer id; pr...

2020-05-05 20:35:52 1960

原创 基本数据类型 和 引用类型(简单概述)

一、基本数据类型 java中一共分为8种 基本数据类型:byte、short、int、long、float、double、char、boolean byte、short、int、long是整型 float、double是浮点型 char是字符型 boolean是布尔型二、引用类型java为每种基...

2020-05-05 20:07:38 3744

原创 简单概括 ==跟equals的区别

==== :既可以比较基本类型,也可以比较引用类型,如果比较八大数据类型主要比较的是值,比较引用类型主要比较的是内存地址值equals(没有被复写过)equals(父类是object,所以每个对象都会有equals): ojbect的 (源代码的149行):出厂默认的话equals等价于 == string 类重写equals:比较的是每一个字符是否相等总...

2020-05-05 19:59:38 2846 3

原创 如何选择Apache/CDH/HDP版本???

框架基本选型 (1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般适合大厂使用,技术实力雄厚,有专门的运维人员)(建议使用) (2)CDH:国内使用最多的版本,但是CM不开源,今年(2020)开始收费,一个节点一万美金。(太贵了,用不起) (3)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少(不是很推荐使用,自己玩玩可以用)...

2020-05-05 16:01:18 2549

原创 大概了解一下离线项目(未完成)

数仓概念 数据仓库(Data Warehouse),是为企业所有决策制定过程,提供所有系统数据支持的战略集合。 通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等。 数据仓库,并不是数据的最终目的地,而是为数据最终的目的地做好准备。这些准备包括对数据的:清洗,转义,分类,重组,合并,拆分,统计等等。项目需求分析一、项...

2020-04-29 21:21:17 1207

原创 初识kafka小结

第一部分:概述 1.1 Kafka的定义: kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。 1.2消息队列 使用消息队列的好处 1) 解耦 允许你独立的扩展或修改两边的处理过程,只要确保他们遵守同样的接口约束。(不需要两边同时在线,把消息放到消息队列里,...

2020-04-21 08:55:01 949

原创 spark知识点小总结

文章目录**spark****什么是Spark****Spark特点****Spark运行模式****Spark编写代码****SparkCore什么是RDD****RDD的主要属性****RDD的算子分为两类:****Rdd数据持久化什么作用?****cache和Checkpoint的区别****什么是宽窄依赖****什么是DAG****DAG边界****Spark概念****Spark执行任务...

2020-04-20 08:51:50 1290 1

原创 错误信息:ERROR StreamMetadata:Error writing stream metadata StreamMetadata...

错误信息:ERRORStreamMetadata:ErrorwritingstreammetadataStreamMetadata...原因(很多种,我的是这样):电脑配置环境缺东西下载一个hadoop.dll放到 C:\Windows\System32这里就行了链接:https://pan.baidu.com/s/15hn3VYMLVPcGlinGf...

2020-04-16 11:32:16 2290

原创 hbase API

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.protobuf.generated.MasterProtos;import org.apac...

2020-01-07 08:46:49 910

原创 HBase API 操作

环境准备HBase API 需要依赖的 pom.xml<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.3.1</version></dependenc...

2019-12-05 09:12:55 1046 2

原创 Sqoop 1.4.7 的安装部署(包含测试)

Sqoop 下载地址(这里是1.4.7版本,1.4.7目前是最稳定的版本)(Sqoop2 的最新版本是 1.99.7。请注意,1.99.7 与 1.4.7 不兼容, 且没有特征不完整)https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/(sqoop官方帮助文档地址 : http://sqoop.apache.org/docs/1.4...

2019-12-02 11:30:28 1248 1

原创 idea 链接 linux

2019-11-25 14:18:13 930 1

原创 大数据常见错误及解决方案

1)SecureCRT7.3出现乱码或者删除不掉数据,免安装版的 SecureCRT卸载或者用虚拟机直接操作或者换安装版的 SecureCRT2)连接不上 mysql数据库 (1)导错驱动包,应该把 mysql-connector-java-5.1.27-bin.jar导入/opt/module/hive/lib 的不是这个包。错把 mysql-connector- ...

2019-11-22 11:27:09 3287

原创 集群优化的核心思路(理论)

在网络带宽、磁盘IO是瓶颈的前提下 能不使用IO 网络就不使用,在必须使用的前提下,能少用就少用。 所有的只要能够减少网络带宽的开销,只要能够减少磁盘io的使用的次数的配置项,都是集群调优的可选项。 (可选项包括: 软件层面【系统软件和集群软件】,硬件层面,网络层面)...

2019-11-15 10:50:32 1644

原创 用idea初测MapReduce框架

先配置pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio...

2019-11-12 14:43:49 1589

原创 idea内 hdfs API 操作

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileSystem;import org.apache....

2019-11-11 08:44:09 2193 3

原创 HDFS副本存放机制

第1个副本存放在客户端,如果客户端不在集群内,就在集群内随机挑选一个合适的节点进行存放;第2个副本存放在与第1个副本同机架且不同节点,按照一定的规则挑选一个合适的节点进行存放;第3个副本存放在与第1、2个副本不同机架且距第1个副本逻辑距离最短的机架,按照一定的规则挑选一个合适的节点进行存放;...

2019-11-08 10:51:03 2092

原创 Namenode , DataNode 的作用

Namenode作用一:管理,维护文件系统的元数据/名字空间/目录树 管理数据与节点之间的映射关系(管理文件系统中每个文件/目录的block块信息),二:管理DataNode汇报的心跳日志/报告三:客户端和DataNode之间的桥梁(元数据信息共享)DataNode作用一:负责数据的读写操作二:周期性的向NameNode汇报心跳日志/报告...

2019-11-08 10:50:31 3136

原创 集群扩容的流程

1. 在配置文件目录添加dfs.hosts白名单文件,文件中加入包括新增节点在内的所有节点2. 在hdfs.site.xml中配置白名单文件生效 <property> <name>dfs.hosts</name> <value>/export/install/hadoop-2.6.0-cdh5.14.0/e...

2019-11-08 10:48:53 2639 1

原创 集群扩容需要做哪些准备

1.配置JDK2.配置SSH免密钥3.关闭防火墙4.关闭selinux5.修改主机名6.修改hosts

2019-11-08 10:47:15 1646

原创 SecondaryNamenode工作的触发因素有哪些

1.时间维度,默认一小时触发一次 dfs.namenode.checkpoint.period :36002.次数维度,默认100万次触发一次 dfs.namenode.checkpoint.txns : 10000003、六十秒判断一次是否达到100W...

2019-11-08 10:46:23 1647

原创 HDFS缺点,短板,不足之处

1.不擅长低延时数据访问由于hadoop针对高数据吞吐量做了优化,牺牲了获取数据的延迟,所以对于低延迟访问数据的业务需求不适合HDFS。2.不擅长大量小文件存储存储大量小文件的话,它会占用 NameNode大量的内存来存储文件、目录和块信息。这样是不可取的,因为NameNode的内存总是有限的。3.不支持多用户并发写入一个文本同一时间内,只能有一个用户执行写操作。...

2019-11-08 10:45:24 3589

原创 HDFS数据完整性如何保证?

数据写入完毕以后进行校验,对比判断是否有数据丢失数据读取之前进行校验,对比判断是否有数据丢失NameNode会周期性的通过DataNode汇报的心跳信息中获取block块的校验和进行检查数据完整性,如果发现校验和不一致,会从其他副本节点复制数据进行恢复,从而保证数据的完整性...

2019-11-08 10:44:25 2207

原创 HDFS数据读取流程

1:Client 发起文件读取请求,通过 RPC 与 NameNode 建立通讯,NameNode检查目标文件,来确定请求文件 block块的位置信息2:NameNode会视情况返回文件的部分或者全部block块列表,对于每个block块,NameNode 都会返回含有该 block副本的 DataNode 地址3:这些返回的 DataNode 地址,会按照集群拓扑结构得出 DataNod...

2019-11-08 10:43:15 1605 2

原创 HDFS数据写入流程

1:Client 发起文件写入请求,通过 RPC 与 NameNode 建立通讯,NameNode检查目标文件,返回是否可以上传;2:Client 请求第一个 block 该传输到哪些 DataNode 服务器上;3:NameNode 根据副本数量和副本放置策略进行节点分配,返回DataNode节点,如:A,B,C4:Client 请求A节点建立pipeline管道,A收到请求会继续调...

2019-11-08 10:42:45 1634

转载 分布式系统?女朋友?

你女朋友是高可用么?分布式系统的概念,技术来源于恋爱,又高于恋爱1.高可用:就算失恋了,可以迅速和另一个女生恋爱,永远不会是单身状态2.注册中心:你和你女朋友去民政局登记,民政局就是注册中心,掉线的代价就是离婚3.负载均衡:你和多个女朋友轮流约会。星期一,三,五跟A约会,二,四,六和B约会,叫RoundRibon算法4.熔断限流:跟多个女朋友约会,你身体吃得消么?你要保护自己,星期天...

2019-11-08 10:40:07 948 1

原创 集群的namenode故障恢复

secondaryNamenode对namenode当中的fsimage和edits进行合并时,每次都会先将namenode的fsimage与edits文件拷贝一份过来,所以fsimage与edits文件在secondarNamendoe当中也会保存有一份,如果namenode的fsimage与edits文件损坏,那么我们可以将secondaryNamenode当中的fsimage与e...

2019-11-05 20:15:45 2017 4

原创 磁盘分区(包含磁盘分区格式化)和磁盘挂载(包含自动挂载)

1.先查看磁盘 [root@node01 ~]: lsblk -f ↓ sda ├─sda1 ext4 ...

2019-11-05 17:59:16 1806

原创 克隆虚拟机后需要修改的设置

1.打开新克隆的虚拟机的网络适配器>高级>查看MAC值 (记住下面 MAC地址 后面的内容,这个是克隆后新生成的MAK值) 2.编辑配置文件,更新 HWADDR 设为新的MAC值 [root@node01 ~]: vi /etc/sysconfig/network-scripts/ifcfg-eth0 ...

2019-11-05 17:55:36 3435

原创 创建虚拟机基础设置

(#表示注释)1.修改对应网卡的IP地址的配置文件 [root@node01 ~]: vim /etc/sysconfig/network-scripts/ifcfg-eth0 ↓ IPV6INIT=no #关闭IPV6支持,当前一般不用 ONBOO...

2019-11-05 17:44:24 1765

原创 Linux常用的重要目录

etc : 全局配置文件存放目录。系统和程序一般都可以通过修改相应的配置文件来进行配置。 mnt :临时挂载储存设备的挂载点 mnt/media(mnt/cdrom) :系统默认光盘默认挂载点,通常光盘挂载于 mnt/cdrom 下 tmp : 一般用户或正在执行的程序临时存放文件的目录即临时文件,任何人都可以访问...

2019-11-05 17:32:25 2109

空空如也

空空如也

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

TA关注的人

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