初尝大数据


1.什么是大数据,4V?
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、
洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。
大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

2.数据  结构+非结构
数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。
数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。
在计算机系统中,数据以二进制信息单元0,1的形式表示。

非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、
图片、XML, HTML、各类报表、图像和音频/视频信息等等。
计算机信息化系统中的数据分为结构化数据和非结构化数据。非结构化数据其格式非常多样,标准也是多样性的,而且在技术上非结构化信息比
结构化信息更难标准化和理解。所以存储、检索、发布以及利用需要更加智能化的IT技术,比如海量存储、智能检索、知识挖掘、内容保护、信
息的增值开发利用等。


3.数据单位  pb,Z Y
1TB (Tera byte 万亿字节 太字节)=1024GB
1PB(Peta byte 千万亿字节 拍字节)=1024TB
1EB(Exa byte 百亿亿字节 艾字节)=1024PB,
1ZB (Zetta byte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Yotta byte 一亿亿亿字节 尧字节)= 1024 ZB


4.数据分析流程: 采集-ETL-分析-显示


5.计算模式:迭代 流 批处理 交互式
所谓大数据计算模式,是指根据大数据的不同数据特征和计算特征,从多样性的大数据计算问题和需求中提炼并建立的各种高层抽象(Abstraction)
和模型(Model)。传统的并行计算方法主要从体系结构和编程语言的层面定义了一些较为底层的抽象和模型,但由于大数据处理问题具有很多高层
的数据特征和计算特征,因此大数据处理需要更多地结合其数据特征和计算特性考虑更为高层的计算模式。


适合于完成大数据批处理的计算模式是MapReduce,这是MapReduce设计之初的主要任务和目标。MapReduce是一个单输入、两阶段(Map和Reduce)的
数据处理过程。首先,MapReduce对具有简单数据关系、易于划分的大规模数据采用“分而治之”的并行处理思想;然后将大量重复的数据记录处理
过程总结成Map和Reduce两个抽象的操作;最后MapReduce提供了一个统一的并行计算框架,把并行计算所涉及到的诸多系统层细节都交给计算框架去
完成,以此大大简化了程序员进行并行化程序设计的负担。
MapReduce的简单易用性使其成为目前大数据处理最成功的主流并行计算模式。在开源社区的努力下,开源的Hadoop系统目前已成为较为成熟的大数据
处理平台,并已发展成一个包括众多数据处理工具和环境的完整的生态系统。目前几乎国内外的各个著名IT企业都在使用Hadoop平台进行企业内大数
据的计算处理。此外,Spark系统也具备批处理计算的能力。


流式计算是一种高实时性的计算模式,需要对一定时间窗口内应用系统产生的新数据完成实时的计算处理,避免造成数据堆积和丢失。很多行业的大数
据应用,如电信、电力、道路监控等行业应用以及互联网行业的访问日志处理,都同时具有高流量的流式数据和大量积累的历史数据,因而在提供批处
理计算模式的同时,系统还需要能具备高实时性的流式计算能力。流式计算的一个特点是数据运动、运算不动,不同的运算节点常常绑定在不同的服务
器上。
Facebook的Scribe和Apache的Flume都提供了一定的机制来构建日志数据处理流图。而更为通用的流式计算系统是Twitter公司的Storm、Yahoo公司的S4
以及Apache Spark Steaming。


迭代计算能力的典型系统是Spark,其采用了基于内存的RDD数据集模型实现快速的迭代计算。
目前已经出现了很多分布式图计算系统,其中较为典型的系统包括Google公司的Pregel、Facebook对Pregel的开源实现Giraph、微软公司的Trinity、
Spark下的GraphX,以及CMU的GraphLab以及由其衍生出来的目前性能最快的图数据处理系统PowerGraph。


6.简介分布式系统?
分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。
因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,
有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,
用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。


7
Cloudera's Distribution, including Apache Hadoop
是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建
提供了Hadoop的核心
可扩展存储
分布式计算
基于Web的用户界面
CDH的优点  
  • 版本划分清晰
  • 版本更新速度快
  • 支持Kerberos安全认证
  • 文档清晰
  • 支持多种安装方式(Cloudera Manager方式)


分布式领域CAP理论,
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容错性) 可靠性
定理:任何分布式系统只可同时满足二点,没法三者兼顾。
忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。


9.hadoop技术栈 hdfs,mapreduce,hive,hbase,sqoop
HDFS:Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。
但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,
非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目
的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)
硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了
(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。


HBase:是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化数据集群。像Facebook,
都拿它做大型实时应用。


Hive:Facebook领导的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce
任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计。像一些data scientist 就可以直接查询,不需要学习其他编程接口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值