0


大数据数仓理论1.1-离线

分区

  • 静态分区

      内存将划分为多个区域,每个区域对应一个分区,当程序访问内存时系统将为其分配一个固定大小的分区;
    
      优点:简单易于管理
    
      缺点:浪费资源,内存碎片化积多
    
  • 动态分区

      内存会划分为不同大小的分区,程序访问时自动分配合适大小的分区;
    
      优点:灵活,空间最大化;
    
      缺点:管理复杂,需要时间匹配合适的分区,时间延迟;
    

内外表区别

内部表

  • 存储:数据库管理系统内部的表,数据和表结构都在数据库中;
  • 访问:直接通过SQL工作;
  • 删除:元数据,原始数据
  • 建议:测试

外部表

  • 存储:数据库管理系统之外的表,数据通常存储再外部文件:
  • 访问:需要外部表定义才可以访问;
  • 删除:元数据
  • 建议:生产环境

HiveSQL执行流程(==>)

查询解析查询优化元数据查询任务分配任务执行返回结果

HiveSQL中小文件处理

    处理hiveSQL底层原理MR,小文件在于map阶段将数据划分若干分,Reduce合并输出的小文件;

缺点:小文件过多浪费资源,降低效率

解决:设定条件,按照任务输出文件大小的平均值作为阈值,若大于这个阈值将独立创建一个文件继续工作;

开窗函数

  • 聚合函数
    sum求和avg平均值count计数max最大min最小

  • 分析函数
    lead下一条字段数据lag上一条字段数据first_value第一条字字段数据last_value最后一条字段数据

  • 顺序函数
    rank不连续可跳dense_rank不连续不跳row_number连续不跳

    Hive4个by

  • order by 全局排序

  • sort by 排序

  • distribute by 分区

  • cluster by 分区字段名和排序字段名相同进行简化

hive文件格式和压缩

  • Hive 文件格式

  1. 文本文件格式:Hive 支持基本的文本文件格式,如 CSV、TSV 等。这些格式易于查看和编辑,但不适合大规模数据处理,因为它们没有压缩和列式存储的优势。
  2. 序列文件格式:序列文件是一种二进制文件格式,可以提高数据的读写效率。它支持数据压缩,适合大规模数据的存储和处理。
  3. ORC 文件格式(Optimized Row Columnar):ORC 是一种列式存储格式,可以提供更好的查询性能和压缩比率。它适用于大型数据集和复杂查询。
  4. Parquet 文件格式:Parquet 也是一种列式存储格式,与 ORC 类似,可以提供高性能查询和压缩优势。Parquet 格式通常用于数据仓库和大数据分析场景。
  • Hive 压缩方式

  1. Snappy 压缩:Snappy 是一种快速压缩/解压缩算法,可以提供较快的压缩速度和相对较好的压缩比率。在 Hive 中,Snappy 压缩常用于中等大小的数据集。
  2. Gzip 压缩:Gzip 是一种通用的压缩算法,在 Hive 中也可以使用。Gzip 压缩率较高,但解压缩速度较慢,适合对数据进行长期存档。
  3. LZO 压缩:LZO 是一种较快的压缩算法,可以提供高速的压缩和解压缩性能。LZO 压缩在 Hive 中可以用于需要快速数据访问的场景。

数据倾斜

  • Group by

原因:一个key值或者多个key值对应的数据量超过了其他key值对应的数据,导致大量的key值数据在reduce阶段聚合,该reduce所需要的时间高于其他reduce任务时间,产生数据倾斜;

    解决:
  1. map-side :在map阶段部分聚合操作再执行后续任务;
  2. Skey-groupby:整个业务执行两次MR任务,第一个MR任务通过随机数先聚合;第二个MR通过指定的字段进行处理;
  • JOIN

原因:在关联表的时候字段分布不均匀,导致数据倾斜因素

解决:map-join 只有map阶段没有reduce阶段;

拉链表意义以及用途

    拉链可以理解为数据模型,防止海量数据中对其无休止的存储,浪费极大空间;

    优点:可以满足获取历史数据状态并减少空间浪费

    用法:增加两个字段StartTime和EndTime,如:某App登录系统,后台记录用户的登录信息,采用拉链式,一个用户共两条数据来记录,第一条记录历史数据,第二条记录当日的数据。
标签: 大数据

本文转载自: https://blog.csdn.net/2201_75311251/article/details/137125324
版权归原作者 阿龙要当程序猿 所有, 如有侵权,请联系我们删除。

“大数据数仓理论1.1-离线”的评论:

还没有评论