大数据学习笔记之初识Hadoop】的更多相关文章

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…
HDFS基本API的应用(包含IDEA的基本设置) 在上一篇博客中,本人详细地整理了如何从0搭建一个HA模式下的分布式Hadoop平台,那么,在上一篇的基础上,我们终于可以进行编程实操了,同样,在编程前需要做一些准备工作,好了,那我们就开始吧! 1. 编程准备 在后续的学习中,我们基本都是在用IntelliJ IDEA这款集成开发环境,所以在Windows端,我们首先需要准备以下这三款软件: 1)IntelliJ IDEA软件下载并安装,盗版即可,激活码自己上百度搜,本人使用的版本是Intell…
Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3. 存放进数组的必须是相同类型的数据 VS 集合类: 1. 长度是可变的 2. 只能存放对象的引用 3. 存放进集合的可以是不同的数据类型 3. 集合类常用API源码分析 在之后的大数据学习中,灵活运用各种各样的数据结构可以说是一项基本技能了,因此,了解各种数据结构的底层源码将有助于用户更好地使用各…
Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言而喻,我将分成两个部分来做梳理,第一部分是实操部分,即整个从0搭建Linux的完整操作流程,第二部分是理论部分,将会梳理Linux操作系统的各种指令以及基本知识,好了,那么我们开始吧! 1. 安装准备 安装Linux虚拟机之前我们首先要准备两个东西:VMware以及Centos的镜像文件 安装VMw…
文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 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 推…
Hadoop:一个开源的.可运行于大规模集群上的分布式计算平台.实现了MapReduce计算模型和分布式文件系统HDFS等功能,方便用户轻松编写分布式并行程序. Hadoop生态系统: HDFS:Hadoop 分布式文件系统,是Hadoop项目的两大核心之一. HBase:提供高可靠性.高性能.可伸缩.实时读写.分布式的列数据库,一般采用HDFS作为其底层数据存储,用于存储非结构化数据. MapReduce:一种并行编程模型,将复杂的.运行于大规模集群上的并行计算过程高度抽象到Map和Reduc…
Hadoop编程实战——Mapreduce基本功能实现 此篇博客承接上一篇总结的HDFS编程实战,将会详细地对mapreduce的各种数据分析功能进行一个整理,由于实际工作中并不会过多地涉及原理,因此,掌握好mapreduce框架将会有助于了解sql语句在大数据场景下的底层实现原理,从而能够帮助开发人员优化sql语句,提高查询速度,废话不多说,现在正式开始吧! 1. Mapreduce入门——word count实现 一个基本的mapreduce程序一般要写三个类,Mapper类,Reducer…
文章目录 一 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…
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 =…
Hadoop集群搭建 把环境全部准备好,包括编程环境. JDK安装 版本要求: 强烈建议使用64位的JDK版本,这样的优势在于JVM的能够访问到的最大内存就不受限制,基于后期可能会学习到Spark技术,所以建议在搭建系统环境的时候把JDK的版本安装为64位. 如果已经安装,在你不确定安装的版本情况下,可以使用如下方式查看:快捷键WIN+R,调出DOS窗口,然后输入java –version就可以了,如图所示: IDEAK编程工具安装 破解工具:IDEAKeyTool.jar 使用的方法:打开DO…
Linux学习笔记整理 上一篇博客中,我们详细地整理了如何从0部署一套Linux操作系统,那么这一篇就承接上篇文章,我们仔细地把Linux的一些基础知识以及常用指令(包括一小部分高级命令)做一个梳理,好了,现在开始吧! 1. Linux介绍 在介绍Linux之前,先要介绍一下Unix操作系统,说到两者之间的关系,"Unix是Linux的父亲"这个说法更为恰当,Unix是作为一款商业软件而存在的,主要运行在大型服务器和小型机上,不开源,不免费,大多与硬件配套,也就是说,大多数 UNIX…
Java / 计算机基础知识整理 在进行知识梳理同时也是个人的第一篇技术博客之前,首先祝贺一下,经历了一年左右的学习,从完完全全的计算机小白,现在终于可以做一些产出了!可以说也是颇为感慨,个人认为,学习本身就应该是有方法论的,前人总结了不少比较好的学习方法(比如说费曼学习法,金字塔原理),我们在进行好方法借鉴的同时,也不要忘了让整个学习过程形成一个闭环,我认为,向他人教学,或是定期将已有的知识进行一些梳理,总结,就是闭环的一种,这种方式在向他人传授知识的同时,更是对自己已有知识体系的一次查漏补缺…
类型:学习笔记 参考:尚硅谷大数据系列教程 工具准备 1.VMware 2.CentOS 7 最小安装版 3.远程工具推荐使用 FinalShell 安装系统 1.打开VMware,根据自己的情况配置好虚拟机,选择系统镜像就可以安装了,可自行百度"VMware如何安装CentOS" 2.打开虚拟机后,选中Test this media & install CentOS 7,回车进行安装 3.语言设置为中文:简体中文 4.时间日期:根据实际情况设置即可 5.配置磁盘,使用默认配置…
Spark是一个基于内存计算的大数据并行计算框架.所以,Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型. 在实际应用中,大数据处理无非是以下几个类型: 复杂的批量数据处理,这种类型的处理时间跨度通常在数十分钟到数小时之间,处理这种数据的工具有Hadoop MapReduce: 基于历史数据的交互式查询,时间跨度一般在数十秒到数分钟之间,处理工具如Impala.Hive: 基于实时数据流的数据处理,这样的时间跨度一般在数百毫秒到数秒之间,处理工具如St…
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介绍 一.简介 Hadoop是一个开源的分布式计算平台,用于存储大数据,并使用MapReduce来处理.Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理.两个核心: HDFS:Hadoop分布式文件系统(Hadoop Distributed File System),具有高容错性和伸缩性,使用java开发 MapReduce:Google MapReduce的开源实现,分布式编程模型使用户更方便的开发并行应用 使用Hadoop可以轻松的组织计算机资源,从而搭建…
文章目录 一 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中的单点故障问题…
SequenceFile(Hadoop序列文件)基础知识与应用 上篇编程实战系列中本人介绍了基本的使用HDFS进行文件读写的方法,这一篇将承接上篇重点整理一下SequenceFile的相关知识及应用 1. SequenceFile简介 SequenceFile是Hadoop自带的一种键值对文件格式,它具有以下几个特点: 1. 由于该文件类型是Hadoop自带的,因此对Hadoop环境具有最强的兼容性 2. 由于Hadoop不适合存储大量小文件,SequenceFile作为容器文件,能够封装大量的…
高可用模式下的Hadoop集群搭建 本篇博客将会在之前写过的Linux的完整部署的基础上进行,暂时不会涉及到伪分布式或者完全分布式模式搭建,由于HA模式涉及到的配置文件较多,维护起来也较为复杂,相信学会部署高可用模式了,其他模式的搭建也会比较驾轻就熟,关于各种配置文件的讲解,如果有时间会在后期另开一篇博客进行详细的解读,现在正式开始部署流程! 1. 安装准备 基本思路讲解:在做正式安装之前,首先需要整理有哪些软件包是一定需要安装的,尽量先在一台机器上(一般我们称这台机器为“母机”)把所有需要的软…
文章目录 一.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 查看网络…
分布式并行编程用于解决大规模数据的高效处理问题.分布式程序运行在大规模计算机集群上,集群中计算机并行执行大规模数据处理任务,从而获得海量计算能力. MapReduce是一种并行编程模型,用于大规模数据集的并行运算,那么MapReduce又是如何进行并行编程的呢? MapReduce采用“分而治之”的策略,将存储在分布式文件系统的大数据集切分成独立小数据块(即Split,分片),这些分片可以被多个Map任务并行处理.MapReduce强调“计算向数据靠拢”而非“数据向计算靠拢”,传统模式下,对数据…
分布式文件系统结构 分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统,采用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…
1. Hadoop提供了一个可靠的共享存储和分析系统.HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心. 2. MapReduce是一个批量查询处理器,并且它能够在合理的时间范围内处理针对整个数据集的即时查询. 3. MapReduce适合一次写入.多次读取数据的应用,而关系型数据库更适合持续更新的数据集.二者的比较如表所述: 表1 关系型数据库和MapReduce的比较   传统关系型数据库 MapReduce 数据大小 GB PB 访问 交互式和批处理 批处理…
集群架构 Hadoop的安装其实就是HDFS和YARN集群的配置,从下面的架构图可以看出,HDFS的每一个DataNode都需要配置NameNode的位置.同理YARN中的每一个NodeManager都需要配置ResourceManager的位置. NameNode和ResourceManager的作用如此重要,在集群环境下,他们存在单点问题吗?在Hadoop1.0中确实存在,不过在2.0中已经得到解决,具体参考: https://hadoop.apache.org/docs/stable/ha…
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…