当前位置:首页 > 新闻中心

大数据培训-Hive高频口试题分享

发布时间:2022-04-20 11:22:06 来源:环球体育登录 作者:环球体育登录平台

  删除内部表会直接删除元数据(metadata)及存储数据;删除表部表仅仅会删除元数据,HDFS上的文献并不会被删除。

  Hive赞成索引(3.0版本之前),可是Hive的索引与合连型数据库中的索引并不沟通。而且 Hive索引供给的功用很有限,效能也并不高,因而Hive索引很少操纵。

  合用于不更新的静态字段。免得老是重修索引数据。每次修设、更新数据后,都要重修索 引以构修索引表。

  - ORC:ORC文献是自描绘的,它的元数据操纵Protocol Buffers序列化,文献中的数据尽能够的压缩以下降存储空间的花费;以二进造体例存储,不行够直接读取;自解析,蕴涵很多元数据,这些元数据都是同构ProtoBuffer举办序列化的;会尽能够兼并多个离散的区间尽能够的削减I/O次数;正在新版本的ORC中也参加了对Bloom Filter的赞成,它能够进一 步晋升谓词下推的效能,正在Hive 1.2.0版本今后也参加了对此的支 持。

  - Parquet:Parquet赞成嵌套的数据模子,仿佛于Protocol Buffers,每一个数据模子的schema蕴涵多个字段,每一个字段有三个属性:反复次数、数据类型和字段名;Parquet中没有Map、Array如此的杂乱数据构造,【合切尚硅谷,轻松学IT】可是能够通过repeated和group组合来杀青;通过Striping/Assembly算法,parquet能够操纵较少的存储空间透露杂乱的嵌套花式,而且时时Repetition level和Definition level都是较幼的整数值,能够通过RLE算法对其举办压缩,进一步下降存储空间;Parquet文献以二进造体例存储,不行够直接读取和窜改,Parquet文献是自解析的,文献中囊括该文献的数据和元数据。

  星形形式(Star Schema)是最常用的维度修模体例。星型形式是以到底表为中央,总共的维度表直接衔尾正在到底表上,像星星相似。星形形式的维度修模由一个到底表和一组维表成,且拥有以下特性:

  雪花形式(Snowflake Schema)是对星形形式的扩展。雪花形式的维度表能够具有其他维度表的,固然这种模子比拟星型更类型少许,可是因为这种模子不太容易剖判,庇护本钱比拟高,并且机能方面需求合系多层维表,机能比星型模子要低。

  星座形式是星型形式延长而来,星型形式是基于一张到底表的,而星座形式是基于多张到底表的,并且共享维度消息。前面先容的两种维度修模格式都是多维表对应单到底表,但正在良多时刻维度空间内的到底表不止一个,而一个维表也能够被多个到底表用到。正在营业生长后期,绝大局限维度修模都采用的是星座形式。

  用空间换时刻,通过大方的预解决来晋升操纵体系的用户体验(效能),因而数据栈房会 存正在大方冗余的数据。假使不分层的话,假使源营业体系的营业准则爆发蜕变将会影响悉数数据冲洗流程,劳动量雄伟。

  通过数据分层管束能够简化数据冲洗的流程,由于把从来一步的劳动分到了多个办法去完毕,相当于把一个杂乱的劳动拆成了多个纯粹的劳动,把一个大的黑盒酿成了一个白盒,每一层的解决逻辑都相对纯粹和容易剖判,如此咱们比拟容易担保每一个办法的精确性,当数据爆发舛讹的时刻,往往咱们只需求限度调治某个办法即可。

  a.将json以字符串的体例悉数入Hive表,然后通过操纵UDF函数解析依然导入到hive中的数据,例如操纵LATERAL VIEW json_tuple的格式,获取所需求的列名。

  b.正在导入之前将json拆成各个字段,导入Hive表的数据是依然解析过的。这将需求操纵第三方的 SerDe。

  order by 会对输入做全部排序,因而只要一个reducer(多个reducer无法担保全部有序)只要一个reducer,会导致当输入周围较大时,需求较长的估量时刻。

  第一种:能够直接不让null值列入join操作,即不让null值有shuffle阶段

  第二种:由于null值列入shuffle时的hash结果是相似的,那么咱们能够给null值随机赋值,如此它们的hash结果就不相似,就会进到差其余reduce中

  假使key字段既有string类型也有int类型,默认的hash就都邑按int类型来分派,那咱们直接把int类型都转为string就好了,如此key字段都为string,hash时就遵循string类型分派了

  这种数据倾斜题目没有什么好的治理方。