今天小P同学咨询我一个问题,他在公司做大数据技术开发,却仅是在用Hive写业务的SQL,感觉好空虚和迷茫。让我给出出主意。

我询问了一下业务,是提取新注册用户的信息。又询问了一下数据规模,大概几千万数据量。最后询问了一下团队,有做数据仓库,实时和算法的。

SQL优化和配置优化

优化现在的业务在Hive上的执行效率。对于具体SQL做优化,对小表使用Map join,Bucket map join或者UDF函数优化。对数据倾斜的group by和join做Sql优化。修改Sql提升执行效率,如提高Job并行度减少Job数量等。对于例行任务的优化,观察Map任务Reduce任务的运行时间调整合适的Map任务和Reduce任务的数量。调整buffer大小以避免Spill发生。调整Copy的启动时间和并行度优化资源利用率。选择数据文件格式,复用JVM等等。在小P同学的工作场景下,因为业务相对单一并且数据规模不大,感觉SQL优化和配置优化可以深入或者需要深入的地方不多。

Hive深入代码

深入Hive的代码专研,SQL解析,逻辑执行计划生成,执行计划优化,物理执行计划生成,任务执行优化和存储优化等。了解其它的开源和商业化的类Hive的SQL计算平台的设计和优化策略。不需要全面深入了解,但是一定要在一个方向上深度专研,比如:选执行计划优化方向,各个主流产品都是如何做的,培养独立思考和自己动手做实验的能力。因为小P同学明年毕业,面临找工作压力,而且自己也比较喜欢专研代码。我推荐了这个方向。

大数据计算技能

熟悉Hive以外的Storm,Spark等不同大数据计算平台及其编程模型,关注大数据计算方向新的产品和技术。学习后应用到实际工作场景中。结合小P的团队,可以在数据仓库任务或者算法任务中尝试一下Spark。因为横向学习一般是在深度学习之后展开,而且小P面临找工作,我并没有推荐这个方向。

业务领域的数据技能

针对具体的业务领域做大数据,用数据建模,数据分析和数据挖掘的能力去解决或者优化具体的业务问题。以后在大数据方向,了解具体业务领域的数据的人才是核心的数据人才。但是这个需要长期的业务积累和数据经验,目前也不适合小P目前的情况。

期待大家也能给我或者小P一点建议,一起来讨论Hive的开发人员的职业发展。

Hive开发人员如何提升?相关推荐

  1. 开发人员技能提升阅读书籍推荐

    开发人员技能提升阅读书籍推荐 在日常工作中,往往从事普通的.重复的工作,到达一个境界后将很难有更大的进步. 这个时候从一些相关的专业的书籍中才能使我们快速的持续的成长. 以下书籍排序不分先后,很多书都 ...

  2. 开发人员提升自己的四种方式

    在提升软件开发技能方面,有哪些必备的妙招可以帮助自己呢? 作者 | Skill Pathway 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 以下为译文: 开发人员之间 ...

  3. 休息时间!哪些业余活动能提升开发人员的技能?

    全文共2440字,预计学习时长7分钟 图源:unsplash 程序员不可能无时无刻都在写代码.如果你发现自己越来越频繁地熬夜,或者陷入了马拉松式的编码中时,那么你的代码很有可能是不达标的.这时你应该休 ...

  4. 九个特别的工作网站,开发人员的工具箱,可以拥有很多的使用资源,节省大量的时间,并提升工作效率

    九个特别的工作网站,开发人员的工具箱,可以拥有很多的使用资源,节省大量的时间,并提升工作效率. 一.Tool.lu-程序员的工具箱 点击进入 网站同样提供了各式各样的在线工具,但该网站侧重于编程方向. ...

  5. 吐血推荐那些提升开发人员工作效率的在线工具|文末抽书

    来源 :公众号 | 作者 :Hollis 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的. Holli ...

  6. 网站分享,希望提升自身能力的开发人员必看

    在软件行当也混了有4个年头了,刚毕业那会,觉得百度好强大,工作过程中遇到的问题都能从中查到解决方案.随着能力的提升,对于百度的定位:"其就是用来找些低俗的内容而已".毕业第一年刚进 ...

  7. 吐血推荐 | 那些提升开发人员工作效率的在线工具

    导读:Java开发人员经常要和各种各样的工具打交道,除了常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的.本文作者Hollis偏爱使用在线工具,因为这样比较方便.本文就 ...

  8. 教你50招提升ASP.NET性能(二十六):对于开发人员的数据库性能技巧

    Database Performance Tips for Developers 对于开发人员的数据库性能技巧 As a developer you may or may not need to go ...

  9. 那些提升开发人员工作效率的在线工具

    本文转自微信公众号 Hollis 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的. Hollis偏爱使 ...

最新文章

  1. 皮一皮:看看你有没有在自杀...
  2. 防止过拟合的处理方法
  3. linux赋予文件夹所有权限_linux – 如何将某些用户权限仅授予子文件夹
  4. no need for pictures
  5. 32位linux运行64位jdk,linux64位操作系统装32位jdk解决方法
  6. java 微信支付实现
  7. 小学认识计算机硬件ppt,认识计算机硬件课件.ppt
  8. sublime php快捷键,分享Sublime Text 3快捷键精华版!
  9. 电商系统_如何打造 一个完美的电商系统
  10. C++——构建单链表的方法
  11. Flutter WillPopScope 双击返回与界面退出提示
  12. android os build初始化,Android 关于android.os.Build介绍
  13. php utf8转换gb2312,php utf8 GB2312处理
  14. c语言输入身高计算标准体重_女生标准身高体重对照表
  15. Java生成CSV文件的方法
  16. python简单实战项目:《冰与火之歌1-5》角色关系图谱构建——人物关系可视化
  17. 解决win7资源监视器不能开启
  18. 简单几步教你爬取IOS手机端APP数据
  19. linux rpm是什么意思中文,rpm是什么意思
  20. 往VS项目中添加本地图片资源

热门文章

  1. eclipse中链接不上SVN资源库,一连就蹦。
  2. 制胜充电桩下半场,特来电、星星充电们要靠运营?
  3. 一加首款5G手机曝光!骁龙865+120Hz+屏下摄像,引领高端新潮流
  4. 解读Reformer
  5. Postgres-XL 10R1 release版本发布
  6. c920摄像头驱动 linux,U-Boot的调试
  7. Dataset:FIFA 2018 Statistics数据集(Predict FIFA 2018 Man of the Match预测2018年国际足联最佳球员)的简介、下载、使用方法之详细攻略
  8. liverpool中文意思_Liverpool是什么意思
  9. 如何修复 Windows 中的 2502 或 2503 错误
  10. C语言实现正余弦函数图像的输出!(源码)