hadoop工作平台梳理
文章 http://blog.csdn.net/lili72/article/details/41130743
lili72
数据平台:
一、 hadoop平台:Hbase。hive,storm,spark
1) 部署hadoop到多台机器,调整配置參数,保证正常执行。可能出现作业挂死现象。
2) 部署hiveclient,元数据库mysql等的配置,hiveclient是不參与集群的。mysql也是安置在另外一台server上集群的。
3) 部署Hbase,storm,spark
二 、 调度系统: 数据是每天接入能够看做是每天要跑的任务。并且任务间存在依赖,须要完好的依赖触发机制。
1) 把全部的脚本或者MR,包含数据接入。数据清洗,数据加工都配置成一个个的任务。记录这些任务的执行时间,是否存在依赖等
2) 各种类型的任务一定要可控。比方。MR,shell,hive命令统一记录相应信息。方便以下的监控预警系统。
三、 监控预警系统:
1) 平台监控与预警:
1.1 hadoop本身的监控系统。看job执行状况。
1.2 还有对lunixserver的io,cpu,硬盘大小做监控。超过阀值,则发信息通知相应的负责人。
2) 任务监控与预警:
2.1 任务包含但不仅限于数据採集任务,ETL任务,同步到mysql的任务。
这里的任务可能是一个MR。或者是一个shell脚本,或者其它程序。
监控这些任务的运行情况,记录报错日志,发送报错信息到相应负责人。
3) 数据质量监控与预警
3.1 检查当天数据源是否正常,比方文件个数。文件大小,文件到达时间等。假设数据源有问题,事实上任务调度系统就停在数据源採集任务步骤。
3.2 检查各数据的指标项的同比,环比,增幅等,看是否有超过阀值的数据,有责预警。
四、 报表展示
1) 前端html5或者hightchars或者多维报表工具展现
数据架构:
1、 首先整体来说,数据是分3层的
1.1 s48-源数据层:
1.1.1 文件来源,分布到多台机器文本文件,按天或者按小时生成的文件。通过shell脚本,运行定时远程复制,把数据转移到hdfs中的hive里,按天或小时分区,甚至按分钟。
操作方式:hive -e \"LOAD DATA LOCAL INPATH '${SourPath}/${day}/${hour}' OVERWRITE INTO TABLE xxx_database.xxx_table PARTITION (dt='${day}',db=${hour});\"
长处:操作简便。缺点:无法确保数据的完整性,假设数据没有正常提供,load命令报错,须要在load之前加.ok 文件,确保文件已经完整提供。
时间点依赖。假设文件没有按时过来,该load命令须要推迟运行。(结合调度系统使用)
1.1.2 关系型数据库来源。比方mysql。sqlserver,oracle。
通过定时sqoop到hive中,或者通过开源工具kettle同步到hive,或者写MR定制导入数据。
操作方式:分增量或者全量的方式,sqoop 命令,有时sqoop异常,比方源数据库所在网络组和集群不在同一个网段。源数据存在特殊字符JDBC-connective不支持
使用kettle生成文件。然后导入到hive
总结:三种方式各有各的长处和局限性。
1.1.3 通过kafka主题分发。实时消费,解析json数据,按天存放到txt文件,然后导入到hive中。
有异常(无法解析。
不符合json格式)数据放到bad.txt,其他放在正常业务数据中
保留一份解析前的数据。同一时候生成一份解析后的数据。自己主动load到hive中。或者数据直接进入storm中,进行实时计算。
1.2 t48-数据清洗
1.2.1 轻度清洗,比方去除反复数据(使用udf的row_number),替换某些字符(replace)。切分某些字段(可能一个字段包括多个语义)。
1.2.3 要充分考虑使用hive的时候。hql的可优化性。减轻平台负担。
1.3 t68-数据加工,etl过程。分组
1.3.1 依据业务含义,依照不同纬度(平台。版本号。渠道。类型。日期等)汇总,关联计算等,(比方留存率。活跃用户数,用户流失率。总用户数。总登陆次数等)。
包含行转列,列转行。这个过程主要是case when,group by ,(with CUBE ,ROLLUP,GROUPING SETS )等。
1.4 sqoop到mysql中,或者送到指定的路径。通过webservice接口服务。
1.4.1 通过sqoop命令或者自己定义MR处理特殊的某些数据,从hive到mysql,因为某些字符集mysql版本号不支持。
(全部的操作都要考虑重跑机制,出错自己主动又一次发起。追历史数据,支持传入參数。有默认參数值)
1 接口确定:
前置条件:业务提出需求形成需求文档。
工作内容:评估需求可行性(依据眼下数据平台架构,能否满足业务的须要)。分析需求涉及的接口范围,及时和业务沟通需求点。评估需求花费时间,发需求确认邮件。
产出结果: 确认好的接口文档。(接口文档包含建表的每一个字段英文和中文说明,表名称说明,从源到下一层的映射关系详细说明。码值含义,评估的每天数据量,保存周期)
2 ETL开发:(包含数据清洗和数据加工)
前置条件:接口文档已经确定完毕
工作内容:ETL过程设计,依据接口文档建好表,依据ETL设计文档,编写代码。验证逻辑。大多都是写hive sql来完毕。
也有些也须要自己定义MR来写。比方(ip转数字,)。自己定义udf函数
处理(row_number(),过滤特殊字符的udf,ip省市映射)
产出结果:etl设计文档,etl代码(sql或Java)
3 报表展现:
前置条件:etl已经产出结果
工作内容:sqoop dm层数据到mysql或者自己定义MR导出数据到mysql。前端html5个性化展示。或者hightchar
产出结果:业务能前台,按各种查询条件获得所须要的数据展现。
4 报表审核:
前置条件:报表开发已经完毕。
工作内容:依据业务需求。有针对性的检查数据真实性,有效性。
产出结果:审核文档,保证报表数据质量准确。
5 交货验收:操作实际使用。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
hadoop工作平台梳理的更多相关文章
- 配置hadoop
1.$ tar -zxvf hadoop-1.0.3.tar.gz 2.添加hadoop到环境变量 root登陆: sudo su 修改环境变量:vi /etc/environment 添加: / ...
- 大数据系列(3)——Hadoop集群完全分布式坏境搭建
前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...
- Hadoop版本变迁
内容来自<Hadoop技术内幕:深入解析YARN架构设计与实现原理>第2章:http://book.51cto.com/art/201312/422022.htm Hadoop版本变迁 当 ...
- 想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍?--转自知乎
作者:廖君链接:https://www.zhihu.com/question/19868791/answer/88873783来源:知乎 分布式系统(Distributed System)资料 < ...
- Hadoop在win7下部署的问题
问题: 为了测试方便所以在win7下部署了伪分布式hadoop运行环境,但是部署结束后在命令行运行hadoop命令创建一个用户文件目录时出现了一下情况: 系统找不到指定的批标签- make_comma ...
- hadoop HA 之 QJM
前言 本文主要通过对hadoop2.2.0集群配置的过程加以梳理,所有的步骤都是通过自己实际测试.文档的结构也是根据自己的实际情况而定,同时也会加入自己在实际过程遇到的问题.搭建环境过程不重要,重要点 ...
- Hadoop发行版本介绍
前言 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘.开源界及厂商,所有数据软件,无一不向Hadoop靠拢.Hadoop也从小众的高富帅领域 ...
- 大象的崛起!Hadoop七年发展风雨录
http://www.open-open.com/news/view/a22597 在互联网这个领域一直有这样的说法:“如果老二无法战胜老大,那么就把老大赖以生存的东西开源吧”.当年Yahoo!与Go ...
- 阿里封神谈hadoop学习之路
阿里封神谈hadoop学习之路 封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 s ...
随机推荐
- OpenCV中的SVM參数优化
SVM(支持向量机)是机器学习算法里用得最多的一种算法.SVM最经常使用的是用于分类,只是SVM也能够用于回归,我的实验中就是用SVM来实现SVR(支持向量回归). 对于功能这么强的算法,opencv ...
- Mega的简单使用
Table of Contents 1 Mega画树的简单应用 2 fas格式文件的准备 3 用生成的.meg画树 4 生出树的处理 4.1 修改内容,添加标注 4.2 导出 4.3 后面随着学习的进 ...
- SQL:多表关联采取这一纪录迄今为止最大
笔者:iamlasong 1.需求 两个表,投递记录表和封发开拆记录表,如今想知道投递日期距最后一次封发日期天数分布情况. 对这个需求,须要先查询出投递明细,同一时候要知道相应的邮件最后一次封发情况. ...
- MySQL基金会-基本数据库操作
1. 删除数据库 DROP DATABASE 数据库名; mysql> drop database test; 即删除数据库模式 2 .创建数据库 create DATABASE 数据库名; m ...
- elasticsearch中国字(mmseg)——手动添加字典
elasticsearch中国文字本身并不是一个理想的插件效果.手动添加字典可以补偿在一定程度上. 后发现了几个实验,mmseg分段机制采用正向最长匹配算法.例如,抵抗"小时报"这 ...
- C++学习笔记33 转换操作符
有时候,我们要转换为类类型和类类型,同时,这两个类继承关系不存在,这时候我们就需要一些所谓的转换操作符运营商. 一个简单的例子.类别A转换为int种类 #include <iostream> ...
- 采用PopupWin控制消息推送功能
最近的项目需要,急需实现消息推送功能.接连试了很多办法,让我们用JavaScript为了实现啊,其效果是不咋好,最后,我发现了一个PopupWin这个,看着眼前的成绩不错,开始使用. 1.准备工作.先 ...
- iOS Crash获取闪回日志和上传server
首先我们整理常常会闪退的异常哪些:数组越界.空引用.引用没有定义方法.内存空间不足等等. 怎样获取crash闪退日志 -- 工具查看 先看第一个问题怎样查看,我搜索的方法有下面几个: 第一个方法:XC ...
- 【原创翻译】认识MVC设计模式:web应用开发的基础(实际编码篇)
原文地址:http://www.larryullman.com/2009/10/15/understanding-mvc-part-3/ 全系列INDEX [原创翻译]认识MVC设计模式:web应用开 ...
- 精致的外观Request
为什么要说Request精致的外观?请注意,我们这里所说的并不总是理解含义的外观门面,事实上,它使用的立面设计图案.使用的主要考虑数据安全的门面.它涉及到一个更大的系统系统的多个子系统之间的互动沟通. ...