当前位置: 首页 > news >正文

网站开发类参考文献苏州保洁公司招聘信息

网站开发类参考文献,苏州保洁公司招聘信息,临沂天元建设集团,wordpress软件网站模板下载Hive 内部表和外部表的区别 外部表在创建时需要加关键字 external;创建内部表时,会将数据移动到数据仓库指定的路径;创建外部表时,不会移动数据,只会记录数据所在的路径;删除内部表时,会删除元…

Hive 内部表和外部表的区别

  • 外部表在创建时需要加关键字 external;
  • 创建内部表时,会将数据移动到数据仓库指定的路径;
  • 创建外部表时,不会移动数据,只会记录数据所在的路径;
  • 删除内部表时,会删除元数据和数据本身;
  • 删除外部表时,仅仅删除元数据,不会删除数据本身;

Hive cluster by、sort by、distribute by、order by 的区别

  • order by :全局排序,只有一个 reduce ,数据量很大时会比较慢;
  • sort by :局部排序,只保证每个 reduce 中的数据有序,不能保证全局有序;
  • distribute by :控制 map 结果分发,相同值会被分发到同一个 map ;
  • cluster by :根据指定字段将数据分组,每组内再根据该字段正序排序(只能正序),cluster by = distribute by + sort by;

Hive 分区和分桶的区别

  • 分区是将 Hive 表数据分离为多个目录;
  • 分桶是将对应的数据文件分解为若干个部分;
  • 分区的字段必须是表中没有的字段;
  • 分桶的字段必须是表中已经存在的字段;

Hive Union 和 Union all 的区别

  • union :将多个结果合并为一个,对结果去重并排序;
  • union all :将多个结果合并为一个,不对结果去重不排序;

Hive join 的原理

在 Map 阶段将 on 的字段设为 key ,然后将选择的字段作为 value 在 Reduce 阶段,相同 key 值的数据分发到同一个 Reducer;

Hive 如何优化 join 操作

  • 若有大量 null key ,则先过滤或者随机赋值;
  • 所是大小表 join ,可使用 MapJoin ;
  • 若两张大表 join,可将倾斜的 key 过滤出来单独 join,则会分不到多个 task 进行 join 操作,最后在进行 union 操作;

Hive 的三种自定义函数及区别

  • UDF :用户自定义函数,一对一输出,例如 round;
  • UDTF :用户自定义表生产函数,一对多输出,例如 explode;
  • UDAF :用户自定义聚合函数,多对一输出,例如count,sum 等;

Hive 数据倾斜

什么是数据倾斜?

  • 数据倾斜是指在分布式处理中,数据不均匀,有部分数据比较集中;
  • 数据倾斜会使得在处理过程中,某个结点的处理效率过低,甚至造成内存溢出;

造成数据倾斜的原因

  • 业务本身造成的;
  • 建表时考虑不周,导致 key 分布不均匀;
  • 某些 SQL 操作容易造成数据倾斜;

造成数据倾斜的主要操作

group by
维度过少,某些值比较大,分发到不同 Reduce 操作,造成某个 Reduce 数据倾斜;

join
某些 key 值比较多,或者 key 值存在大量 null ,join 后分发到某个 Reduce 的数据量过大;

数据倾斜的解决方法

group by 造成的数据倾斜

分组中有部分数据比较多,造成数据倾斜。这种情况可以通过调参解决:

set hive.map.aggr=true;
set hive.groupby.skewindata=true;
  • hive.map.aggr=true 表示开启 map 端聚合;
  • hive.groupby.skewindata=true 表示有数据倾斜时进行负载均衡,这会使得生成两个 MR job,第一个 job 会将数据随机分发到不同的 Reduce 进行聚合,可以达到负载均衡的效果;结果传入第二个 MR job ,根据预处理的数据结果按照 group by key 进行分发处理,包获赠相同的 key 分到同一个 Reduce 中,完成聚合;

join 造成的数据倾斜

有大量 null 值 join 的情况

  • 数据中有大量 null 值,可以过滤掉;
  • 使用随机值赋值;

大小表 join 的情况

  • 可以使用 map join 将小表加载到内存中,并在 map 阶段完成 join 操作;
    例如:
 select /*+MAPJOIN(b)*/ a.a1,a.a2,b.b2 from tablea a JOIN tableb b ON a.a1=b.b1  --其中b 为小表

key 值倾斜的情况
可以将倾斜的 key 过滤出来单独 join ,则会分散到多个 task 进行 join’ 操作,最后再进行 union 即可;

http://www.yayakq.cn/news/431580/

相关文章:

  • 傻瓜式网站制作自己做网站挂广告
  • 邢台建设企业网站费用简述一个商务网站建设的步骤
  • 做简单手机网站多少钱呀服装网都有哪些网站
  • 那些网站可以做h5公司网站建设设计公司
  • 网站效果图设计思路珠海做网站最好的公司有哪些
  • 网站正在建设中 蓝色企业模板图片
  • 建设网站的计划表长春h5建站模板
  • 浙江做电缆桥架的公司网站阿里巴巴网站首页怎么制作
  • 域名注册免费杭州企业网站seo
  • 可以做视频创收的网站免费的模板网站
  • 公司营销型网站制作本钢建设公司官网
  • 自建公司网站品牌建设论文
  • 郑州网站备案地址哪个网站做简历免费
  • 快排做网站排名哪个网站做律师推广
  • 都芳漆中文网站建设重庆知名网站建设免费
  • 医疗网站搭建网站图片上传却不显示不出来
  • aspx php哪个做门户网站好唐山建网站的公司
  • 一个网站要怎么做的天天作文网
  • 这几年做啥网站致富搜索引擎网页
  • 东莞专业微网站建设价格境外建网站
  • 产品网络推广方案在线视频网站怎么做seo
  • 手机微信网站怎么做的好wordpress sqlite3
  • 从江网站建设做网站赚多少钱
  • 南宁企业网站建站资阳公司网站建设
  • 三河做网站网站关键词数量减少
  • 网站案例分析湖南16种营销模型
  • 帮我们公司做网站关于网站建设报告
  • 西部数码网站管理助手v3.0南昌专业网站设计
  • 免费做电子请柬的网站搜索引擎优化培训免费咨询
  • 网站资料筹备机械公司网站源码