![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
敲代码的旺财
这个作者很懒,什么都没留下…
展开
-
大数据(二):入门Hadoop
一、什么是大数据,什么是Hadoop 大数据:指无法再一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多元化的信息资产。 数据存储单位:bit<Byte<KB<MB<GB<TB<PB<EB<ZB<YB<BB<...原创 2018-08-28 11:39:57 · 404 阅读 · 0 评论 -
大数据(二十):hive分区表、修改表语句与数据的导入导出
一、分区表 分区表实际上就是对应一个HDFS文件系统上的一个独立的文件夹,该文件夹下是该分区所有的数据文件,hive中的分区就是分目录,把一个大的数据集更具业务需求分割成小的数据集。在查询时通过where子句中的表达式选择查询所需要的指定分区,这样查询效率会提高很多。1.创建分区表create table dept_partition(deptno int,dnam...原创 2018-09-25 14:40:43 · 794 阅读 · 0 评论 -
大数据(十八):Hive元数据配置、常见属性配置、数据类型与数据转换
一、Hive元数据配置到MySQL当中 为什么要把Hive的元数据配置到MySql中?我们可以使用多个客户端连接linux系统并且都尝试启动Hive,可以发现在启动第二个Hive客户端的时候发生报错了。 那是应为在默认的情况下,Hive元数据被保存在内嵌的Derby数据库中,只允许一个会话的连接。在开发的时候多人使用这个Hive的将会变得非常恶心。我们通过将元数...原创 2018-09-20 16:55:27 · 1649 阅读 · 0 评论 -
大数据(二十一):hive查询语句
一、查询语句1.基本语法SELECT [ALL|DISTINCT] select_expr,select_expr,...FROM table_reference[WHERE where_condition][GROUP BY col_list][ORDER BY col_list][CLUSTER BY col_list|[DISTRIBUTE BY col_list][SO...原创 2018-09-26 15:29:49 · 551 阅读 · 0 评论 -
大数据(十九):hive数据库基本操作与表分类
一、创建数据库1.创建一个数据,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.dbcreate database db_hive;2.避免创建的数据库已经存在,增加if not existscreate database if not exists db_hive; 若果数据库不存在则创建3.创建一个数据库,指定数据库在HDFS上放...原创 2018-09-21 14:44:30 · 458 阅读 · 0 评论 -
大数据(二十二):hive分桶及抽样查询、自定义函数、压缩与存储
一、分桶及抽样查询1.分桶表数据存储 分区针对的是数据存储路径(HDFS中表现出来的便是文件夹),分桶针对的是数据文件。分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区,特别是当数据要确定合适的划分大小的时候,分区便不再合适。分桶是将数据集分解成更容易管理的若干部分的技术。2.先创建分桶表,通过直接导入数据的方式插入数据创建分桶表...原创 2018-09-27 16:12:14 · 631 阅读 · 0 评论 -
大数据(二十三):hive优化、表优化
一、Fetch抓取 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如,select * from employees;在这种情况下,Hive可以简单读取employee对应的存储目录下的文件,然后输出查询结果到控制台。 在hive-default.xml.template文件中hive.fetch.task.conversi...原创 2018-10-08 16:14:08 · 339 阅读 · 0 评论 -
大数据(二十六):Sqoop的import、export命令和命令脚本
一、sqoop导入命令(import) 在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据。1.在MySql中新建一张表并插入一些数据create database company;create table company.staff(id int(4) primary key not null aut...原创 2018-10-18 14:19:59 · 1629 阅读 · 0 评论 -
大数据(二十四):数据倾斜优化、并行执行、严格模式、JVM重用、执行计划
一、数据倾斜优化1.合理设置Map数量 1.通常情况下,作业会通过input的目录产生一个或者多个map任务 主要的决定因素有:input的文件总个数,input的文件大小,集群设置的文件块大小。 2.Map并非越多越好 如果一个任务有很多小文件,则每个小文件也会被当做一个块,用一个map任务来完成,而一个map任务启动和初始化的...原创 2018-10-09 15:15:52 · 562 阅读 · 0 评论 -
大数据(二十五):Sqoop的介绍和安装
一、Sqoop简介 Sqoop是一种旨在有效的Hadoop和关系型数据库等结构化数据存储之间传输大量数据的工具。Sqoop的原理就是将导入或者导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要就是对inputformat和OutputFormat进行定制。 二、下载并解压Sqoop1.下载地址http://mirrors.hust.edu...原创 2018-10-16 15:18:13 · 181 阅读 · 0 评论 -
大数据(二十七):Sqoop常用命令和公用参数
一、常用命令列举 命令 类 说明 import ImportTool 将数据导入到集群 export ExportTool 将集群数据导出 codegen CodeGenTool ...原创 2018-10-19 13:36:25 · 217 阅读 · 0 评论 -
大数据(二十八):Sqoop命令&参数
一、import 将关系型数据库中的数据导入到HDFS(包括Hive,HBase)中,如果导入的是Hive,那么当Hive中没有对应表时,则自动创建。1.命令:bin/sqoop import \--connect jdbc:mysql://linux01:3306/company \--username root \--password root \--tab...原创 2018-10-22 17:20:10 · 262 阅读 · 0 评论 -
大数据(二十九):kafka简介、架构、原理
一、kafka是什么在流式计算中,kafka一般用来缓存数据,storm通过消费kafka的数据进行计算。1.Apache kafka是一个开源的消息系统,由scala写成,是由Apache软件基金会开发的一个开源消息系统项目。2.kafka最初始由Linkedin公司开发,并于2011年初开源。2012年10月从Apache incubator毕业。该项目的目标是为处理实时数据提供一...原创 2018-11-13 11:26:18 · 403 阅读 · 0 评论 -
大数据(三十):zookeeper集群与kafka集群部署
一、安装Zookeeper1.集群规划在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。2.解压安装 1.解压zookeeper安装包到/usr/local/目录下tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/ 2.在/usr/local/zookeepe...原创 2018-11-13 16:45:01 · 348 阅读 · 0 评论 -
大数据(三十一):kafka命令行操作和生产者写入流程
一、命令行操作1.查看当前服务器中的所有topicbin/kafka-topics.sh --zookeeper localhost:2181 --list2.创建topicbin/kafka-topics.sh --zookeeper localhost:2181 --create --replication-factor 3 --partitions 1 --topic f...原创 2018-11-14 16:54:15 · 8585 阅读 · 0 评论 -
大数据(十六):Yarn的工作机制、资源调度器、任务的推测执行机制
一、Yarn概述 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作程序上的应用程序。 二、Yarn基本架构 Yarn主要由ResourceManager、NodeManager、ApplicationMater和Container等组件构成 三、Ya...原创 2018-09-14 14:03:43 · 1255 阅读 · 0 评论 -
大数据(十七):Hive简介、安装与基本操作
一、简介 Hive由Facebook开源用于解决海量结构化日志的数据统计。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类Sql查询的功能。hive本质是将HQL转化为MapReduce的程序 hive处理的数据存储在HDFS hive分析数据低层的实现是MapReduce 执行程序运行在YARN上 ...原创 2018-09-19 14:44:59 · 1525 阅读 · 0 评论 -
大数据(三):HDFS文件系统概述和命令行操作
一、HDFS概述 随着数据量越来越大,一个操作系统管辖的范围内存不下了,那么久分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统,HDFS只是分布式文件系统中的一种。 HDFS用于储存文件,通过目录树来定位文件;其次,它还是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。...原创 2018-08-28 11:41:06 · 330 阅读 · 0 评论 -
大数据(五):HDFS数据流深入理解
一、HDFS的写数据流程 客户端通过Distributed FileSystem模块namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在 namenode返回是否可以上传 客户端请求第一个block上传到哪几个datanode服务器上 namenode放回3个datanode节点,分别为dn1、dn2、dn3。 客户...原创 2018-08-31 10:14:28 · 342 阅读 · 0 评论 -
大数据(一):Hadoop的安装与本地模式、伪分布式模式、完全分布式模式配置
一、大数据的四个v特征 volume 体量大 variety 样式多 velocity 速度快 valueless 价值密度低 二、Hadoop四个模块 common hdfs:包括的进程nameNode+dataNode+secondaryNameNode hadoop yarn:包括的进程resourceManager...原创 2018-08-24 13:56:27 · 1074 阅读 · 0 评论 -
大数据(六):NameNode工作机制
一、NameNode和Secondary NameNode工作机制左侧为NameNode 右侧为Secondary NameNode 1.第一阶段:namenode启动 第一次启动namenode格式化后,创建fsimage和edits文件,如果不是第一次启动,直接加载编辑日志和镜像文件到内存。 客户端对元数据镜像增删改的请求 namenode记录操作日...原创 2018-08-31 16:08:58 · 3139 阅读 · 0 评论 -
大数据(四):通过API和IO流控制HDFS
一、获取api和配置开发环境 准备jar包 解压hadoop-2.7.2.tar.gz到非中文目录 进入share文件夹,查找所有jar包,并把jar包拷贝到_lib文件夹下 在全部jar包中查找sources.jar,并剪切到_source文件夹 在全部jar包中查找tests.jar,并剪切到_test文件夹 准备...原创 2018-08-30 14:01:24 · 340 阅读 · 0 评论 -
大数据(十二):自定义OutputFormat与ReduceJoin合并(数据倾斜)
一、OutputFormat接口 OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了OutputFormat接口。1.文本输出TextOutPutFormat 默认的输出格式是TextOutputFormat,它把每条记录写为文本行。他的键和值可以是任意类型,会通过toString()方法吧他们转换为在字符串。...原创 2018-09-11 14:59:41 · 243 阅读 · 0 评论 -
大数据(八):MapReduce入门与简单实现
一、MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。 二、MapReduce优缺点优点: MapReduce易于编程。它简单的实现...原创 2018-09-05 16:44:21 · 643 阅读 · 0 评论 -
大数据(七):DataNode工作机制
一、DataNode工作机制 一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,快数据的校验和,以及时间戳 DataNode启动后向namenode注册,通过后,周期性(默认1小时)的向namenode上报所有的块信息 心跳是每3秒一次,心跳返回结果带有namenode给该datanode的命令如复制块数...原创 2018-09-03 16:32:47 · 986 阅读 · 0 评论 -
大数据(九):MapReduce工作机制和切片机制理论
这篇内容为理论,具体的实现实战:大数据(十一):https://blog.csdn.net/qq_34886352/article/details/82591296一、MapReduce工作机制上面的流畅是整个MapReduce最全的工作流程,但是shuffle过程只是从第7步开始到第16结束,具体shuffle过程如下: MapTask收集我们的map()方法输出的KV...原创 2018-09-06 15:24:17 · 1164 阅读 · 1 评论 -
大数据(十三):MapJoin(DistributedCache分布式缓存)、数据清理实例与计数器应用
一、在map端表合并(DistributedCache分布式缓存)1.适用场景 适合用于关联表中有小表的情形。 可以将小表分发到所有的map节点,这样,map节点就可以在本地对自己所读到的大表数据进行合并并输出最终结果,可以大大提高合并操作的并发速度,加快处理速度。2.程序分析 加载缓存数据:job.addCacheFile(new URI("fi...原创 2018-09-12 14:11:09 · 613 阅读 · 0 评论 -
大数据(十一):Shuffle机制(Combiner合并、辅助排序(分组)GroupingComparator)与小文件处理实战(自定义InputFormat)
这章主要是大数据(九)和大数据(十)的补充如果是学习大数据的请仔细阅读之前的文章大数据(九):https://blog.csdn.net/qq_34886352/article/details/82461919大数据(十):https://blog.csdn.net/qq_34886352/article/details/82498134一、Combiner合并1.Combin...原创 2018-09-10 16:17:21 · 740 阅读 · 0 评论 -
大数据(十):MapTask工作机制与Shuffle机制(partitioner输出分区、WritableComparable排序)
一、MapTask工作机制 Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value Map阶段:该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。 Collect收集阶段:在用户编写map()函数中,当数据处理完成后,一般会调用Output...原创 2018-09-07 16:12:11 · 1150 阅读 · 2 评论 -
大数据(十四):多job串联与ReduceTask工作机制
一、多job串联实例(倒索引排序)1.需求查询每个单词分别在每个文件中出现的个数 预期第一次输出(表示单词分别在个个文件中出现的次数)apple--a.txt 3apple--b.txt 1apple--c.txt 1grape--a.txt 4grape--b.txt 3grape--c.txt 1pear--a.txt 1pear--b.txt ...原创 2018-09-13 13:12:38 · 296 阅读 · 0 评论 -
大数据(十五):Hadoop数据压缩与压缩/解压缩实例
一、数据压缩1.概论 压缩技术能够有效减少低层存储系统(HDFS)读写字节。压缩提高了网络带宽和磁盘空间的效率。在Hadoop下,尤其是数据规模很大和工作负载密集的情况下。使用数据压缩闲的非常重要。在这种情况下,I/O操作和网络数据传输要花大量的时间。还有,shuffle与merge过程同样也面临着巨大的I/O压力。 磁盘I/O和网络带宽是Hadoop的宝贵...原创 2018-09-13 16:17:29 · 1468 阅读 · 0 评论 -
大数据(三十二):kafka消费过程
一、kafka在zookeeper中的存储结构producer不在zk中注册,消费者在zk中注册。 二、kafka消费过程分析kafka提供了两套consumer API:高级Consumer Api和低级Api1.高级Api 优点: 编写简单,不需要自行管理offset,系统通过zookeeper自行管理 不需要管理分区,副本等情况,系统自...原创 2018-11-20 15:42:20 · 1049 阅读 · 0 评论