基础每天学习:

1.行转列:

case ... when ...then....else ...end as xxx

2.

“fields terminated by”:字段与字段之间的分隔符。
“collection items terminated by”:一个字段中各个子元素 item 的分隔符。

3.数据仓库中常见的分区

数据仓库分区:时间(天)、数据来源(app、m、pc)

  --数据库:用户的属性、年龄、性别、收藏、购买的记录  
  --每天有新增用户,修改信息dt=2018922 存在大量信息冗余
  --overwrite 7 每天做overwrite dt=20180922,
  --当天之前的所有全量数据,有7个分区,冗余7分

4.hive查看数据时查看表头:

set hive.cli.print.header = true;

5.分桶使用:cluster by(xxx) into 4 buckets;

如果需要分桶必须事先设置参数:
set hive.enforce.bucketing = true
或者用户可以自主设置mapred.reduce.tasks通过reduce的个数来适配bucket

buctet的作用:
1、数据采样,如果采样列:select * from student tablesample(bucket x out of y on user_id)
hive根据y的大小决定抽样的比例

6.hive 优化

1.作业依赖于input的目录产生map的个数,set dfs.block.size

--小文件太多的时候,合并小文件,减少map个数

---set mapred.map.tasks = 10

---map聚合 set hive.map.aggr=true

reduce 优化:
---hive.exec.reducers.bytes.per.reducer= ; 每个reduce任务处理的数据量 优先级第三
---hive.exec.reducers.max= ;reduce的最大个数 优先级最大
---设置reduce的个数 set mapred.reduce.tasks = 10 优先级第二

一个reduce:
--order by (使用distribute by+ sort by 或者 cluster by 代替)
--笛卡尔积 a join b (没有on,或者无效的on条件,直接变成笛卡尔连接,触发一个reduce;一定要避免笛卡尔积,一个reduce)

hive优化:
-where 中的分区条件,会提前生效,不必特意做子查询,直接做join和group by

-Map  join时候,小表放在最前边
- /*+MAPJOIN(TABLElist)*/,必须是小表,小于1G或者50条记录

-union all/distinct

-先做union all 再做join或者group by 等操作可以有效减少MR过程

转载于:https://www.cnblogs.com/students/p/10952776.html

hive学习07-常见的优化相关推荐

  1. 深度学习-07(图像分类、常用数据集、利用CNN实现图像分类、图像分类优化)

    文章目录 深度学习-07(PaddlePaddle图像分类) 图像分类概述 概述 什么是图像分类 图像分类粒度 图像分类发展历程 图像分类问题的挑战 常用数据集介绍 MNIST数据集 CIFAR10数 ...

  2. 亿级PV,常见性能优化策略总结与真实案例

    作者:晓明 来自:美团技术团队 0 题记 美团网是国内最大的O2O服务平台,虽然经常面临高并发.大流量等问题,但在用户体验优化上美团APP仍被众多IT同行所推崇,他们在性能优化方面积累的宝贵经验尤其值 ...

  3. Hive学习笔记【全】

    Hive学习笔记[全] 文章目录 Hive学习笔记[全] 一.Hive简介 1.Hive是什么 2.Hive的架构 3.Hive的数据组织 二.Hive安装 1.环境需求 2.安装Hive 3.启动H ...

  4. CUDA上的量化深度学习模型的自动化优化

    CUDA上的量化深度学习模型的自动化优化 深度学习已成功应用于各种任务.在诸如自动驾驶汽车推理之类的实时场景中,模型的推理速度至关重要.网络量化是加速深度学习模型的有效方法.在量化模型中,数据和模型参 ...

  5. NVIDIA GPUs上深度学习推荐模型的优化

    NVIDIA GPUs上深度学习推荐模型的优化 Optimizing the Deep Learning Recommendation Model on NVIDIA GPUs 推荐系统帮助人在成倍增 ...

  6. 上手!深度学习最常见的26个模型练习项目汇总

    作者:沧笙踏歌 转载自AI部落联盟(id:AI_Tribe) 今天更新关于常见深度学习模型适合练手的项目.这些项目大部分是我之前整理的,基本上都看过,大概俩特点:代码不长,一般50-200行代码,建议 ...

  7. 《强化学习周刊》第12期:强化学习应用之组合优化

    No.12 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,它在组合优化领域中的应用研究进展与成果也引发了众多关注.为帮助研究与工程人员 ...

  8. 深度学习计算机视觉常见的29道面试题及解析

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 作者丨我要鼓励娜扎@知乎 来源丨https://zhuanlan.zhihu.com/p/89 ...

  9. ML之模型文件:机器学习、深度学习中常见的模型文件(.h5、.keras)简介、h5模型文件下载集锦、使用方法之详细攻略

    ML之模型文件:机器学习.深度学习中常见的模型文件(.h5..keras)简介.h5模型文件下载集锦.使用方法之详细攻略 目录 ML/DL中常见的模型文件(.h5..keras)简介及其使用方法 一. ...

最新文章

  1. Android Studio 在项目中引用第三方jar包
  2. 为什么有的文件压缩的就很小,有的确实很大
  3. 「镁客早报」人类首次在太空3D打印生物器官;中国学者研制出高性能低成本的电解“水制氢”催化剂...
  4. 永远记住9月26号这一天!
  5. 不挂载 组件渲染_让你的 React 组件性能跑得再快一点「实践」
  6. MyEclipse6.5安装SVN插件的方法--在线安装
  7. Nginx 使用try_files遇到的问题
  8. 连续内存分区式内存管理
  9. 计算机网络 socket,[计算机网络]简单聊聊套接字 Socket
  10. Codeforces Edu Round 64 (Rated for Div. 2)
  11. Datadog Agent是啥?它消耗什么资源?
  12. HTML网页设计作业
  13. 最强 IOS系统改定位
  14. 支持向量机的特点,优点缺点
  15. 微信公众号接入智能客服机器人可以实现哪些效果
  16. 函数式思维: 运用函数式思维,第2 部分
  17. R语言—90分钟从入门到精通
  18. 大数据平台的作用有什么
  19. 奥鹏计算机文化基础在线考试,奥鹏中国石油大学北京《计算机文化基础》在线考试客观题答案.doc...
  20. 成语归类大全(留着,孩子有用的)

热门文章

  1. 计算机软考可以直接高级吗,计算机软考没有中级能考高级吗
  2. java arraylist add时默认调用tostring_Java基础知识之ArrayList知识点总结
  3. artTemplate-3.0
  4. C# Serializable学习
  5. Unix安装BerkeleyDB
  6. CEdit CRichEdit 使用技巧(转)
  7. linux stat文件,Linux stat命令:显示文件或文件系统的详细信息
  8. docker网络--理解linux底层实现机制、docker网络模式
  9. ckeditor拖拽添加html,CKEditorCKFinder结合实现在线HTML编辑器
  10. (88)FPGA乘法器设计(移位相加乘法器)