005-hive概述,计算原理及模型
计算原理及模型

优化的根本思想:
尽早尽量过滤数据,减少每个阶段的数据量
减少job数
解决数据倾斜问题
Hive概述
| 名称 | |||
| hive系统架构 | metastore | derby mysql |
|
| HDFS | /usr/hive/warehouse | ||
| Mapreduce | |||
| hive配置文件 | hive-env.sh hive-site.xml hive-log4j.properties |
||
| hive命令行 | hive --config | ||
| hive shell | quit、exit reset set add、list、delete FILES !<command> dfs<command> HQL source files |
||
| hive service | hive --service cli hive --service hiveserver hive --service metastore hive --service hwi hive --service jar |
||
| HiveQL | 语法关键字 | show databases show PARTITIONS show tables create table load data(local) inpath select * from desc、alert/drop limit、as、case when then、union like、group by、having order by、sort by cluster by |
|
| 数据类型 | 简单类型 | tinyint、smallint、int、bigint float、double boolean string timestamp binary |
|
| 复杂类型 | array map struct |
||
| 表 | 内部表 | ||
| 外部表 | HDFS HBase Cassandra DynamoDB |
||
| 表查询 | 单表查询 inner joins outer joins Semi joins map joins 子查询 视图 |
||
| 数据表设计 | 每日一表 每日一表分区 按桶分散数据 |
||
| Hive优化 | 表分区Partitions 表存储桶buckets 表压缩 索引→bitmap indexes 执行计划 控制Mappers、reducer数量 |
||
| 访问方式 | Hive shell java jdbc api thrift client Rhive |
||
| 自定义函数 | 自定义函数UDF 自定义聚合函数UADF |
||
| Hive安全 | 认证 | hive.files.umask.value hive.metastore.authorization.storage.checks hive.metastore.execute.setugi |
|
| 授权 | hive.security.authorization.enabled hive.security.authorization.createtable.owner.grants hive.security.authorization.createtable.user.grants |
||
| 权限模型 | User Group Role |
||
| web控制台 | hwi:9999 | ||
| 软件集成 | zookeeper thrift Ooize HCatalog AWS |
图解示例

HIve-mapreduce

005-hive概述,计算原理及模型的更多相关文章
- 快速构建Windows 8风格应用14-ShareContract概述及原理
原文:快速构建Windows 8风格应用14-ShareContract概述及原理 本篇博文主要介绍Share Contract概述.Share Contract实现原理.实现Share Contra ...
- [Hive]HiveSQL解析原理
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析.Hive的稳定性和 ...
- 全基因组关联分析(GWAS)的计算原理
前言 关于全基因组关联分析(GWAS)原理的资料,网上有很多. 这也是我写了这么多GWAS的软件教程,却从来没有写过GWAS计算原理的原因. 恰巧之前微博上某位小可爱提问能否写一下GWAS的计算原理. ...
- NSRunLoop 概述和原理
NSRunLoop 概述和原理 1.什么是NSRunLoop? 我们会经常看到这样的代码: - (IBAction)start:(id)sender { pageStillLoading = YES; ...
- 快速构建Windows 8风格应用12-SearchContract概述及原理
原文:快速构建Windows 8风格应用12-SearchContract概述及原理 本篇博文主要介绍Search Contract概述.Search Contract面板结构剖析.Search Co ...
- MySQL 复制 - 性能与扩展性的基石 1:概述及其原理
1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步. 接下来,我们将从复制概述及原理.复制的配置. ...
- OpenGL中摄像机矩阵的计算原理
熟悉OpenGL|ES的朋友,可能会经常设置摄像机的view矩阵,iOS中相对较好,已经封装了方向,只需要设置摄像机位置,目标点位置以及UP向量即可.下面先介绍下摄像机view矩阵的计算原理.此处假设 ...
- (原创)sklearn中 F1-micro 与 F1-macro区别和计算原理
最近在使用sklearn做分类时候,用到metrics中的评价函数,其中有一个非常重要的评价函数是F1值,(关于这个值的原理自行google或者百度) 在sklearn中的计算F1的函数为 f1_sc ...
- MySQL 复制 - 性能与扩展性的基石:概述及其原理
原文:MySQL 复制 - 性能与扩展性的基石:概述及其原理 1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他 ...
随机推荐
- shell向python传参数
想要在shell中调用python脚本时实现: python pyServer.py argu1 argu2 argu3 利用 sys.argv 即可读取到 相应参数: # coding=utf-8 ...
- 使用javascript操作cookies的实例
<script> //写cookies函数 作者:翟振凯 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days ...
- Android性能测试框架Emmagee
目前移动设备,尤其是Android设备,相对于过去的J2me时代,硬件有大幅度的提高,并且更新地非常快,可以安装和运行更多的应用. 但是目前安卓市场对于应用的要求并不如苹果商店那么严格,Android ...
- win7下cmake编译opencv2.3.1生成opencv—createsamples.exe和opencv_haartrainingd.exe
第一步:下载安装cmake,之后进行默认安装即可,这步略过. 第二步:配置cmake ,使cmake找到opencv进行编译安装 watermark/2/text/aHR0cDovL2Jsb2cuY3 ...
- jQuery实现tag便签去重效果的方法
本文实例讲述了jQuery实现tag便签去重效果的方法.分享给大家供大家参考.具体实现方法如下: html代码如下: <head><script type="text/ja ...
- angularJs上传文件(非form上传)
angular.js:13920 Broken interceptor detected: Config object not supplied in rejection: <input typ ...
- C++ 智能指针学习
C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
- hdu 4685(匹配+强连通分量)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4685 思路:想了好久,终于想明白了,懒得写了,直接copy大牛的思路了,写的非常好! 做法是先求一次最 ...
- shell脚本学习总结10--系统函数调用
1.打印出彩色的格式 [root@new sbin]# cat demo.sh #/bin/bash . /etc/init.d/functions read -p "Pleas input ...
- vue+webpack2实现路由的懒加载
当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的异步组 ...