计算原理及模型

  

  优化的根本思想:

    尽早尽量过滤数据,减少每个阶段的数据量

    减少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概述,计算原理及模型的更多相关文章

  1. 快速构建Windows 8风格应用14-ShareContract概述及原理

    原文:快速构建Windows 8风格应用14-ShareContract概述及原理 本篇博文主要介绍Share Contract概述.Share Contract实现原理.实现Share Contra ...

  2. [Hive]HiveSQL解析原理

    Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析.Hive的稳定性和 ...

  3. 全基因组关联分析(GWAS)的计算原理

    前言 关于全基因组关联分析(GWAS)原理的资料,网上有很多. 这也是我写了这么多GWAS的软件教程,却从来没有写过GWAS计算原理的原因. 恰巧之前微博上某位小可爱提问能否写一下GWAS的计算原理. ...

  4. NSRunLoop 概述和原理

    NSRunLoop 概述和原理 1.什么是NSRunLoop? 我们会经常看到这样的代码: - (IBAction)start:(id)sender { pageStillLoading = YES; ...

  5. 快速构建Windows 8风格应用12-SearchContract概述及原理

    原文:快速构建Windows 8风格应用12-SearchContract概述及原理 本篇博文主要介绍Search Contract概述.Search Contract面板结构剖析.Search Co ...

  6. MySQL 复制 - 性能与扩展性的基石 1:概述及其原理

    1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步. 接下来,我们将从复制概述及原理.复制的配置. ...

  7. OpenGL中摄像机矩阵的计算原理

    熟悉OpenGL|ES的朋友,可能会经常设置摄像机的view矩阵,iOS中相对较好,已经封装了方向,只需要设置摄像机位置,目标点位置以及UP向量即可.下面先介绍下摄像机view矩阵的计算原理.此处假设 ...

  8. (原创)sklearn中 F1-micro 与 F1-macro区别和计算原理

    最近在使用sklearn做分类时候,用到metrics中的评价函数,其中有一个非常重要的评价函数是F1值,(关于这个值的原理自行google或者百度) 在sklearn中的计算F1的函数为 f1_sc ...

  9. MySQL 复制 - 性能与扩展性的基石:概述及其原理

    原文:MySQL 复制 - 性能与扩展性的基石:概述及其原理 1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他 ...

随机推荐

  1. shell向python传参数

    想要在shell中调用python脚本时实现: python pyServer.py argu1 argu2 argu3 利用 sys.argv 即可读取到 相应参数: # coding=utf-8 ...

  2. 使用javascript操作cookies的实例

    <script> //写cookies函数 作者:翟振凯 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days ...

  3. Android性能测试框架Emmagee

    目前移动设备,尤其是Android设备,相对于过去的J2me时代,硬件有大幅度的提高,并且更新地非常快,可以安装和运行更多的应用. 但是目前安卓市场对于应用的要求并不如苹果商店那么严格,Android ...

  4. win7下cmake编译opencv2.3.1生成opencv—createsamples.exe和opencv_haartrainingd.exe

    第一步:下载安装cmake,之后进行默认安装即可,这步略过. 第二步:配置cmake ,使cmake找到opencv进行编译安装 watermark/2/text/aHR0cDovL2Jsb2cuY3 ...

  5. jQuery实现tag便签去重效果的方法

    本文实例讲述了jQuery实现tag便签去重效果的方法.分享给大家供大家参考.具体实现方法如下: html代码如下: <head><script type="text/ja ...

  6. angularJs上传文件(非form上传)

    angular.js:13920 Broken interceptor detected: Config object not supplied in rejection: <input typ ...

  7. C++ 智能指针学习

     C++ Code  12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...

  8. hdu 4685(匹配+强连通分量)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4685 思路:想了好久,终于想明白了,懒得写了,直接copy大牛的思路了,写的非常好! 做法是先求一次最 ...

  9. shell脚本学习总结10--系统函数调用

    1.打印出彩色的格式 [root@new sbin]# cat demo.sh #/bin/bash . /etc/init.d/functions read -p "Pleas input ...

  10. vue+webpack2实现路由的懒加载

    当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的异步组 ...