zoukankan      html  css  js  c++  java
  • 数仓interview总结

    一 数据库

    1.1 数据库事务特性ACID

    原子性Atomicity,一致性Consistency,隔离性Isolation,持续性Durability

    1.2 锁有几种,及范围

    从数据库系统角度分为三种:排他锁、共享锁、更新锁。按作用范围划分为:行锁、表锁。

    S锁,也叫读锁,用于所有的只读数据操作。共享锁是非独占的,允许多个并发事务读取其锁定的资源。

    X锁,也叫写锁,表示对数据进行写操作。如果一个事务对对象加了排他锁,其他事务就不能再给它加任何锁了。

    U锁,在修改操作的初始化阶段用来锁定可能要被修改的资源,这样可以避免使用共享锁造成的死锁现象。

    1.3 分区,索引有那些

    范围分区(时间),列表分区(值很少的数据),hash分区

    索引链接:http://www.cnblogs.com/sessionbest/articles/8689255.html

    1.4 数据表的关联有几种(在优化器)

    NESTED LOOP,HASH JOIN,SORT MERGE JOIN

    1.5 数据库调优(主要sql优化思路)

    • 数据模型优化
    • 数据裁剪,减少每个阶段的数据量  (where分区裁剪,select列裁剪,join关联使用相同的key)
    • 减少JOB数(map:input文件总大小,文件个数,集群文件块block大小;reduce:reduce个数=inputfilesize / bytes per reduce,reduce任务处理的数据量,默认为1G)
    • 数据倾斜(空值,赋予空值新的key值;不同数据类型关联;mapjoin,当小表与大表JOIN时,采用mapjoin,即在map端完成,大表放最后可避免小表与大表JOIN产生的数据倾斜,有效减少内存溢出)
    • 参数设置(本地local模式,并行执行,动态分区,map端聚合,小文件合并(小文件归档archive,重建表))

    1.6 如何解决数据分布不均和数据重分布的问题

    1.7 大表UPDATE,DELETE的方法

    二 数据仓库

    2.1 数据仓库架构,以及主题

    数据分层:数据源层,主题层,基础汇总层,应用层

    主题:用户,商品,商家,流量,订单,营销,供应链,配送,仓储,售后,财务
    2.2 数据仓库建模方法

    范式建模(3NF),维度建模(星形、雪花),实体建模(关系)

    2.3 数据治理

    数据治理包含:主数据管理,生命周期管理,业务流程管理,数据质量,数据安全,元数据

    数据质量方法:

    数据监控:准确性(行数和数量),及时性(设置完成时间)

    数据清洗:清洗脏数据,标准化

    错误预警:校验(0值,环比)

    数据分析,发现及推动主数据

     2.4 mapreduce工作原理
    Map阶段
        第一步: 通过FileInputFormat读取文件, 把输入文件按照一定的标准分片 (InputSplit),每个输入片的大小是固定的
        第二步: 自定义Map逻辑, 对输入片中的记录按照一定的规则解析每对<key,value>,生成中间结果
    Shuffle阶段
        第三步: 对<key,value>进行分区,分区是基于key进行的
        第四步: 对每个分区内的数据按照相同的key进行排序
        第五步: 分组后的数据进行规约(combine操作),降低数据的网络拷贝(可选步骤)
        第六步: 对排序后的数据, 将相同的key的value数据放入一个集合中
    Reduce阶段
        第七步: 对多个map的任务进行合并、排序. 自定义reduce逻辑,处理<key,value>进行输出
        第八步: 通过FileOutputFormat输出处理后的数据, 保存到文件

     2.5 谈谈调度机制,数据标准,元数据管理,以及实时数据技术

    调度架构分为:NameNode,TaskNode,WEB管理,日志收集器

    NameNode负责任务实例化、检查依赖、分配任务执行节点、处理任务执行结果、管理TaskNode节点;

    TaskNode主动从NameNode按照一定的分配策略领取任务,并根据任务执行代理器,会监听进程执行结果并反馈给NameNode,同时接收任务日志输出到日志收集器

    技术点包含:实例(任务到预定的执行时间时,会根据任务的配置,生成一个任务实例)

    分配策略(轮询,并发数,机器资源)

    跨周期依赖,数据依赖

  • 相关阅读:
    C#listbox使用方法
    poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 黑白无常
  • 原文地址:https://www.cnblogs.com/zzjhn/p/10535360.html
Copyright © 2011-2022 走看看