摘要:
HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一 全称是:Hadoop Distributed File System(Hadoop分布式文件系统) 是Hadoop技术栈内提供的分布式数据存储解决方案 可以在多台服务器上构建存储集群,存储海量的数据 阅读全文
摘要:
为什么需要分布式存储? 数据量太大,单机存储能力有上限,需要靠数量来解决问题 数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的综合提升。 分布式组合在一起可以达到1+1>2的效果 1. 分布式系统常见的组织形式? 去中心化模式:没有明确中心,大家协调工作 中心化模式:有明确的中心,基于中 阅读全文
摘要:
1. 什么是计算、分布式计算? 计算:对数据进行处理,使用统计分析等手段得到需要的结果 分布式计算:多台服务器协同工作,共同完成一个计算任务 2. 分布式计算常见的2种工作模式 分散->汇总 (MapReduce就是这种模式) 中心调度->步骤执行 (大数据体系的Spark、Flink等是这种模式) 阅读全文
摘要:
Hive的函数分为两大类:内置函数(Built-in Functions)、用户定义函数UDF(User-Defined Functions): 阅读全文
摘要:
Apache Hive其2大主要组件就是:SQL解析器以及元数据存储, 如下图。 元数据存储 通常是存储在关系数据库如 mysql/derby中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。 -- Hive提供了 Metastore 服务进 阅读全文
摘要:
进行随机抽样,本质上就是用TABLESAMPLE函数 语法1,基于随机分桶抽样: SELECT ... FROM tbl TABLESAMPLE(BUCKET x OUT OF y ON(colname | rand())) y表示将表数据随机划分成y份(y个桶) x表示从y里面随机抽取x份数据作为 阅读全文
摘要:
分桶和分区一样,也是一种通过改变表的存储模式,从而完成对表优化的一种调优方式 但和分区不同,分区是将表拆分到不同的子文件夹中进行存储,而分桶是将表拆分到固定数量的不同文件中进行存储。 阅读全文
摘要:
在大数据中,最常用的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文件,这样每次操作一个小的文件就会很容易了 同样的道理,在hive当中也是支持这种思想的,就是我们可以把大的数据,按照每天,或者每小时进行切分成一个个的小的文件,这样去操作小的文件就会容易得多了。 如图,一个典型的按月份分 阅读全文