2017年05月03日
来源:互联网 发布:河南网络电视台直播 编辑:程序博客网 时间:2024/06/10 21:17
如果在 mysql中有一张表student(id,name),还有一张表address(stu_id,home,school),还有联系方式表contact(stu_id,mine,parents,others)。
如果把这三张表迁移到hive中,如何迁移哪?
答:
可以一一对应,优点是迁移成本非常低,包括DDL和业务逻辑,几乎不需要修改,可以直接使用。缺点是产生大量的表连接,造成查询慢。
可以一对多,mysql中的多张关联表可以创建为hive中的一张表。优点是减少表连接操作。缺点是迁移成本高,需要修改原有的业务逻辑。
实际上,在我们日常的开发过程中遇到这样的问题,要想比较完美、顺利的解决,一般都分为两个阶段,
第一个阶段,现在快捷迁移,就是上面说的一一对应,让我们的系统能跑起来,
在此基础之上呢,再做去重处理,就是做一张大表,尽量包含以上所有字段,
eg stu(id, name, address struct, contactstruct<...>);等第二个阶段完工之后了呢,就可以去掉跑在新的系统里面了。
hive的调优可以从哪些方面入手来加快执行速度
hive表文件的大小所带来的影响
问:什么时候使用外部表,什么时候用内部表?
一般公用的一些数据使用外部表,比如多个部门都用的一些统计数据,用外之后就可以删除掉表的定义,而不用影响表的数据。
从上面也可以看出来,我们使用别人的数据时候,最好来建立这种外部表。
问:如何建立一个外部分区表?
问:如何开启本地模式?
问:如何用脚本自动给分区表test(分区字段statDatestring)每天创建一个分区?
yesterday=`date -d '1 days ago' '%Y%m%d'`
hive -e "use default; ALTER TABLE test ADD PARTITION(statDate='$yesterday') LOCATION'/data/workcopy/$yesterday';"
hive数据已经发生倾斜了,如何对数据进行处理,使其不倾斜。
1°、通过阅读hive源码,自己总结出hql 转化为 mr的执行过程,把整个的过程用图画出来,同时说明每个过程都主要完成的工作是什么。
1、hive权限控制需要配置那个配置文件?
2、Hive授权的核心是什么?
3、如何实现角色的授权和撤销?
2-1 Hcatalog在新版本(1.*.*后的版本)的hive中位置,都用在那些地方?
2-2 资料库的访问超时,metastore服务宕机,spark或MR并行写Hive时冲突等
2-3 Hive表分区的设计,以及表权限的问题(比如 A建表,B删除,但是底层的文件并没有删掉)
2-4 Hive与 HBase等其他组件的交互问题,如何能够保证Hive自身的稳定性
- 2017年05月03日
- 2017年05月03日
- 2017年05月03日
- 2017年05月03日
- 2017年09月05日21:36:03
- 2013年03月05日 工作总结
- 2013年03月05日
- 2013年03月05日
- 2013年03月05日
- 2012年03月05日----周记
- 2013年05月03日
- 2017年08月05日
- 2017年05月29日
- 2012年03月05日 记CSDN开博
- 读书笔记--盗梦工厂--2014年03月05日
- 工作日志-2017年06月05日
- 2017年10月05日普及组 约数
- 2017年10月05日普及组 负进制
- hive调优
- 2017年05月03日
- 2017年05月03日
- 开发爬虫时所用到的页面元素分析利器Jsoup
- 2017年05月03日
- 2017年05月03日
- 每天一个linux命令之 ps aux
- shiro的学习
- 每天一个linux命令之if的简单用法
- RecyclerView.Adapter的基本封装
- MSSql 链接服务器 openquery 多表联合 更新
- 表中-list接口ArrayList类和LinkedList类
- .ipynb文件转换成HTML文件出现找不到python kernel的解决方案
- 使用mybatis 通用Mapper类的笔记