SQL

刘超 6月前 ⋅ 2542 阅读   编辑

一、理论

  1、关系数据库
    a、关系模型
    b、关系代数
    c、TPC-H/TPC-DS
    d、数据库理论
      索引与散列
        B树

  2、流处理
    a、Dynamic Table
    b、Retraction
    c、ChangeLog

二、SQL组件

  1、MySQL

分类 描述 知识点
需求 TopN 求用户号对应前两个不同场景 涉及序号生成(类似row_number效果)以及group_concat等MySQL函数
综合 这里综合考察一下大家熟悉程度
校验 mysql校验省份证是否正确

  2、Hive

分类
需求
综合 这里综合考察一下大家熟悉程度
计算次日、三日、七日留存 综合考察join、distinct、count、case when等使用
序号函数
查询当天首次付费的用户 row_number()函数
功能 join
不支持不等值连接

  3、Spark SQL

分类 描述
需求 行转列 多行转多列;多行转一列
列转行 多列转多行;一列转多行
综合 这里综合考察一下大家熟悉程度
取每个country的deviceVendor的Top2数据 dense_rank()
spark按country、deviceVendor、devicePrice统计用户数,如果devicePrice不够,则补齐 explode、when、collect_set、udf综合考察(父级维度不确定,补齐子维度)
功能 join相关
支持left、right、inner join不等值连接,比如t1 left t2 on t1.time1 >= t2.time2 and t2.time1 <= t2.time3

  4、Flink

  5、Kylin

  6、Phoenix

三、使用

  1、语句DDL/DML/DQL/DCL

四、优化

  1、Calcite
    Rule-based Optimizer
    Cost-based Optimizer
    处理流程(Parser->Validate->Optimize->Execute)

  2、


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: