1、数据采集

对于数据采集主要分为三类,即结构化数据库采集,日志和文件采集,网页采集。

对于结构化数据库,采用Sqoop是合适的,可以实现结构化数据库中数据并行批量入库到hdfs存储。
对于网页采集,前端可以采用Nutch,全文检索采用lucense,而实际数据存储最好是入库到Hbase数据库。
对于日志文件的采集,现在最常用的仍然是flume或chukwa,但是我们要看到如果对于日志文件数据需要进行各种计算处理再入库的时候,往往flume并不容易处理,这也是为何可以采用Pig来做进一步复杂的data flow和process的原因。 数据采集类似于传统的ETL等工作,因此传统ETL工具中的数据清洗,转换,任务和调度等都是相当重要的内容。
这一方面是要基于已有的工具,进行各种接口的扩展以实现对数据的处理和清洗,一方面是加强数据采集过程的调度和任务监控。

使用Hadoop分析处理数据,需要装载大量从不同来源的数据到Hadoop集群。
从不同来源大容量的数据加载到Hadoop,然后这个过程处理它,这具有一定的挑战。
维护和确保数据的一致性,并确保资源的有效利用,选择正确的方法进行数据加载前有一些因素是要考虑的。

http://www.68dl.com/2016/0404/21335.html

2、数据存储库

数据存储在这里先谈三种场景下的三种存储和应用方式,即Hbase,Hive,impala。三者都是基于底层的hdfs分布式文件系统。

hive重点是sql-batch查询,海量数据的统计类查询分析。而impala的重点是ad-hoc和交互式查询。hive和impala都可以看作是基于OLAP模式的。

Hbase库是支撑业务的CRUD操作,各种业务操作下的处理和查询。

如何对上面三种模式提供共享一致的数据存储和管理服务,HCatalog是基于Apache Hadoop之上的数据表和存储管理服务。提供统一的元数据管理,而不需要知道具体的存储细节当然是最好的,但是Hcatalog本身也还处于完善阶段,包括和Hive ,Pig的集成。

基于Mysql的MPP数据库Infobright是另外一个MPP(share nothing)数据分析库的选择,如果本身已有的业务系统就是基于Mysql数据库的,那么采用Infobright来做作为一个OLAP分析库也是一个选择。但是本身
Infobright的性能,Infobright社区版的稳定性,管控功能的缺失等仍然是需要考量的因素。 对于mapreduce和zookeeper本身就已经在hbase和hive中使用到了。如hive的hsql语言需要通过mapreduce解析和合并等。而对于impala要注意到本身是基于内存的MPP机制,没有用到mapreduce框架去处理,Dremel之所以能在大数据上实现交互性的响应速度,是因为使用了两方面的技术:一是对有嵌套结构的嵌套关系型数据采用了全新的列式存储格式,一是分布式可扩展统计算法,能够在几千台机器上并行计算查询结果。

3、实时流处理

这个hadoop框架本身没有包含,在此也做一个分析,前面已经摘录过文章对实时流处理做过介绍,而实际上真正实时流处理的场景并不多,任何一个技术的出现都是为了解决实际的业务问题。比如twitter推出storm可以解决实时热点查询和排序的问题,基于一个巨大的海量数据数据库,如果不是这种基于增量stream模式的分布式实时任务计算和推送,很难真正满足都业务对性能的要求。

同样对于s4和storm只是提供了一个开源的实时流处理框架,而真正的任务处理逻辑和代码仍然需要自己去实现,而开源框架只是提供了一个框架,提供了基本的集群控制,任务采集,任务分发,监控和failover的能力。真正在企业内部应用来看,很少有这种实时流场景,而与之对应的CEP复杂事件处理和EDA事件驱动架构,这个前面很多文章也都谈到过,这个基于消息中间件实现的事件发布订阅和推送,事件链的形成相对来说更加成熟。

