大数据一些基本概念

来源:互联网 发布:域普软件 编辑:程序博客网 时间:2024/06/18 16:39

一、大数据定义,4个V

大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。


value(价值密度低):价值的分布密度低,提取的难度大

volume(大容量):数据量大,采集、存储和计算的数据量都很大

velocity速度快):数据增长速度快,处理速度也快,时效性要求高

variety(数据多样):数据的种类和来源多样


二、数据类型

结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据

非结构化数据:不方便用数据库二维逻辑表来表现的数据


三、数据单位

1B=8bit;

1024进制

B->KB->MB->GB->TB->PB->EB->ZB->YB->BB->NB->DB


四、数据分析流程

采集-ETL-分析-显示

采集:一般数据来源于四种方式:数据库、第三方数据统计工具、专业的调研机构的统计年鉴或报告(如艾瑞资讯)、市场调查。

ETL:数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。主要包括数据清洗、数据转化、数据提取、数据计算等处理方法。

分析:用适当的分析方法及工具,对处理过的数据进行分析,提取有价值的信息,形成有效结论的过程。

显示:一般情况下,数据是通过表格和图形的方式来呈现的。


五、计算模式

迭代计算:迭代是程序中对一组指令(或一定步骤)的重复。它既可以被用作通用的术语,也可以用来描述一种特定形式的具有可变状态的重复。
批处理:对某对象进行批量的处理。
交互式处理:通过终端设备(见输入输出系统)输入信息和操作命令,系统接到后立即处理,并通过终端设备显示处理结果。
流式计算:流式计算以连续、无边界和瞬时性为特征,适合高速并发和大规模数据实时处理的场景

图计算:“图论”为基础的对现实世界的一种“图”结构的抽象表达,以及在这种数据结构上的计算模式。
内存计算:(In-Memory Computing),实质上就是CPU直接从内存而非硬盘上读取数据,并对数据进行计算、分析


六、分布式系统

  分布式系统建立在网络之上的软件系统,具有高度的内聚性和透明性。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。


七、CDH

Cloudera’s Distribution Including Apache Hadoop(CDH)

  Hadoop商业化后的产物,安装更方便,可靠性更强,安全性更高。基于稳定版本的Apache Hadoop构建,相对与开源的Hadoop,版本更新快,集群更新简单,支持Kerberos安全认证,文档清晰,支持多种安装方式(Cloudera Manager方式)。


八、CAP原理

CAP原则是NOSQL数据库的基石。Consistency(一致性)。 Availability(可用性)。Partition tolerance(分区容错性),三者不可得兼

  一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
  可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
  分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。


九、hadoop技术栈 hdfs,mapreduce,hive,hbase,sqoop

HDFS:HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上。

MapReduce:MapReduce是一种分布式计算模型,用以进行大数据量的计算。它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分,其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。

HIVE:定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。

HBASE:一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。

Sqoop:SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。

原创粉丝点击