课程培训
SQL(MySQL、Oracle、Hive、Spark)培训

 

SQL(MySQL、Oracle、Hive、Spark)培训课程大纲

 

培训对象

  • 数据分析师/数据工程师(需跨平台处理数据)

  • 数据仓库/大数据平台开发人员

  • 后端开发工程师(需掌握多种SQL方言)

  • 数据库管理员/DBA(扩展大数据技能)

  • 准备从事数据相关工作的求职者

 

培训目标
使学员系统掌握MySQL、Oracle、Hive、Spark SQL四种主流SQL引擎的核心语法与特性差异;理解关系型数据库与大数据SQL引擎在架构、优化、执行逻辑上的本质区别;熟练在不同平台间迁移SQL技能,能够根据场景选择合适工具;具备跨平台数据处理的实战能力,应对企业混合架构下的数据查询与分析需求。

 

培训内容介绍

  1. SQL标准与各平台概述
    SQL标准演进(SQL-92/SQL-99/SQL:2003/SQL:2016);关系型数据库 vs 大数据SQL引擎核心差异;四种平台定位对比:MySQL(OLTP关系型)、Oracle(企业级关系型)、Hive(批处理数据仓库)、Spark SQL(内存计算引擎);各平台适用场景与选型指南。

  2. 开发环境搭建与基础查询
    MySQL安装与客户端配置
    ;Oracle环境与SQL*Plus使用;Hive环境搭建与Beeline连接;Spark SQL环境(Spark-shell/Thrift Server);各平台第一个查询:SELECT * FROM table;通用SELECT语法结构对比。

  3. 数据类型与函数差异
    数值类型对比(MySQL INT/Oracle NUMBER/Hive INT/Spark Integer);字符串类型(MySQL VARCHAR/Oracle VARCHAR2/Hive STRING/Spark String);日期时间类型及处理函数差异;NULL值处理在各平台的异同;类型转换语法对比(CAST/CONVERT/隐式转换)

  4. 条件过滤与运算符
    WHERE子句通用语法;比较运算符(=, !=, <>, >, <, >=, <=);IN与NOT IN(注意NULL处理差异);BETWEEN范围查询;LIKE模糊匹配与通配符;正则表达式支持程度对比;逻辑运算符(AND/OR/NOT);各平台条件短路逻辑差异。

  5. 排序与限制查询
    ORDER BY排序(ASC/DESC/多字段);MySQL的LIMIT语法;Oracle的ROWNUM与FETCH FIRST语法
    ;Hive的LIMIT(需注意strict模式);Spark SQL的LIMIT与排序优化;各平台分页查询实现对比。

  6. 聚合函数与分组查询
    聚合函数通用语法:COUNT/SUM/AVG/MAX/MIN
    ;COUNT(*)与COUNT(列)区别;各平台对DISTINCT聚合的支持(COUNT(DISTINCT col));GROUP BY分组语法;多字段分组;HAVING分组后过滤(与WHERE区别);各平台分组函数扩展(Oracle的ROLLUP/CUBE/GROUPING SETS、Hive的WITH CUBE/ROLLUP)。

  7. 多表连接查询
    连接类型通用语法:INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN
    ;MySQL对FULL JOIN的支持(需UNION模拟);Oracle的NATURAL JOIN与USING子句;Hive的JOIN优化(MapJoin/Bucket Join);Spark SQL的SMJ(Sort Merge Join)与BHJ(Broadcast Hash Join);多表连接执行计划差异。

  8. 子查询进阶
    子查询分类:标量子查询、列子查询、行子查询、表子查询
    ;WHERE中的子查询(IN/EXISTS/ANY/ALL);SELECT中的子查询;FROM中的子查询(派生表);相关子查询与非相关子查询;Oracle子查询特殊语法(WITH);Hive对子查询的支持限制;Spark SQL子查询优化。

  9. 集合操作
    UNION与UNION ALL区别与使用
    ;Oracle的INTERSECT/MINUS;MySQL模拟INTERSECT/EXCEPT的方法;Hive的UNION ALL与UNION;Spark SQL的集合操作支持;集合操作注意事项(列数/数据类型/排序)。

  10. 窗口函数
    窗口函数概念与语法(OVER())
    ;各平台窗口函数支持对比(MySQL 8.0+、Oracle全支持、Hive 0.11+、Spark SQL全支持);ROW_NUMBER/RANK/DENSE_RANK排名函数;LAG/LEAD前后行访问;SUM/AVG等聚合窗口函数(累计计算/移动平均);PARTITION BY与ORDER BY组合;窗口帧(ROWS/RANGE)定义;Oracle分析函数扩展。

  11. 高级查询特性
    MySQL的GROUP_CONCAT聚合连接
    ;Oracle的LISTAGG与PIVOT行列转换;Hive的侧视图(LATERAL VIEW)与explode函数;Spark SQL的PIVOT与高阶函数;各平台正则表达式函数对比;递归查询(Oracle CONNECT BY vs MySQL 8.0 CTE)。

  12. 数据操作语言(DML)
    INSERT基本语法;批量插入(MySQL扩展语法/Oracle INSERT ALL);INSERT INTO ... SELECT;UPDATE与DELETE语法;Oracle的MERGE语法(UPSERT);MySQL的REPLACE INTO;Hive的INSERT OVERWRITE与动态分区插入
    ;Spark SQL的DataFrame写入与SQL DML。

  13. 事务与一致性
    MySQL事务支持(InnoDB引擎)与隔离级别;Oracle的MVCC与读一致性;Hive事务支持限制(需特定配置);Spark SQL事务特性;各平台ACID特性对比;锁机制差异。

  14. 性能优化基础
    MySQL执行计划(EXPLAIN)解读
    ;Oracle执行计划(DBMS_XPLAN);Hive执行计划(EXPLAIN)与Tez/Spark执行引擎;Spark SQL执行计划(Spark UI/explain);各平台优化器特性对比(CBO/RBO);索引在优化中的作用差异。

  15. 分区与分桶优化
    MySQL分区表(RANGE/LIST/HASH);Oracle分区技术;Hive分区表概念与管理
    ;Hive分桶表(CLUSTERED BY);Spark SQL对分区的处理;分区裁剪(Partition Pruning)原理;各平台分区优化策略。

  16. 存储格式与性能
    MySQL存储引擎(InnoDB/MyISAM)对比;Oracle表空间与段管理;Hive文件格式(Text/Sequence/Parquet/ORC)对比
    ;Spark SQL对Parquet/ORC的支持;列式存储优势;压缩算法选择(Snappy/Zlib/LZO);各平台存储格式与性能关系。

  17. 数据采样与统计
    MySQL的TABLESAMPLE支持;Oracle的SAMPLE子句;Hive抽样查询(桶表抽样/数据块抽样/随机抽样)
    ;Spark SQL的表采样;统计信息收集(ANALYZE TABLE)在各平台的实现;统计信息对优化器影响。

  18. Hive与Spark SQL特殊语法
    Hive的HQL特性:侧视图LATERAL VIEW、explode函数、collect_list/set聚合
    ;Hive的自定义函数(UDF/UDAF/UDTF);Spark SQL的DataFrame API与SQL互操作;Spark SQL的高阶函数(transform/filter/exists);Hive与Spark SQL执行引擎差异(MapReduce/Tez/Spark)。

  19. 实战案例一:跨平台数据迁移与验证
    场景:MySQL业务库数据同步至Hive数仓。任务:MySQL导出(SELECT INTO OUTFILE)→Hive建表(分区/存储格式)→LOAD DATA导入→数据量对比验证(COUNT)→关键指标聚合计算一致性校验→性能对比测试。

  20. 实战案例二:Oracle存储过程改写为Spark SQL
    场景:Oracle存储过程迁移至Spark SQL。任务:理解Oracle存储过程逻辑(游标/循环/临时表)→识别可转换部分与需重构部分→PL/SQL与Spark SQL语法差异分析→使用Spark SQL的CTE和窗口函数重写逻辑→性能验证与优化。

  21. 实战案例三:多源数据关联分析
    场景:MySQL用户表与Hive订单表关联分析。任务:MySQL数据通过Sqoop同步至Hive→Hive中创建用户临时表→Spark SQL读取Hive表(用户+订单)→复杂关联查询(多维度聚合)→结果导出至MySQL供报表使用→全流程性能优化。

  22. 实战案例四:SQL语法兼容性改造
    场景:Oracle SQL迁移至MySQL/Hive/Spark。任务:识别源SQL中的Oracle特性(层次查询CONNECT BY/PIVOT/分析函数)→寻找目标平台的等价实现方案(递归CTE/CASE WHEN聚合/窗口函数)→改写SQL并验证结果一致性→性能对比测试→输出SQL迁移指南。

  23. 课程总结与技能图谱
    四种SQL引擎核心语法回顾;各平台特性对比总结;SQL迁移心法;SQL学习资源推荐;后续进阶方向(SQL优化专家/数据仓库设计/大数据开发);跨平台SQL能力在企业中的价值。





如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>