[hadoop读书笔记] Hadoop下各技术应用场景的更多相关文章

  1. Hadoop读书笔记(二)HDFS的shell操作

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1全部的HDFS ...

  2. Hadoop读书笔记(四)HDFS体系结构

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的sh ...

  3. 深入探索Android热修复技术原理读书笔记 —— 资源热修复技术

    该系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 1 普遍的实现方式 Android资源的热修复,就 ...

  4. 傅盛读书笔记:下一个Moonshot是什么?

    猎豹移动CEO 傅盛 九月底,我有幸在硅谷拜访了苹果前CEO斯卡利.老人如今已经75岁高龄,但看起来仍充满活力.他花了一上午的时间跟我们沟通,非常谦和.平等.坦诚,给我留下了很深的印象.末了,给我们介 ...

  5. 深入探索Android热修复技术原理读书笔记 —— 代码热修复技术

    在前一篇文章 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍中,对热修复技术进行了介绍,下面将详细介绍其中的代码修复技术. 1 底层热替换原理 在各种 Android 热修复方案中 ...

  6. Hadoop学习笔记——Hadoop经常使用命令

    Hadoop下有一些经常使用的命令,通过这些命令能够非常方便操作Hadoop上的文件. 1.查看指定文件夹下的内容 语法: hadoop fs -ls 文件文件夹 2.打开某个已存在的文件 语法: h ...

  7. Hadoop下各技术应用场景

    数据采集和DataFlow 对于数据采集主要分为三类,即结构化数据库采集,日志和文件采集,网页采集.对于结构化数据库,采用Sqoop是合适的,可以实现结构化数据库中数据并行批量入库到hdfs存储.对于 ...

  8. [hadoop读书笔记] 第十五章 sqoop1.4.6小实验 - 将mysq数据导入hive

    安装hive 1.下载hive-2.1.1(搭配hadoop版本为2.7.3) 2.解压到文件夹下 /wdcloud/app/hive-2.1.1 3.配置环境变量 4.在mysql上创建元数据库hi ...

  9. [hadoop读书笔记] 第十五章 sqoop1.4.6小实验 - 数据在mysq和hdfs之间的相互转换

    P573 从mysql导入数据到hdfs 第一步:在mysql中创建待导入的数据 1.创建数据库并允许所有用户访问该数据库 mysql -h 192.168.200.250 -u root -p CR ...

随机推荐

  1. 关于在node项目使用ioredis遇到的几个坑

    1,在ioredis中使用redis命令的方法的时候,如果有2个以上的参数,必须使用then方法来接收返回的结果,比如: redis.hget('key','field').then(function ...

  2. 【小白的CFD之旅】小结及预告

    这是小白系列的索引,后续会继续更新. 已更新的部分 01 引子02 江小白03 老蓝04 任务05 补充基础06 流体力学基础07 CFD常识08 CFD速成之道09 初识FLUENT10 敲门实例1 ...

  3. 哈佛大学 Machine Learning

    https://am207.github.io/2017/material.html https://am207.github.io/2017/topics.html https://am207.gi ...

  4. vim学习日志(7):替换、删除文件中的字符

    vim全局替换文件: 语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. 如:“1,20 ...

  5. Asp.Net MVC分页PageList

    1.mvc网站右键->管理nuget程序包->安装下边两个组件 2.controller public dbModel db = new dbModel(); public ActionR ...

  6. c#去除字符串中的空格,回车,换行符,制表符

    string l_strResult = str.Replace("\n", "").Replace(" ","").R ...

  7. table 中 文字长度大于td宽度,导致文字换行 解决方案

    1.TD不换行 nowrap属性 表格table的td单元格中,文字长了往往会撑开单元格,但是如果table都不够宽了,就换行了好像(不要较真其他情况,我只说会换行的情况).换行后的表格显得乱糟糟,不 ...

  8. 简洁的python测试框架——Croner

    [本文出自天外归云的博客园] Croner简介 这是一个非常简洁的测试框架,是基于python3的nose进行二次开发的. Github地址 可以随意的在此基础上进行扩展以支持jenkins等其他扩展 ...

  9. ios label 简单的长按复制文本信息

    在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能.网上有很多种给Label添加长按复制功能的方法,这里我 ...

  10. 基于jQuery点击图像居中放大插件Zoom

    分享一款基于jQuery点击图像居中放大插件Zoom是一款放大的时候会从原图像的位置以动画方式放大到画面中间,支持点击图像或者按ESC键来关闭效果.效果图如下: 在线预览   源码下载 实现的代码. ...