Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3. 存放进数组的必须是相同类型的数据 VS 集合类: 1. 长度是可变的 2. 只能存放对象的引用 3. 存放进集合的可以是不同的数据类型 3. 集合类常用API源码分析 在之后的大数据学习中,灵活运用各种各样的数据结构可以说是一项基本技能了,因此,了解各种数据结构的底层源码将有助于用户更好地使用各…
文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 Hadoop(入门) 一 从Hadoop框架讨论大数据生态 1.1 Hadoop是什么 1.2 Hadoop发展历史 1.3 Hadoop三大发行版本 1.4 Hadoop的优势 1.5 Hadoop组成 1.5.1 HDFS架构概述 1.5.2 YARN架构概述 1.5.3 MapReduce架构概述 1.6 大数据技术生态体系 1.7 推…
HDFS基本API的应用(包含IDEA的基本设置) 在上一篇博客中,本人详细地整理了如何从0搭建一个HA模式下的分布式Hadoop平台,那么,在上一篇的基础上,我们终于可以进行编程实操了,同样,在编程前需要做一些准备工作,好了,那我们就开始吧! 1. 编程准备 在后续的学习中,我们基本都是在用IntelliJ IDEA这款集成开发环境,所以在Windows端,我们首先需要准备以下这三款软件: 1)IntelliJ IDEA软件下载并安装,盗版即可,激活码自己上百度搜,本人使用的版本是Intell…
Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言而喻,我将分成两个部分来做梳理,第一部分是实操部分,即整个从0搭建Linux的完整操作流程,第二部分是理论部分,将会梳理Linux操作系统的各种指令以及基本知识,好了,那么我们开始吧! 1. 安装准备 安装Linux虚拟机之前我们首先要准备两个东西:VMware以及Centos的镜像文件 安装VMw…
Hadoop:一个开源的.可运行于大规模集群上的分布式计算平台.实现了MapReduce计算模型和分布式文件系统HDFS等功能,方便用户轻松编写分布式并行程序. Hadoop生态系统: HDFS:Hadoop 分布式文件系统,是Hadoop项目的两大核心之一. HBase:提供高可靠性.高性能.可伸缩.实时读写.分布式的列数据库,一般采用HDFS作为其底层数据存储,用于存储非结构化数据. MapReduce:一种并行编程模型,将复杂的.运行于大规模集群上的并行计算过程高度抽象到Map和Reduc…
Linux学习笔记整理 上一篇博客中,我们详细地整理了如何从0部署一套Linux操作系统,那么这一篇就承接上篇文章,我们仔细地把Linux的一些基础知识以及常用指令(包括一小部分高级命令)做一个梳理,好了,现在开始吧! 1. Linux介绍 在介绍Linux之前,先要介绍一下Unix操作系统,说到两者之间的关系,"Unix是Linux的父亲"这个说法更为恰当,Unix是作为一款商业软件而存在的,主要运行在大型服务器和小型机上,不开源,不免费,大多与硬件配套,也就是说,大多数 UNIX…
IO学习笔记整理 1. File类 1.1 File对象的三种创建方式: File对象是一个抽象的概念,只有被创建出来之后,文件或文件夹才会真正存在 注意:File对象想要创建成功,它的目录必须存在! import java.io.File; /* 演示三种创建File对象的方式 */ public class FileDemo { public static void main(String[] args) throws Exception { //指定完整路径名的字符串 File f1 =…
Java / 计算机基础知识整理 在进行知识梳理同时也是个人的第一篇技术博客之前,首先祝贺一下,经历了一年左右的学习,从完完全全的计算机小白,现在终于可以做一些产出了!可以说也是颇为感慨,个人认为,学习本身就应该是有方法论的,前人总结了不少比较好的学习方法(比如说费曼学习法,金字塔原理),我们在进行好方法借鉴的同时,也不要忘了让整个学习过程形成一个闭环,我认为,向他人教学,或是定期将已有的知识进行一些梳理,总结,就是闭环的一种,这种方式在向他人传授知识的同时,更是对自己已有知识体系的一次查漏补缺…
1.Hadoop概述 1.1 Hadoop名字的由来 Hadoop项目作者的孩子给一个棕黄色的大象样子的填充玩具的命名 Hadoop的官网:http://hadoop.apache.org . 1.2 Hadoop介绍 Hadoop是Apache的一个顶级项目.是开源的.分布式存储+分布式计算平台:它由以下几个模块构成: Hadoop Common: 这是支持hadoop其他模块的通用工具模块 Hadoop Distributed File System(HDFS):分布式文件系统 Hadoop…
文章目录 一 MapReduce概念 1.1 为什么要MapReduce 1.2 MapReduce核心思想 1.3 MapReduce进程 1.4 MapReduce编程规范(八股文) 1.5 MapReduce程序运行流程分析 二 MapReduce理论篇 2.1 Writable序列化 2.1.1 常用数据序列化类型 2.1.2 自定义bean对象实现序列化接口 2.2 InputFormat数据切片机制 2.2.1 FileInputFormat切片机制 2.2.2 CombineTex…
Spark是一个基于内存计算的大数据并行计算框架.所以,Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型. 在实际应用中,大数据处理无非是以下几个类型: 复杂的批量数据处理,这种类型的处理时间跨度通常在数十分钟到数小时之间,处理这种数据的工具有Hadoop MapReduce: 基于历史数据的交互式查询,时间跨度一般在数十秒到数分钟之间,处理工具如Impala.Hive: 基于实时数据流的数据处理,这样的时间跨度一般在数百毫秒到数秒之间,处理工具如St…
Hadoop编程实战——Mapreduce基本功能实现 此篇博客承接上一篇总结的HDFS编程实战,将会详细地对mapreduce的各种数据分析功能进行一个整理,由于实际工作中并不会过多地涉及原理,因此,掌握好mapreduce框架将会有助于了解sql语句在大数据场景下的底层实现原理,从而能够帮助开发人员优化sql语句,提高查询速度,废话不多说,现在正式开始吧! 1. Mapreduce入门——word count实现 一个基本的mapreduce程序一般要写三个类,Mapper类,Reducer…
HDFS写入过程注释解读 & 源码分析 此篇博客承接上一篇未讲完的内容,将会着重分析一下在Namenode获取到元数据后,具体是如何向datanode节点写入真实的数据的 1. 框架图展示 在开始前,还是老规矩,先上图 本篇内容将会重点介绍HDFS写入流程七大步骤中的4,5步骤,即数据包写入和数据包确认(write packet & ack packet) 2. 源码分析 2.1 文档注释翻译 在讲解这部分内容时会涉及到的类是DFSPacket DFSPacket类 DFSPacket i…
Sqoop详细部署教程 Sqoop是一个将hadoop与关系型数据库之间进行数据传输,批量数据导入导出的工具,注意,导入是指将数据从RDBMS导入到hadoop而导出则是指将数据从hadoop导出到RDBMS,本篇博客承接上篇Hive的部署教程,废话不多说,直接开始流程 1. 安装准备 准备好以下安装包,使用的版本为1.4.7 2. 正式安装 1. 使用Xftp将tar.gz文件放到/home/centos/downloads目录下 2. 解压缩 cd /home/centos/download…
Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对应关系见下图: 1.2 网络编程三要素之IP地址 目前的版本是ipv4,采用的是点分十进制的表示方式(dotted-decimal notation),一共4位,每一位表示一个字节,因为IP地址是没有负数的,因此表数范围是0-255,子网掩码的存在使得一个IP地址被区分为了两个部分,网络地址以及主机…
HBase使用bulkload批量导入数据 HBase可使用put命令向一张已经建好了的表中插入数据,然而,当遇到数据量非常大的情况,一条一条的进行插入效率将会大大降低,因此本篇博客将会整理提高批量导入的效率的一种可行方案,那就是使用Mapper类先进行数据清洗,再在APP中批量导入,废话不多说,我们直接开始吧! 1. 准备工作 首先我们准备好一份csv文件学生表,其中包含的是学生信息,具体信息如下: 对于此文件来说,每一行有四个字段,第一个代表rowkey,第二个代表name,第三个代表cou…
Hadoop的核心是HDFS和MapReduce,hadoop2.0还包括YARN. Hadoop1.x的生态系统: Hadoop2.x引入YARN: HDFS(Hadoop分布式文件系统)源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版. 是Hadoop体系中数据存储管理的基础.它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行.HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序…
分布式并行编程用于解决大规模数据的高效处理问题.分布式程序运行在大规模计算机集群上,集群中计算机并行执行大规模数据处理任务,从而获得海量计算能力. MapReduce是一种并行编程模型,用于大规模数据集的并行运算,那么MapReduce又是如何进行并行编程的呢? MapReduce采用“分而治之”的策略,将存储在分布式文件系统的大数据集切分成独立小数据块(即Split,分片),这些分片可以被多个Map任务并行处理.MapReduce强调“计算向数据靠拢”而非“数据向计算靠拢”,传统模式下,对数据…
文章目录 一 HDFS概念 1.1 概念 1.2 组成 1.3 HDFS 文件块大小 二 HFDS命令行操作 三 HDFS客户端操作 3.1 eclipse环境准备 3.1.1 jar包准备 3.2 通过API操作HDFS 3.2.1 HDFS获取文件系统 3.2.2 HDFS文件上传 3.2.3 HDFS文件下载 3.2.4 HDFS目录创建 3.2.5 HDFS文件夹删除 3.2.6 HDFS文件名更改 3.2.7 HDFS文件详情查看 3.2.8 HDFS文件夹查看 3.3 通过IO流操作…
前面介绍了Hadoop核心组件HDFS和MapReduce,Hadoop发展之初在架构设计和应用性能方面仍然存在不足,Hadoop的优化与发展一方面体现在两个核心组件的架构设计改进,一方面体现在Hadoop生态系统其他组件的不断丰富.此文介绍Hadoop2.0中添加的新特性. 一.HDFS 2.0新特性 这对HDFS的改进,HDFS 2.0主要增加了HDFS HA 以及HDFS联邦等新特性. (一)HDFS HA HA即High Availability,用于解决HDFS 1.0中的单点故障问题…
文章目录 一.Linux入门概述 1.1 概述 1.2 下载地址 1.3 Linux特点 1.4 Linux和Windows区别 二.VM安装相关 2.1 安装VMWare虚拟机 2.2 安装CentOS 2.3 安装VMTools工具 2.4 虚拟机屏幕保护设置 2.5 IVT虚拟化支持 三.Linux目录结构 3.1 概览 3.2 树状目录结构 四.VI/VIM编辑器 4.1 概述 4.2 测试数据准备 4.3 一般模式 4.4 编辑模式 4.5 指令模式 五.系统管理操作 5.1 查看网络…
分布式文件系统结构 分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统,采用C/S模式实现文件系统数据访问,目前广泛应用的分布式文件系统主要包括GFS和HDFS,后者是前者的开源实现. 分布式文件系统在物理结构上由计算机集群中的多个节点构成,这些节点分为两类:主节点(亦称“名称节点”) . 从节点(亦称“数据节点”) 名称节点,负责文件和目录的创建.删除和重命名等,同时管理着数据节点和文件块的映射关系,客户端通过访问名称节点找到请求文件的存储位置,进而到相应位置读取所需文件…
Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调度机制以及shuffle的过程,废话不多说,我们直接开始吧! 1. Spark基本API解读 首先我们写一段简单的进行单词统计的代码,考察其中出现的API,然后做出整理: import org.apache.spark.SparkConf; import org.apache.spark.api.j…
SequenceFile(Hadoop序列文件)基础知识与应用 上篇编程实战系列中本人介绍了基本的使用HDFS进行文件读写的方法,这一篇将承接上篇重点整理一下SequenceFile的相关知识及应用 1. SequenceFile简介 SequenceFile是Hadoop自带的一种键值对文件格式,它具有以下几个特点: 1. 由于该文件类型是Hadoop自带的,因此对Hadoop环境具有最强的兼容性 2. 由于Hadoop不适合存储大量小文件,SequenceFile作为容器文件,能够封装大量的…
文章目录 3.1 数据结构 3.2 节点类型 3.3 特点 3.4 选举机制 3.5 stat结构体 3.6 监听器原理 3.1 数据结构 ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode. 很显然zookeeper集群自身维护了一套数据结构.这个存储结构是一个树形结构,其上的每一个节点,我们称之为"znode",每一个znode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识 3.2 节点类型 1)Znode…
一.前言 Hadoop原理架构本人就不在此赘述了,可以自行百度,本文仅介绍Hadoop-3.1.2完全分布式环境搭建(本人使用三个虚拟机搭建). 首先,步骤: ① 准备安装包和工具: hadoop-3.1.2.tar.gz jdk-8u221-linux-x64.tar.gz(Linux环境下的JDK) CertOS-7-x86_64-DVD-1810.iso(CentOS镜像) 工具:WinSCP(用于上传文件到虚拟机),SecureCRTP ortable(用于操作虚拟机,可复制粘贴Linu…
HDFS组件概述 NameNode 存储数据节点信息及元文件,即:分成了多少数据块,每一个数据块存储在哪一个DataNode中,每一个数据块备份到哪些DataNode中 这个集群有哪些DataNode,每一个DataNode的主机名.磁盘容量大小等信息 SecondaryNameNode 辅助NameNode来提高性能,以及防止丢数据的 DataNode 真正存储数据的节点 Client 比如命令行.webHDFS及java客户端等 HDFS中的数据块(Block) 每一个数据块默认容量是128…
创建目录 hadoop fs -mkdir [-p] hdfs://master:9999/user/hadoop-twq/cmd 上传文件 hadoop fs -put [-f -d] [localFile1...localFile2] hdfs://master:9999/user/hadoop-twq/cmd hadoop fs -put - hdfs://master:9999/user/hadoop-twq/cmd/out.txt => 从标准流中上传数据 hadoop fs -cop…
安装 下载 Hadoop,以2.7.5版本为例 在虚拟机上创建目录bigdata,即执行mkdir bigdata 上传到master机器节点的目录~/bigdata下(可以用FileZilla等ftp工具上传) 解压:tar -zxvf ~/bigdata/hadoop-2.7.5.tar.gz 修改配置文件 修改core-site.xml <configuration> <property>     <name>fs.defaultFS</name>  …
Hbase高可用+完全分布式完整部署教程 本篇博客承接上一篇sqoop的部署教程,将会详细介绍完全分布式并且是高可用模式下的Hbase的部署流程,废话不多说,我们直接开始! 1. 安装准备 部署Hbase时,我们使用的版本为1.2.8 2. 正式安装 1. 将hbase-1.2.8-bin.tar.gz文件使用远程传输软件放到s101的/home/centos/downloads下 2. 将hbase-1.2.8-bin.tar.gz解压缩至/soft下 tar -xzvf /home/cent…