大数据
文章平均质量分 77
青岛欢迎您
每天进步一点点
展开
-
Oozie-简介及部署
1、Oozie简介1.1、Oozie简介现实业务中处理数据时不可能只包含一个MR操作,一般都是多个MR,并且中间还可能包含多个Java或HDFS,甚至是shell的操作,利用Oozie可以完成这些任务。实际上Oozie不是仅用来配置多个MR工作流的,它可以是各种程序夹杂在一起的工作流,比如执行一个MR1后,接着执行一个java脚本,再执行一个shell脚本,接着是Hive脚本,然后又是...原创 2019-01-20 13:05:32 · 593 阅读 · 0 评论 -
Hive-基本概念
1、什么是 HiveHive:由 Facebook 开源用于解决海量结构化日志的数据统计。Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并 提供类 SQL 查询功能。本质是:将 HQL 转化成 MapReduce 程序1)Hive 处理的数据存储在 HDFS2)Hive 分析数据底层的实现是 MapReduce3)执行程序运行在 Y...原创 2018-12-03 16:49:50 · 182 阅读 · 0 评论 -
Hadoop-企业优化
1、MapReduce 跑的慢的原因Mapreduce 程序效率的瓶颈在于两点:1)计算机性能CPU、内存、磁盘健康、网络2)I/O 操作优化(1)数据倾斜 (2)map 和 reduce 数设置不合理 (3)map 运行时间太长,导致 reduce 等待过久 (4)小文件过多 (5)大量的不可分块的超大文件(6)spill 次数过多 (7)merge 次数过多等。2、Ma...原创 2018-11-28 14:28:52 · 172 阅读 · 0 评论 -
Hadoop-Yarn
1、Hadoop1.x 和 Hadoop2.x 架构区别在 Hadoop1.x 时代,Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源的调度,耦 合性较大。在 Hadoop2.x 时代,增加了 Yarn。Yarn 只负责资源的调度,MapReduce 只负责运算。2、Yarn 概述Yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式 的操作...原创 2018-11-28 14:28:44 · 267 阅读 · 0 评论 -
Hadoop-数据压缩
1、概述:压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁 盘空间的效率。在 Hadoop 下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。在这种情况下,I/O 操作和网络数据传输要花大量的时间。还有,Shuffle 与 Merge 过程同样也面临着巨大的 I/O 压力。压缩 Mapreduce 的一种优化策略:通过压缩编码对 Mapp...原创 2018-11-28 14:28:36 · 133 阅读 · 0 评论 -
MapReduce-实战[找博客共同好友案例]
1、需求:以下是博客的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中 的好友关系是单向的)求出哪些人两两之间有共同好友,及他俩的共同好友都有谁?2、需求分析:先求出 A、B、C、….等是谁的好友(如A是I,K,C,B,G,F,H,O,D的好友)第一次输出结果第二次输出结果(如A和B的共同好友有E、C)......3、代码实现:3.1...原创 2018-11-28 14:28:18 · 380 阅读 · 0 评论 -
MapReduce-框架原理
1、MapReduce工作原理1.1、MapReduce的简易过程图:输入 --> map --> shuffle --> reduce -->输出1.2、MapReduce的详细工作流程图:上面的流程是整个mapreduce最全工作流程,但是shuffle过程只是从第7步开始到第16步结束,具体shuffle过程详解,如下:1)maptas...原创 2018-11-28 14:28:08 · 370 阅读 · 0 评论 -
MapReduce-实战[WordCount案例][流量汇总案例]
1、WordCount 案例1.1、需求 :在一堆给定的文本文件中统计输出每一个单词出现的总次数1.2、分析:按照 mapreduce 编程规范,分别编写 Mapper,Reducer,Driver。1.3、编写程序及测试:mapper 类每行都执行一次map方法,输入KV是<行号,一行内容>,遍历每行单词,输出到reduce的KV是<单词,个数1&g...原创 2018-11-28 14:27:59 · 508 阅读 · 1 评论 -
MapReduce-概述及Hadoop序列化
1、MapReduce概述1.1、MapReduce 定义Mapreduce 是一个分布式运算程序的编程框架,是用户开发“基于 hadoop 的数据分析 应用”的核心框架。Mapreduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的 分布式运算程序,并发运行在一个 hadoop 集群上。1.2、MapReduce 优缺点优点:1)MapReduce ...原创 2018-11-28 14:27:52 · 174 阅读 · 0 评论 -
HDFS-NameNode和DataNode工作机制
1、NameNode工作机制1.1、NameNode&Secondary NameNode 工作机制1)第一阶段:namenode 启动(1)第一次启动namenode格式化后,创建fsimage(记录文件的最终状态)和edits(记录操作日志)文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。(2)客户端对元数据进行增删改的请求。(3)namenode ...原创 2018-11-28 14:27:28 · 353 阅读 · 0 评论 -
HDFS-命令行操作及客户端操作
1、HDFS 命令行操作1.1、基本语法bin/hadoop fs 具体命令1.2、参数大全通过命令 bin/hadoop fs 查看1.3、常用操作命令1)、启动 Hadoop 集群:2)、-help:输出这个命令参数3)、-ls: 显示目录信息4)、-mkdir:在 hdfs 上创建目录5)、-moveFromLocal 从本地剪切粘...原创 2018-11-28 14:27:19 · 1381 阅读 · 0 评论 -
HDFS-概述
1、HDFS 产生背景随着数据量越来越大,在一个操作系统管辖的范围内存不下了,那么就分配到更多的操 作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件, 这就是分布式文件管理系统。HDFS 只是分布式文件管理系统中的一种。2、HDFS 概念HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布 式的,由很多服务器联合起来实现其功能,...原创 2018-11-28 14:27:08 · 157 阅读 · 0 评论 -
入门-Hadoop编译源码
1、前期准备工作1.1、虚拟机centos7配置 CentOS 能连接外网。Linux 虚拟机 ping www.baidu.com 是畅通的 注意:采用 root 角色编译,减少文件夹权限出现问题。1.2、jar 包准备(hadoop 源码、JDK7 、 maven、 ant 、protobuf)2、jar 包安装注意:所有操作必须在 root 用户下完成。2.1、J...原创 2018-11-28 14:26:50 · 148 阅读 · 0 评论 -
入门-Hadoop运行环境搭建(单机)及运行模式
1、准备工作:阿里云服务器:操作系统:linux CentOS 7.4 64位Cpu:1核内存:2G硬盘:40Gip:47.105.***.***jdk-8u60-linux-x64.tar.gzhadoop-2.7.2.tar.gz2、环境搭建步骤:2.1、首先更改主机名,目的是为了方便管理添加IP和主机名映射(vim /etc/hosts),在配置文...原创 2018-11-28 14:26:39 · 378 阅读 · 0 评论 -
入门-大数据概论及Hadoop介绍
1、大数据概论大数据(big data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。主要解决,海量数据的存储和海量数据的分析计算问题。按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。1Byte = 8b...原创 2018-11-28 14:26:23 · 260 阅读 · 1 评论 -
Hive-DDL数据定义
1、创建数据库1)创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db。2)创建一个数据库,指定数据库在 HDFS 上存放的位置。2、修改数据库用户可以使用 ALTER DATABASE 命令为某个数据库的 DBPROPERTIES 设置键-值对 属性值,来描述这个数据库的属性信息。数据库的其他元数据信息都是不可更改的,包...原创 2018-12-04 16:50:59 · 188 阅读 · 0 评论 -
Hive-安装环境准备
1、Hive 安装地址1)Hive 官网地址: http://hive.apache.org/2)文档查看地址: https://cwiki.apache.org/confluence/display/Hive/GettingStarted3)下载地址: http://archive.apache.org/dist/hive/4)github 地址: https://github....原创 2018-12-03 16:50:58 · 889 阅读 · 1 评论 -
Hive-数据类型
1、基本数据类型注意:对于 Hive 的 String 类型相当于数据库的 varchar 类型,该类型是一个可变的字符串, 不过它不能声明其中最多能存储多少个字符,理论上它可以存储 2GB 的字符数。2、集合数据类型Hive 有三种复杂数据类型 ARRAY、MAP 和 STRUCT。ARRAY 和 MAP 与 Java 中 的 Array 和 Map 类似,而 STRUCT 与 ...原创 2018-12-03 16:52:04 · 264 阅读 · 0 评论 -
HBase-常用Shell操作及数据备份恢复
1、常用的 Shell 操作1) satus例如:显示服务器状态:2) whoami例如,显示 HBase 当前用户:3) list显示当前所有的表:4) count例如,统计指定表的记录数:5) describe展示表结构信息:6) exists检查表是否存在,适用于表量特别多的情况:7) is_enabled/is_dis...原创 2019-01-11 15:36:21 · 526 阅读 · 0 评论 -
HBase-与Hive的区别、与Sqoop的集成
1、HBase 与 Hive 的对比Hive:1)、数据仓库Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以方 便使用 HQL 去管理查询。2)、用于数据分析、清洗Hive 适用于离线的数据分析和清洗,延迟较高。3)、基于 HDFS、MapReduceHive 存储的数据依旧在 DataNode 上,编写的 HQL 语句终...原创 2019-01-10 16:58:25 · 989 阅读 · 0 评论 -
HBase-读写流程及JavaAPI
1、读写流程1.1、HBase 读数据流程1) HRegionServer 保存着 meta 表以及表数据,要访问表数据,首先 Client 先去访问 zookeeper,从 zookeeper 里面获取 meta 表所在的位置信息,即找到这个 meta 表在哪个 HRegionServer 上保存着。2) 接着 Client 通过刚才获取到的 HRegionServer 的 IP 来...原创 2019-01-09 15:18:38 · 758 阅读 · 0 评论 -
HBase-部署及简单使用
1、HBase部署1.1、Zookeeper 正常部署首先保证 Zookeeper 集群的正常部署,并启动之:1.2、Hadoop 正常部署Hadoop 集群的正常部署并启动:1.3、HBase 的解压解压 HBase 到指定目录:1.4、HBase 需要依赖的 Jar 包 由于 HBase 需要依赖 Hadoop,所以替换 HBase 的 li...原创 2019-01-04 10:25:49 · 221 阅读 · 0 评论 -
HBase-简介及架构
1、简介1.1、HBase简介– HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据库 – 利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 HBase中的海量数据,利用Zookeeper作为其分布式协同服务– 主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库)...原创 2019-01-04 10:25:11 · 3296 阅读 · 0 评论 -
Kafka-工作流程分析及API实战
1、Kafka工作流程分析1.1、Kafka生产过程分析1)、写入方式:producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率)。2)、分区(Partition)Kafka集群有多个消息代理服务器(broker-server)组成,发布...原创 2018-12-26 19:59:16 · 323 阅读 · 0 评论 -
Kafka-概述和集群部署
1、Kafka概述1.1、Kafka是什么在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。1)Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。2)Kafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Cons...原创 2018-12-26 19:59:05 · 489 阅读 · 0 评论 -
Flume-部署及使用案例
1、Flume 简介1) Flume 提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务, Flume只能在Unix环境下运行。2) Flume 基于流式架构,容错性强,也很灵活简单。3) Flume、Kafka 用来实时进行数据收集,Spark、Storm 用来实时处理数据,impala 用来实 时查询。2、Flume 角色Flume的一些核心概念:...原创 2018-12-19 10:48:25 · 268 阅读 · 0 评论 -
Sqoop-常用命令及参数
1、Sqoop常用命令及参数2、命令&参数详解刚才列举了一些 Sqoop 的常用命令,对于不同的命令,有不同的参数,让我们来一一列举说明。 首先来我们来介绍一下公用的参数,所谓公用参数,就是大多数命令都支持的参数。2.1、公用参数:数据库连接2.2、公用参数:import2.3、公用参数:export2.4、公用参数:hive命令对应...原创 2018-12-13 16:26:59 · 224 阅读 · 0 评论 -
Sqoop-简介及安装
1、Sqoop 简介Apache Sqoop(TM)是一种旨在有效地在Apache Hadoop和诸如关系数据库等结构化数据存储之间传输大量数据的工具。Sqoop于2012年3月孵化出来,现在是一个顶级的Apache项目。最新的稳定版本是1.4.6。Sqoop2的最新版本是1.99.7。Sqoop(SQL-to-Hadoop)是一个在结构化数据和Hadoop之间进行批量数据迁移的工...原创 2018-12-13 16:26:47 · 419 阅读 · 0 评论 -
Hive-扩展项目Youtube
1、需求描述统计 Youtube 视频网站的常规指标,各种 TopN 指标:--统计视频观看数 Top10--统计视频类别热度 Top10--统计视频观看数 Top20 所属类别包含这 Top20 视频的个数--统计视频观看数 Top50 所关联视频的所属类别 Rank--统计每个类别中的视频热度 Top10--统计每个类别中视频流量 Top10--统计上传视频最多...原创 2018-12-11 13:10:45 · 6349 阅读 · 0 评论 -
Hive-企业级调优
1、Fetch 抓取Fetch 抓取是指Hive 中对某些情况的查询可以不必使用 MapReduce 计算。例如: SELECT * FROM employees;在这种情况下,Hive 可以简单地读取 employee 对应的存储目录 下的文件,然后输出查询结果到控制台。在 hive-default.xml.template 文件中 hive.fetch.task.conversion ...原创 2018-12-05 15:03:52 · 289 阅读 · 0 评论 -
Hive-函数
1、系统自带的函数1)查看系统自带的函数2)显示自带的函数的用法3)详细显示自带的函数的用法2、自定义函数1)Hive 自带了一些函数,比如:max/min 等,但是数量有限,自己可以通过自定义 UDF 来方便的扩展。2)当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义 函数(UDF:user-defined function...原创 2018-12-05 09:53:16 · 147 阅读 · 0 评论 -
Hive-查询
1、基本查询(Select…From)1.1、基本查询全表查询: hive (default)> select * from emp;选择特定列查询: hive (default)> select empno, ename from emp;列别名:hive (default)> select ename AS name, deptno dn from emp;...原创 2018-12-04 17:09:33 · 248 阅读 · 0 评论 -
Hive-DML数据操作
1、数据导入1.1、向表中装载数据(Load)1)、语法:hive>load data [local] inpath '/opt/module/datas/student.txt' [overwrite] into table student [partition (partcol1=val1,…)];(1)load data:表示加载数据(2)local:表示从本地加载数据...原创 2018-12-04 16:51:11 · 156 阅读 · 0 评论 -
Oozie-应用及案例
1、案例一:Oozie 调度 shell 脚本目标:使用 Oozie 调度 Shell 脚本,分步实现:1) 解压官方案例模板2) 创建工作目录3) 拷贝任务模板到 oozie-apps/目录4) 随意编写一个脚本 p1.sh5) 修改 job.properties 和 workflow.xml 文件job.propertiesworkflo...原创 2019-01-20 16:02:06 · 219 阅读 · 0 评论