大数据是指无法在一定的时间内用常规的软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察力、发现力和流程优化能力的海量、高增长率和多样化的信息资产(资源)。
2.大数据的5V特点Volume:大量,数据量比较大,从 TB 到 PB 。
Velocity:高速,数据量在以两位数的年增长率持续增加,对数据处理的速度要求高。
Variety:多样,数据类型复杂,超过80%的数据是非结构化的。
Value:低价值密度,需要在海量多样数据的快速分析下能够发挥出更高的数据价值。
Veracity:真实性
3.大数据单位最小的基本单位是 bit ,按顺序给出所有单位 bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、BB、NB、DB,它们按照进率1024(2的十次方)来计算:
8bit= 1Byte
1KB= 1,024 Bytes
1MB= 1,024 KB = 1,048,576 Bytes
1GB= 1,024 MB = 1,048,576 KB
1TB= 1,024 GB = 1,048,576 MB
1PB= 1,024 TB = 1,048,576 GB
1EB= 1,024 PB = 1,048,576 TB
1ZB= 1,024 EB = 1,048,576 PB
1YB= 1,024 ZB = 1,048,576 EB
1BB= 1,024 YB = 1,048,576 ZB
1NB= 1,024 BB = 1,048,576 YB
1 DB = 1,024 NB = 1,048,576 BB
3.元数据元数据(metaDate)是指关于数据的数据,或者叫做用来描述数据的数据,或者叫做数据的信息。
可以把元数据理解成最小的数据单位,元数据可以为数据说明其元素、属性、结构、其相关数据。
元数据的分类:1.固有性元数据:与事务构成有关的元数据。
2.管理性元数据:与事务处理方式有关的元数据。
3.描述性元数据:与事务本质有关的元数据。
元数据的特点1、元数据是关于数据结构化的数据,它不一定是数字形式的,可来自不同的资源。
2、元数据是对信息包裹编码的描述。
3、元数据是与对象相关的数据,此数据使其潜在的用户不必先具备对这些对象的存在和特征的完整认识。
4.大数据开发流程:数据采集、数据存储、数据清洗、数据分析、数据可视化。
2.Hive 1.概念:Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类似 SQL 的查询功能。
2.本质:Hive 的本质是将SQL转化成 MapReduce 程序。1、Hive 处理的数据存储在 HDFS 。
2、Hive 分析数据底层的实现是 MapReduce 。
3、执行程序运行在 Yarm 上。
3、Hive 特点1. 数据存储的位置: Hive 的数据存储在 HDFS 上,元数据可以存储在指定的地方,比如:MySql、PostgreSql 等。
2、数据更新:Hive 处理数据时一般不对数据进行改写,因为它不支持行级别增删操作,如果要进行更新数据,一般可以通过分区或者表直接覆盖。
3、执行效率:Hive 执行延迟较高,虽然在小数据量时传统数据库延迟更低,但是当数据规模大到超过传统数据库的处理能力的时候,Hive 的并行计算显然能体现出优势。
4、数据规模:Hive 支持大规模的数据计算,通常是 PB 级别的数据。
4、Hive 优点1.操作接口采用类似 SQL 语法,提供快速开发的能力。
2、避免去写 MapReduce ,减少开发人员的学习成本。
3、Hive 支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
4、Hive 执行延迟比较高,适用于大数据处理,对大数据处理有着一定的优势。
5、Hive 缺点1、Hive 的 HQL 表达能力有限:迭代式算法无法表达,数据挖掘方面不擅长。
2、Hive 执行效率比较低,Hive 自动生成的 MapReduce 作业通常情况下不够智能化。
3、Hive 调优比较困难,粒度较粗。
6、内部表外部表在 Hive 中创建表是,无 external 修饰的是内部表(managed table),有 external 修饰的是外部表(external table)。
1、内部表的数据由 Hive 自身管理,外部表的数据由 HDFS 管理。
2、内部表数据存储的位置是 Hive 在 HDFS 中存在默认的存储路径,即 default 数据库(默认:/user/hive/warehouse),所以在该路径下的表为内部表;外部表的数据存储位置由自己指定,可以指定除内部表路径以外的路径。
3、删除内部表会直接删除元数据(metadata)及存储的数据,对内部表的修改会将修改直接同步给元数据;删除外部表仅仅会删除元数据,HDFS 上的文件不会被删除,而对外部表的表结构和分区进行修改,则需要修复(msck repair table_name)。