课程大纲

Teradata简介

模块1:Teradata基础与架构

  • Teradata是什么及其用途
  • 并行架构:AMPs、PEs、BYNET
  • 数据分布与哈希
  • 关键概念:会话、spool、锁
  • 连接系统:Teradata Studio / BTEQ / SQL Assistant

模块2:Teradata中的SQL入门

  • 基本SELECT、WHERE、ORDER BY
  • 数据类型与类型转换
  • 数学与日期函数
  • 使用ALIAS、CASE表达式
  • Teradata的特殊操作符(TOP、QUALIFY、SAMPLE)
  • 实践指导:基于真实表的查询

模块3:连接、子查询与集合操作符

  • INNER、LEFT、RIGHT、FULL OUTER JOIN
  • 无ON子句的连接(笛卡尔积)
  • 标量子查询与相关子查询
  • UNION、INTERSECT、MINUS
  • 数据集成实践练习

模块4:分析函数与OLAP

  • RANK()、ROW_NUMBER()、DENSE_RANK()
  • 使用PARTITION BY进行数据分区
  • 使用OVER()和ORDER BY的窗口函数
  • LAG()、LEAD()、FIRST_VALUE()
  • 用例:KPI、趋势、累计值

模块5:数据与表管理

  • 表类型:永久表、临时表、全局临时表
  • 创建与使用二级索引与连接索引
  • 插入、更新与删除记录
  • MERGE、UPSERT与重复数据控制
  • 事务与锁控制

模块6:优化与性能调优

  • Teradata优化器:如何决定执行计划
  • 使用EXPLAIN与COLLECT STATISTICS
  • 数据倾斜及其避免方法
  • 查询设计的最佳实践
  • 识别瓶颈(spool、锁、数据重分布)
  • 实践:优化查询与非优化查询的比较

模块7:数据分区与压缩

  • 分区类型:范围分区、案例分区、多级分区
  • 在大查询中的优势与实际应用
  • 块级压缩(BLC)与列压缩
  • 优势与限制

模块8:数据加载与提取

  • TPT(Teradata Parallel Transporter)与FastLoad / MultiLoad
  • 批量加载与批量插入
  • 错误处理与重试机制
  • 将结果导出到文件或外部系统
  • 使用脚本与工具进行基本自动化

模块9:技术用户的基本管理

  • 角色与权限
  • 资源控制(Query Bands、Priority Scheduler)
  • 使用DBQLOGTBL、DBC.Tables、ResUsage进行监控
  • 共享环境中的最佳实践

模块10:最终集成实验室

  • 端到端实践案例:
    • 数据加载
    • 数据转换与聚合
    • 使用OLAP函数构建指标
    • 优化与解释
    • 最终导出
  • 讨论最佳实践与常见错误

要求

  • 理解关系型数据库和SQL概念
  • 具备查询大数据集或在数据环境中工作的经验
  • 熟悉业务智能或分析目标

目标受众

  • 数据分析师和业务智能专业人士
  • SQL开发人员与数据工程师
  • 在Teradata环境中管理或优化数据的技术用户
 35 小时

客户评论 (1)

即将举行的公开课程

课程分类