简介
hive是使用SQL完成大数据统计分析的工具。
hive是facebook公司开源的工具,用来解决海量的结构化日志的统计问题。
hive是构建在hadoop之上的数据仓库。
HDFS: hive的 数据是放在HDFS (distributed storge), 元数据(metadata)存在对应的底层关系型数据库,一般是MySQL
MR(计算引擎): hive的作 业(SQL)是通过hive的框架翻译成MR作业
Yarn: hive的 作业是提交到Yarn.上去运行的
hive其实就是一一个客户端,没有集群的概念,提交作业到集群的Yarn.上面去运行(没有感情的提交机器)
SQL ==> Hive ==> MR ==> Yarn
distributed storge
HDFS, AWS S3,各种云OOS COS
这些系统,hive都可以对接,只要有对应的jar包,本地的文件系统(file开头)也可以对接
metadata
统一的元数据管理
元数据:描述数据的数据
Hive适用场景
批处理/离线处理
Hive的优缺点
优点:易上手,比MR使用起来简单多了
缺点:延时性高
作业
1.MPP数据库的概念以及有哪些?
MPP (Massively Parallel Processing),即大规模并行处理。简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。
常见的MPP数据库GreenPlum、Vertica、Sybase IQ、TD Aster Data
2.在hive建表时,metastore哪些表会有改动?
TBLS、TABLE_PARAMS
3.优势洗牌
class Solution {public int[] advantageCount(int[] a, int[] b) {int i,j,k,n,temp;n=a.length;//将数组a从小到大排序for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(a[j]>a[j+1]){temp = a[j];a[j]=a[j+1];a[j+1]=temp;}}}for(i=0;i<n-1;i++){for(j=i;j<n;j++){if(a[i]>b[i]) break;if(a[j]>b[i]){//将a[j]移到a[i],中间的依次后移一位temp = a[j];for(k=j;k>i;k--){a[k]=a[k-1];}a[i]=temp;}}}return a;}
}