杰瑞科技汇

Informatica教程该怎么学?

Informatica 完整教程:从入门到精通

第一部分:基础认知

什么是 Informatica?

Informatica 是一家全球领先的数据管理和软件公司,其核心产品是 Informatica PowerCenter,它是一个功能强大的企业级数据集成平台,主要用于构建和管理数据仓库、数据湖、数据集市以及实现各种数据迁移和转换任务。

Informatica教程该怎么学?-图1
(图片来源网络,侵删)

你可以把它想象成一个“数据搬运工”和“数据加工厂”。

  • 搬运工:它能从各种不同的数据源(如 Oracle 数据库、SQL Server、Excel 文件、API 等)抽取数据。
  • 加工厂:它能对抽取来的数据进行清洗、转换、合并、聚合等复杂处理,最终将处理好的数据加载到目标系统(如数据仓库、报表系统等)。

核心概念

在学习使用 Informatica 之前,必须理解以下几个核心概念:

  • Repository (知识库)

    • Informatica 的“大脑”或“中央数据库”。
    • 存储了所有定义好的元数据,比如源表、目标表、转换规则、工作流、会话等。
    • 元数据是关于数据的数据,描述了数据本身的结构和属性。
  • Repository Service (知识库服务)

    Informatica教程该怎么学?-图2
    (图片来源网络,侵删)

    负责管理和访问知识库的后台服务,当你设计或运行任务时,都是通过这个服务与知识库交互。

  • Integration Service (集成服务)

    • Informatica 的“肌肉”或“执行引擎”。
    • 负责执行在Workflow Manager中定义的工作流,即实际的数据抽取、转换和加载过程。
  • Domain (域)

    管理和协调 Repository Service 和 Integration Service 的最高级别容器,一个域可以包含多个服务。

    Informatica教程该怎么学?-图3
    (图片来源网络,侵删)
  • ETL (Extract, Transform, Load)

    • 这是 Informatica 最核心的工作模式。
    • Extract (抽取):从源系统读取数据。
    • Transform (转换):对数据进行清洗、格式化、计算、聚合等操作。
    • Load (加载):将处理后的数据写入目标系统。
  • Mapping (映射)

    • ETL 过程的“蓝图”或“设计图”,它定义了数据从源如何流向目标,以及在过程中经过了哪些转换。
    • 一个映射由源定义目标定义转换连接 组成。
  • Workflow (工作流)

    • ETL 过程的“执行计划”或“调度任务”,它定义了任务的执行顺序、依赖关系、调度时间(如每天凌晨2点运行)等。
    • 工作流由一个或多个Session(会话)以及Command Task(命令任务)等组成。
  • Session (会话)

    工作流中的一个执行单元,它对应于一个具体的映射,一个会话就是 PowerCenter 执行引擎执行一次映射的实例。


第二部分:核心组件详解

Informatica PowerCenter 的主要工具

  • PowerCenter Designer

    • 用途:设计和创建映射的地方,是开发人员最常用的工具。
    • 功能:创建源/目标定义、设计转换逻辑、构建映射。
  • PowerCenter Workflow Manager

    • 用途:创建、管理和调度工作流。
    • 功能:将映射打包成工作流,设置任务的执行顺序、定时调度、错误处理和监控。
  • PowerCenter Workflow Monitor

    • 用途:监控和查看工作流的运行状态。
    • 功能:实时查看会话是否成功、读取/写入的行数、运行日志、错误信息等。
  • Repository Manager

    • 用途:管理知识库中的元数据。
    • 功能:通常用于管理员,进行用户权限管理、版本控制、备份恢复等。

常用转换

转换是映射的核心,负责处理数据,以下是一些最常用的转换:

转换名称 功能描述 常用场景
Source Qualifier 连接源定义和映射,定义从源抽取数据的SQL查询。 几乎所有映射的起点,用于优化数据抽取。
Target 定义目标表的结构和数据加载规则。 所有映射的终点,定义数据最终要去哪里。
Expression 在数据流中进行行级的数据计算、字符串操作、条件判断等。 计算新字段、拼接字符串、根据条件赋值。
Filter 根据条件过滤掉不需要的行。 只处理满足特定条件的数据,如只处理订单金额大于100的记录。
Joiner 将来自不同源的行(通常是主键和外键关系)合并成一行。 将订单表和客户表关联起来。
Aggregator 对数据进行聚合计算,如求和、平均值、计数、分组等。 按地区统计销售额、计算每个部门的员工数。
Sorter 对数据进行排序。 为 Joiner 或 Aggregator 转换准备数据(有时是必需的)。
Lookup 根据输入值,在参考表(如维度表)中查找并返回相关值。 根据产品ID查找产品名称、根据客户ID查找客户等级。
Router 根据不同的条件,将一行数据分发到不同的输出组。 将客户分为“VIP客户”和“普通客户”两组,进行不同处理。

第三部分:实战演练 - 第一个 ETL 项目

假设我们要完成一个简单的任务:从 EMPLOYEES 表中抽取员工信息,过滤掉已离职的员工,计算每个部门的平均薪资,然后将结果加载到 DEPT_AVG_SAL 表中。

步骤 1:准备工作

  1. 安装环境:确保你已经安装好了 Informatica PowerCenter Client 和 Server,并配置好了相应的 Repository Service 和 Integration Service。
  2. 准备数据源:确保你的数据库中存在 EMPLOYEES 表(包含 EMP_ID, EMP_NAME, DEPT_ID, SALARY, STATUS 等字段)。
  3. 准备目标表:在数据库中创建 DEPT_AVG_SAL 表,包含 DEPT_IDAVG_SALARY 字段。

步骤 2:使用 Designer 创建映射

  1. 打开 PowerCenter Designer,连接到知识库。
  2. 创建源定义
    • 选择 Sources -> Import -> Relational
    • 连接到你的数据库,选择 EMPLOYEES 表,导入,左侧的 Source Analyzer 中会出现 EMPLOYEES 的结构。
  3. 创建目标定义
    • 选择 Targets -> Import -> Relational
    • 连接到数据库,选择 DEPT_AVG_SAL 表,导入。
  4. 创建映射
    • 选择 Mapplets -> Create,新建一个映射,命名为 M_EmpDeptSal
  5. 拖拽组件
    • 从左侧 Source Analyzer 中拖拽 EMPLOYEES 表到映射画布上。
    • 从左侧 Target Designer 中拖拽 DEPT_AVG_SAL 表到映射画布上。
  6. 设计转换逻辑
    • 添加 Filter 转换:从工具栏拖拽 Filter 到画布,将 EMPLOYEES 的输出端口连接到 Filter 的输入端口,双击 Filter,在 Filter Condition 中输入 STATUS = 'ACTIVE'
    • 添加 Aggregator 转换:拖拽 Aggregator 到画布,将 Filter 的输出端口连接到 Aggregator 的输入端口,双击 Aggregator
      • Group By 选项卡中,勾选 DEPT_ID
      • Columns 选项卡中,创建一个新的输出端口 AVG_SALARY,设置其表达式为 SALARY
    • 连接到目标:将 AggregatorDEPT_IDAVG_SALARY 输出端口,分别连接到 DEPT_AVG_SAL 目标表的相应端口。
  7. 保存和验证映射
    • 保存映射 (Ctrl+S)。
    • 选择 Mapping -> Validate,检查是否有语法错误,如果没有错误,映射设计完成。

步骤 3:使用 Workflow Manager 创建和调度工作流

  1. 打开 Workflow Manager,连接到知识库。
  2. 创建文件夹:为你的项目创建一个文件夹,如 MyFirstProject
  3. 创建工作流
    • 在文件夹上右键,选择 Create -> Workflow,命名为 WF_EmpDeptSal
  4. 创建并添加会话
    • 在工作流设计器中,右键选择 Create -> Session
    • 在弹出的窗口中,选择刚刚创建的映射 M_EmpDeptSal
    • 进入 Properties -> Mapping 选项卡,确保映射正确。
    • 进入 Properties -> SourceTarget 选项卡,配置正确的数据库连接信息。
    • 保存会话,并将其命名为 S_EmpDeptSal
  5. 将会话添加到工作流
    • 将创建好的 S_EmpDeptSal 会话拖拽到工作流画布上。
  6. 调度工作流
    • 右键点击工作流画布上的 S_EmpDeptSal,选择 Properties
    • 进入 Schedule 选项卡,设置调度频率,Run once now 或设置一个定时任务(如每天 03:00)。
  7. 保存工作流

步骤 4:使用 Workflow Monitor 运行和监控

  1. 打开 Workflow Monitor
  2. 刷新并查找任务:刷新任务列表,找到你刚才创建的 WF_EmpDeptSal
  3. 启动任务
    • 右键点击 WF_EmpDeptSal,选择 Start Workflow
    • 你会看到任务状态从 Scheduled -> Running -> Succeeded(如果成功)或 Failed(如果失败)。
  4. 查看日志
    • 双击任务或会话,可以查看详细的运行日志、读取/写入的行数、性能指标等。
    • 如果任务失败,日志会告诉你错误原因(如连接失败、SQL 错误、数据类型不匹配等)。

步骤 5:验证结果

登录到你的数据库,查询 DEPT_AVG_SAL 表,检查数据是否已正确加载。


第四部分:学习资源与进阶

官方资源

书籍

  • 《Informatica PowerCenter 9.x: Complete Reference》:非常全面和经典的参考书,适合系统学习。
  • 《Informatica PowerCenter Cookbook》:以问题-解决方案的形式组织,适合有一定基础后查阅。

在线课程

  • Udemy, Coursera, edX:在这些平台上搜索 "Informatica PowerCenter",有很多付费和免费的入门课程。
  • YouTube:有大量免费的视频教程,可以跟着一步步操作。

进阶方向

当你掌握了基础后,可以进一步学习:

  • PowerCenter 高级特性:如参数文件、变量、自定义转换、Java/VB 脚本等。
  • 数据质量:学习 Informatica Data Quality (IDQ) 或 Informatica Data Quality (DQ) for Big Data,进行数据探查、清洗和匹配。
  • 大数据集成:学习如何使用 Informatica Big Data Integration (BDI) 或 PowerCenter 连接 Hadoop、Spark 等大数据平台。
  • 云平台集成:学习 Informatica Cloud (IICS),这是 Informatica 的云原生数据集成平台,功能更强大,部署更灵活。
  • PowerCenter 性能调优:学习如何优化映射、会话配置以提高 ETL 任务的运行效率。

希望这份详细的教程能帮助你顺利开启 Informatica 的学习之旅!祝你学习愉快!

分享:
扫描分享到社交APP
上一篇
下一篇