SAP BODS 快速指南



数据仓库 - 概述

数据仓库是存储来自一个或多个异构数据源的数据的中央存储库。数据仓库用于报告和分析信息,并存储历史数据和当前数据。DW 系统中的数据用于分析报告,业务分析师、销售经理或知识工作者随后将使用这些报告进行决策。

DW 系统中的数据是从运营事务系统(如销售、营销、人力资源、供应链管理等)加载的。在加载到 DW 系统进行信息处理之前,它可能需要经过运营数据存储或其他转换。

数据仓库 - 主要特点

DW 系统的主要特点包括:

  • 它是中心数据存储库,存储来自一个或多个异构数据源的数据。

  • DW 系统存储当前数据和历史数据。通常,DW 系统存储 5-10 年的历史数据。

  • DW 系统始终与运营事务系统分开。

  • DW 系统中的数据用于不同类型的分析报告,范围从季度到年度比较。

DW 系统的需求

假设您有一个住房贷款机构,数据来自多个应用程序,例如营销、销售、ERP、人力资源、物料管理等。这些数据将被提取、转换并加载到数据仓库中。

例如,如果您需要比较产品的季度/年度销售额,则不能使用运营事务数据库,因为这会挂起事务系统。因此,数据仓库用于此目的。

DW 和 ODB 的区别

数据仓库和运营数据库(事务数据库)之间的区别如下:

  • 事务系统专为已知的负载和事务(如更新用户记录、搜索记录等)而设计。但是,数据仓库事务更复杂,并呈现数据的通用形式。

  • 事务系统包含组织的当前数据,而数据仓库通常包含历史数据。

  • 事务系统支持多个事务的并行处理。需要并发控制和恢复机制来维护数据库的一致性。

  • 运营数据库查询允许读取和修改操作(删除和更新),而 OLAP 查询只需要对存储数据的只读访问权限(SELECT 语句)。

DW 架构

数据仓库涉及数据清洗、数据集成和数据整合。

DW Architecture

数据仓库具有三层架构:**数据源层、集成层**和**展示层**。上图显示了数据仓库系统的常见架构。

数据仓库 - 类型

有四种类型的数据仓库系统。

  • 数据集市
  • 联机分析处理 (OLAP)
  • 联机事务处理 (OLTP)
  • 预测分析 (PA)

数据集市

数据集市被称为数据仓库系统的最简单形式,通常包含组织中的单个职能区域,例如销售、财务或营销等。

数据集市存在于组织中,由单个部门创建和管理。由于它属于单个部门,因此该部门通常只从少数或一种类型的来源/应用程序获取数据。此来源可以是内部运营系统、数据仓库或外部系统。

联机分析处理

在 OLAP 系统中,与事务系统相比,事务数量较少。执行的查询性质复杂,涉及数据聚合。

什么是聚合?

如果有人需要进行逐年比较,我们将保存带有聚合数据的表,例如按年(1 行)、季度(4 行)、月(12 行)等,则只需处理一行。但是,在未聚合的表中,它将比较所有行。

SELECT SUM(salary)
FROM employee
WHERE title = 'Programmer';

OLAP 系统中的有效措施

响应时间被称为 **OLAP** 系统中最有效和关键的措施之一。聚合的存储数据以多维模式维护,例如星型模式(当数据被排列成层次结构组时,通常称为维度,并排列成事实和聚合事实,则称为模式)。

OLAP 系统的延迟为几小时,而数据集市的延迟预计接近一天。

联机事务处理

在 OLTP 系统中,有大量短的在线事务,例如 INSERT、UPDATE 和 DELETE。

在 OLTP 系统中,有效的措施是短事务的处理时间,并且非常短。它控制多访问环境中的数据完整性。对于 OLTP 系统,每秒事务数衡量 **有效性**。OLTP 数据仓库系统包含当前和详细的数据,并以实体模型中的模式维护(3NF)。

示例

零售商店中的日常事务系统,其中客户记录每天都会插入、更新和删除。它提供非常快速的查询处理。OLTP 数据库包含详细的当前数据。用于存储 OLTP 数据库的模式是实体模型。

OLTP 和 OLAP 之间的区别

下图显示了 **OLTP** 和 **OLAP** 系统之间的主要区别。

OLTP and OLAP
  • **索引** - OLTP 系统只有少量索引,而在 OLAP 系统中,为了性能优化,有许多索引。

  • **连接** - 在 OLTP 系统中,大量连接和数据被规范化。但是,在 OLAP 系统中,连接较少,并且被反规范化。

  • **聚合** - 在 OLTP 系统中,数据未被聚合,而在 OLAP 数据库中,使用更多的聚合。

预测分析

预测分析是指通过使用不同的数学函数来预测未来结果,从而在 DW 系统中存储的数据中查找隐藏模式。

预测分析系统在其用途方面不同于 OLAP 系统。它用于关注未来结果。OALP 系统专注于当前和历史数据处理以进行分析报告。

数据仓库 - 产品 & 供应商

市场上有各种数据仓库/数据库系统可以满足 DW 系统的功能。数据仓库系统最常见的供应商包括:

  • Microsoft SQL Server
  • Oracle Exadata
  • IBM Netezza
  • Teradata
  • Sybase IQ
  • SAP Business Warehouse (SAP BW)

SAP Business Warehouse

**SAP Business Warehouse** 是 SAP NetWeaver 发布平台的一部分。在 NetWeaver 7.4 之前,它被称为 SAP NetWeaver Business Warehouse。

在 SAP BW 中,数据仓库意味着数据集成、转换、数据清洗、存储和数据分级。DW 流程包括在 BW 系统中进行数据建模、分级和管理。用于在 BW 系统中管理 DW 任务的主要工具是管理工作台。

主要特点

  • SAP BW 提供了业务智能功能,包括分析服务和业务计划、分析报告、查询处理和信息以及企业数据仓库。

  • 它结合了数据库和数据库管理工具,有助于决策。

  • BW 系统的其他关键功能包括支持连接到非 SAP R/3 应用程序的业务应用程序编程接口 (BAPI)、自动化数据提取和加载、集成的 OLAP 处理器、元数据存储库、管理工具、多语言支持和基于 Web 的界面。

  • SAP BW 最初由德国公司 SAP 于 1998 年推出。SAP BW 系统基于模型驱动的方法,使企业数据仓库对于 SAP R3 数据更容易、更简单、更高效。

  • 在过去的 16 年中,SAP BW 已发展成为许多公司管理其企业数据仓库需求的关键系统之一。

  • 业务资源管理器 **(BEx)** 提供了在公司中进行灵活报告、战略分析和运营报告的选项。

  • 它用于在 BI 系统中执行报告、查询执行和分析功能。您还可以通过 Web 和 Excel 格式处理各种程度的详细信息的当前数据和历史数据。

  • 使用 **BEx** 信息广播,BI 内容可以通过电子邮件以文档的形式或以链接的形式共享为实时数据,或者您也可以使用 SAP EP 功能发布。

Business Objects & 产品

SAP Business Objects 被公认为最常用的商业智能工具,用于数据操作、用户访问、分析、格式化以及在不同平台上发布信息。它是一套基于前端的工具,使业务用户和决策者能够显示、排序和分析商业智能的当前和历史数据。

它包含以下工具:

Web Intelligence

Web Intelligence (WebI) 被称为最常用的 Business Objects 详细报表工具,支持数据分析的各种功能,如钻取、层次结构、图表、计算指标等。它允许最终用户在查询面板中创建即席查询,并在线和离线执行数据分析。

SAP Business Objects Xcelsius / 仪表盘

仪表盘为最终用户提供数据可视化和仪表盘功能,您可以使用此工具创建交互式仪表盘。

您还可以添加各种类型的图表和图形,创建用于数据可视化的动态仪表盘,这些仪表盘主要用于组织的财务会议。

Crystal Reports

Crystal Reports 用于像素级精确的报表。这使用户能够创建和设计报表,然后将其用于打印。

资源管理器

资源管理器允许用户搜索 BI 存储库中的内容,并以图表的形式显示最佳匹配项。无需编写查询即可执行搜索。

为详细报表、数据可视化和仪表盘目的而引入的其他组件和工具包括 Design Studio、Microsoft Office 的分析版本、BI 存储库和 Business Objects 移动平台。

ETL - 简介

ETL 代表提取、转换和加载。ETL 工具从不同的 RDBMS 源系统提取数据,转换数据(例如应用计算、连接等),然后将数据加载到数据仓库系统。数据以维度表和事实表的形式加载到 DW 系统中。

提取

  • ETL 加载期间需要一个暂存区。需要暂存区的原因有很多。

  • 源系统仅在特定时间段内可用以提取数据。此时间段短于总数据加载时间。因此,暂存区允许您在时间段结束前从源系统提取数据并将其保存在暂存区中。

  • 当您想要将来自多个数据源的数据组合在一起,或者想要将两个或多个系统连接在一起时,需要暂存区。例如,您将无法执行 SQL 查询来连接来自两个物理上不同的数据库的两个表。

  • 不同系统的数 据提取时间段因时区和运营时间而异。

  • 从源系统提取的数据可用于多个数据仓库系统、运营数据存储等。

  • ETL 允许您执行复杂的转换,并需要额外的空间来存储数据。

ETL Extraction

转换

在数据转换中,您对提取的数据应用一组函数以将其加载到目标系统。不需要任何转换的数据称为直接移动或直通数据。

您可以对从源系统提取的数据应用不同的转换。例如,您可以执行自定义计算。如果您想要销售收入总和,而数据库中没有此数据,则可以在转换期间应用 **SUM** 公式并加载数据。

例如,如果表中在不同列中包含名字和姓氏,您可以在加载前使用连接。

加载

在加载阶段,数据将加载到最终目标系统,它可以是平面文件或数据仓库系统。

SAP BODS - 概述

SAP BO Data Services 是一款用于数据集成、数据质量、数据分析和数据处理的 ETL 工具。它允许您将经过验证的集成数据传输到数据仓库系统,用于分析报告。

BO Data Services 包含 UI 开发界面、元数据存储库、与源系统和目标系统的连接以及用于作业调度的管理控制台。

数据集成和数据管理

SAP BO Data Services 是一款数据集成和管理工具,包含数据集成作业服务器和数据集成设计器。

主要特点

  • 您可以使用数据集成语言应用各种数据转换以应用复杂的数据转换和构建自定义函数。

  • 数据集成设计器用于在存储库中存储实时和批处理作业以及新项目。

  • DI 设计器还通过提供具有所有基本功能的中央存储库,为基于团队的 ETL 开发提供了一个选项。

  • 数据集成作业服务器负责处理使用 DI 设计器创建的作业。

Web 管理员

数据集成 Web 管理员由系统管理员和数据库管理员用于维护 Data Services 中的存储库。Data Services 包括元数据存储库、用于基于团队的开发的中央存储库、作业服务器和 Web 服务。

DI Web 管理员的关键功能

  • 用于调度、监视和执行批处理作业。
  • 用于配置和启动以及停止实时服务器。
  • 用于配置作业服务器、访问服务器和存储库使用情况。
  • 用于配置适配器。
  • 用于配置和控制 BO Data Services 中的所有工具。

数据管理功能强调数据质量。它涉及数据清洗、增强和整合,以在 DW 系统中获得正确的数据。

SAP BODS - 架构

在本章中,我们将学习 SAP BODS 架构。插图显示了带有暂存区的 BODS 系统架构。

源层

源层包括不同的数据源,例如 SAP 应用和非 SAP RDBMS 系统,数据集成在暂存区进行。

SAP Business Objects Data Services 包括不同的组件,例如 Data Service Designer、Data Services Management Console、Repository Manager、Data Services Server Manager、工作台等。目标系统可以是 DW 系统,例如 SAP HANA、SAP BW 或非 SAP 数据仓库系统。

SAP BODS Source Layer

以下屏幕截图显示了 SAP BODS 的不同组件。

SAP BODS Components

您还可以将 BODS 架构划分为以下几层:

  • Web 应用层
  • 数据库服务器层
  • 数据服务服务层

以下插图显示了 BODS 架构。

BODS Architecture

产品演变 - ATL、DI 和 DQ

Acta Technology Inc. 开发了 SAP Business Objects Data Services,后来 Business Objects 公司收购了它。Acta Technology Inc. 是一家美国公司,负责开发第一个数据集成平台。Acta Inc. 开发的两款 ETL 软件产品是 **数据集成 (DI)** 工具和 **数据管理** 或 **数据质量 (DQ)** 工具。

法国公司 Business Objects 于 2002 年收购了 Acta Technology Inc.,后来这两款产品分别更名为 **Business Objects 数据集成 (BODI)** 工具和 **Business Objects 数据质量 (BODQ)** 工具。

SAP 于 2007 年收购了 Business Objects,这两款产品分别更名为 SAP BODI 和 SAP BODQ。2008 年,SAP 将这两款产品集成到名为 SAP Business Objects Data Services (BODS) 的单个软件产品中。

SAP BODS 提供数据集成和数据管理解决方案,在早期版本的 BODS 中,包含文本数据处理解决方案。

BODS - 对象

在 BO Data Services Designer 中使用到的所有实体都称为 **对象**。所有对象(如项目、作业、元数据和系统函数)都存储在本地对象库中。所有对象都是分层的。

对象主要包含以下内容:

  • **属性** - 用于描述对象,不会影响其操作。例如 - 对象名称、创建日期等。

  • **选项** - 控制对象的运行。

对象的类型

系统中有两种类型的对象:可重用对象和一次性对象。对象的类型决定了如何使用和检索该对象。

可重用对象

存储在存储库中的大多数对象都可以重用。当在本地存储库中定义和保存可重用对象时,您可以通过创建对定义的调用来重用该对象。每个可重用对象只有一个定义,对该对象的所有调用都引用该定义。现在,如果在一个地方更改对象定义,您就在该对象出现的所有地方更改对象定义。

对象库用于包含对象定义,当从库中拖放对象时,将创建对现有对象的新的引用。

一次性对象

专门为作业或数据流定义的所有对象都称为一次性对象。例如,在任何数据加载中使用的特定转换。

BODS - 对象层次结构

所有对象都是分层的。下图显示了 SAP BODS 系统中的对象层次结构:

Object Hierarchy

BODS - 工具和函数

根据下图所示的架构,我们在 SAP Business Objects Data Services 中定义了许多工具。每个工具根据系统环境都有其自身的函数。

Tools and Functions

在顶部,您安装了信息平台服务,用于用户和权限安全管理。BODS 依赖于中央管理控制台 (**CMC**) 来实现用户访问和安全功能。这适用于 4.x 版本。在之前的版本中,这是在管理控制台中完成的。

SAP BODS - 数据服务设计器

Data Services Designer 是一款开发工具,用于创建包含数据映射、转换和逻辑的对象。它是基于 GUI 的,充当 Data Services 的设计器。

存储库

存储库用于存储在 BO Data Services 中使用的对象的元数据。每个存储库都应在中央管理控制台中注册,并与一个或多个作业服务器链接,这些作业服务器负责执行您创建的作业。

存储库的类型

有三种类型的存储库。

  • **本地存储库** - 用于存储在 Data Services Designer 中创建的所有对象的元数据,例如项目、作业、数据流、工作流等。

  • **中央存储库** - 用于控制对象的版本管理,并用于多用户开发。中央存储库存储应用程序对象的所有版本。因此,它允许您移动到以前的版本。

  • **分析器存储库** - 用于管理与在 SAP BODS 设计器中执行的分析器任务相关的所有元数据。CMS 存储库存储在 BI 平台上的 CMC 上执行的所有任务的元数据。信息管家存储库存储在信息管家创建的所有分析任务和对象的元数据。

作业服务器

作业服务器用于执行您创建的实时和批处理作业。它从相应的存储库获取作业信息,并启动数据引擎以执行作业。作业服务器可以执行实时或计划作业,并使用多线程内存缓存和并行处理来提供性能优化。

访问服务器

Data Services 中的访问服务器被称为实时消息代理系统,它接收消息请求,移动到实时服务并在特定时间范围内显示消息。

Data Service Management Console

Data Service Management Console 用于执行管理活动,例如调度作业、在 DS 系统中生成质量报告、数据验证、文档编制等。

BODS - 命名标准

建议对所有系统中的所有对象使用标准命名约定,因为这使您可以轻松地识别存储库中的对象。

该表显示了应为所有作业和其他对象使用的推荐命名约定的列表。

前缀 后缀 对象
DF_ n/a 数据流
EDF_ _Input 嵌入式数据流
EDF_ _Output 嵌入式数据流
RTJob_ n/a 实时作业
WF_ n/a 工作流
JOB_ n/a 作业
n/a _DS 数据存储
DC_ n/a 数据配置
SC_ n/a 系统配置
n/a _Memory_DS 内存数据存储
PROC_ n/a 存储过程

SAP BODS - 仓库概述

BO 数据服务基础包括在设计工作流时使用的关键对象,例如项目、作业、工作流、数据流和存储库。

BODS – 存储库及类型

存储库用于存储BO数据服务中使用的对象的元数据。每个存储库都应在中央管理控制台 (CMC) 中注册,并与一个或多个作业服务器链接,这些服务器负责执行您创建的作业。

存储库的类型

有三种类型的存储库。

  • **本地存储库** - 用于存储在 Data Services Designer 中创建的所有对象的元数据,例如项目、作业、数据流、工作流等。

  • **中央存储库** - 用于控制对象的版本管理,并用于多用户开发。中央存储库存储应用程序对象的所有版本。因此,它允许您移动到以前的版本。

  • **分析器存储库** - 用于管理与在 SAP BODS 设计器中执行的分析器任务相关的所有元数据。CMS 存储库存储在 BI 平台上的 CMC 上执行的所有任务的元数据。信息管家存储库存储在信息管家创建的所有分析任务和对象的元数据。

SAP BODS - 存储库创建与更新

要创建BODS存储库,您需要安装一个数据库。您可以使用SQL Server、Oracle数据库、MySQL、SAP HANA、Sybase等。

创建存储库

安装BODS并创建存储库时,您必须在数据库中创建以下用户。这些用户需要登录到不同的服务器,例如CMS服务器、审计服务器等。

创建用户BODS,密码为Bodsserver1

  • 授予BODS连接权限;
  • 授予BODS创建会话权限;
  • 授予BODS DBA权限;
  • 授予BODS创建任何表权限;
  • 授予BODS创建任何视图权限;
  • 授予BODS删除任何表权限;
  • 授予BODS删除任何视图权限;
  • 授予BODS插入任何表权限;
  • 授予BODS更新任何表权限;
  • 授予BODS删除任何表权限;
  • 修改用户BODS配额为USERS上的无限配额;

创建用户CMS,密码为CMSserver1

  • 授予CMS连接权限;
  • 授予CMS创建会话权限;
  • 授予CMS DBA权限;
  • 授予CMS创建任何表权限;
  • 授予CMS创建任何视图权限;
  • 授予CMS删除任何表权限;
  • 授予CMS删除任何视图权限;
  • 授予CMS插入任何表权限;
  • 授予CMS更新任何表权限;
  • 授予CMS删除任何表权限;
  • 修改用户CMS配额为USERS上的无限配额;

创建用户CMSAUDIT,密码为CMSAUDITserver1

  • 授予CMSAUDIT连接权限;
  • 授予CMSAUDIT创建会话权限;
  • 授予CMSAUDIT DBA权限;
  • 授予CMSAUDIT创建任何表权限;
  • 授予CMSAUDIT创建任何视图权限;
  • 授予CMSAUDIT删除任何表权限;
  • 授予CMSAUDIT删除任何视图权限;
  • 授予CMSAUDIT插入任何表权限;
  • 授予CMSAUDIT更新任何表权限;
  • 授予CMSAUDIT删除任何表权限;
  • 修改用户CMSAUDIT配额为USERS上的无限配额;

安装后创建新的存储库

步骤1 − 创建数据库Local_Repo,然后转到数据服务存储库管理器。将数据库配置为本地存储库。

Create New Repository

将打开一个新窗口。

步骤2 − 在以下字段中输入详细信息 −

存储库类型、数据库类型、数据库服务器名称、端口、用户名和密码。

Repository Details

步骤3 − 点击创建按钮。您将收到以下消息 −

Click Create Button

步骤4 − 现在使用用户名和密码登录SAP BI平台中的中央管理控制台CMC。

CMC Login

步骤5 − 在CMC主页上,点击数据服务

CMC Homepage

步骤6 − 在数据服务菜单中,点击配置新的数据服务存储库。

Data Services Menu

步骤7 − 在新窗口中输入详细信息。

  • 存储库名称:Local_Repo
  • 数据库类型:SAP HANA
  • 数据库服务器名称:best
  • 数据库名称:LOCAL_REPO
  • 用户名
  • 密码:*****
Details New Window

步骤8 − 点击测试连接按钮,如果成功,则点击保存。保存后,它将出现在CMC的存储库选项卡中。

步骤9 − 在CMC → 用户和组中对本地存储库应用访问权限和安全性。

步骤10 −授予访问权限后,转到数据服务设计器→选择存储库→输入用户名和密码登录。

Repository Login

更新存储库

要更新存储库,请按照以下步骤操作。

步骤1 − 要安装后更新存储库,请创建一个数据库Local_Repo,然后转到数据服务存储库管理器。

步骤2 − 将数据库配置为本地存储库。

Configure Database

将打开一个新窗口。

步骤3 − 输入以下字段的详细信息。

存储库类型、数据库类型、数据库服务器名称、端口、用户名和密码。

Services Repository Manager

您将看到如下截图所示的输出。

SAP BODS Output

数据服务管理控制台

数据服务管理控制台 (DSMC) 用于执行管理活动,例如计划作业、在DS系统中生成质量报告、数据验证、文档编制等。

您可以通过以下方式访问数据服务管理控制台 −

您可以通过转到开始→所有程序→数据服务→数据服务管理控制台来访问数据服务管理控制台。

Management Console Start

如果您已登录,也可以通过设计器访问数据服务管理控制台。

要通过设计器主页访问数据服务管理控制台,请按照以下步骤操作。

Designer Home Page

要通过工具访问数据服务管理控制台,请按照以下步骤操作 −

步骤1 − 如以下图像所示,转到工具→数据服务管理控制台

Management Console Tools

步骤2 − 登录数据服务管理控制台后,将打开如下图所示的主屏幕。在顶部,您可以看到您登录使用的用户名。

在主页上,您将看到以下选项 −

  • 管理员
  • 自动文档
  • 数据验证
  • 影响和血缘分析
  • 运营仪表盘
  • 数据质量报告
Services Management Console

SAP BODS - DSMC 模块

本章解释了数据服务管理控制台每个模块的关键功能。

管理员模块

管理员选项用于管理 −

  • 用户和角色
  • 添加连接以访问服务器和存储库
  • 访问为Web服务发布的作业数据
  • 用于计划和监控批处理作业
  • 检查访问服务器状态和实时服务。

点击管理员选项卡后,您可以在左侧窗格中看到许多链接。它们是:状态、批处理、Web服务、SAP连接、服务器组、分析器存储库管理和作业执行历史记录。

Management Console Administrator

节点

下面将讨论管理员模块下的各个节点。

状态

状态节点用于检查批处理和实时作业的状态、访问服务器状态、适配器和分析器存储库以及其他系统状态。

点击状态→选择一个存储库

在右侧窗格中,您将看到以下选项的选项卡 −

批处理作业状态 − 用于检查批处理作业的状态。您可以检查作业信息,例如跟踪、监控、错误和性能监控器、开始时间、结束时间、持续时间等。

Batch Job Status

批处理作业配置 − 批处理作业配置用于检查单个作业的计划,或者您可以添加一个操作,例如执行、添加计划、导出执行命令。

Batch Job Configuration

存储库计划 − 用于查看和配置存储库中所有作业的计划。

批处理节点

在批处理作业节点下,您将看到与上面相同的选项。

序号 选项和说明
1

批处理作业状态

查看上次执行的状态以及每个作业的详细信息。

2

批处理作业配置

配置单个作业的执行和计划选项。

3

存储库计划

查看和配置存储库中所有作业的计划。

Web服务节点

Web服务用于将实时作业和批处理作业发布为Web服务操作,并检查这些操作的状态。这还用于维护发布为Web服务的作业的安全性以及查看WSDL文件。

Web Services Node

SAP连接

SAP连接用于检查状态或在数据服务管理控制台中配置RFC服务器接口

要检查RFC服务器接口的状态,请转到RFC服务器接口状态选项卡。要添加新的RFC服务器接口,请在配置选项卡上点击添加

当打开一个新窗口时,输入RFC服务器配置详细信息,然后点击应用

RFC Server Interface

服务器组

这用于将与同一存储库关联的所有作业服务器组合到一个服务器组中。此选项卡用于在数据服务中执行作业时的负载平衡。

执行作业时,它会检查相应的作业服务器,如果它已关闭,则会将作业移动到同一组中的其他作业服务器。它主要用于生产环境中的负载平衡。

Server Groups

概要文件存储库

当您将概要文件存储库连接到管理员时,它允许您展开概要文件存储库节点。您可以转到概要文件任务状态页面。

管理节点

要使用管理员选项卡的功能,您需要使用管理节点将连接添加到数据服务。管理节点包含管理应用程序的不同配置选项。

Management Node

作业执行历史记录

这用于检查作业或数据流的执行历史记录。使用此选项,您可以检查您创建的一个批处理作业或所有批处理作业的执行历史记录。

选择作业后,信息将以表格形式显示,其中包含存储库名称、作业名称、开始时间、结束时间、执行时间、状态等。

Job Execution History

SAP BODS - DS 设计器简介

数据服务设计器是一个开发工具,用于创建包含数据映射、转换和逻辑的对象。它是基于GUI的,并且充当数据服务的设计器。

您可以使用数据服务设计器创建各种对象,例如项目、作业、工作流、数据流、映射、转换等。

要启动数据服务设计器,请按照以下步骤操作。

步骤1 − 指向开始→所有程序→SAP数据服务4.2→数据服务设计器。

Point to Start

步骤2 − 选择存储库并输入密码登录。

Password to Login

选择存储库并登录到数据服务设计器后,将出现如下图所示的主屏幕。

Repository and Login

左侧窗格是项目区域,您可以在其中创建新的项目、作业、数据流、工作流等。项目区域包含本地对象库,其中包含在Data Services中创建的所有对象。

Bottom Pane Object

在底部窗格中,您可以通过转到特定选项(如项目、作业、数据流、工作流等)来打开现有对象。一旦您从底部窗格中选择任何对象,它将显示已经在本地对象库下的资源库中创建的所有类似对象。

右侧是主屏幕,可用于:

  • 创建项目
  • 打开项目
  • 创建数据存储
  • 创建资源库
  • 从平面文件导入
  • 数据服务管理控制台

SAP BODS - DS 设计器中的 ETL 流程

要开发ETL流程,您首先需要为源系统和目标系统创建数据存储。请按照给定的步骤开发ETL流程:

步骤1 - 点击创建数据存储

Create Data Stores

将打开一个新窗口。

步骤2 - 输入数据存储名称、数据存储类型和数据库类型,如下所示。您可以选择不同的数据库作为源系统,如下面的屏幕截图所示。

Datastore Name Type

步骤3 - 要使用ECC系统作为数据源,请选择SAP Applications作为数据存储类型。输入用户名和密码,在高级选项卡中,输入系统编号和客户端编号。

ECC System

步骤4 - 点击确定,数据存储将添加到本地对象库列表中。如果展开数据存储,则不会显示任何表。

Local Object Library

步骤5 - 要从ECC系统提取任何表以加载到目标系统,请右键单击表→按名称导入。

Extract Any Table

步骤6 - 输入表名并点击导入。这里使用表Mara,它是ECC系统中的默认表。

Table–Mara

步骤7 - 以类似的方式,为目标系统创建一个数据存储。在此示例中,HANA用作目标系统。

HANA Target System

单击确定后,此数据存储将添加到本地对象库中,并且其中不会有任何表。

创建ETL流程

要创建ETL流程,请创建一个新项目。

步骤1 - 点击创建项目选项。输入项目名称并点击创建。它将添加到项目区域。

Project Area

步骤2 - 右键单击项目名称并创建一个新的批处理作业/实时作业。

New Batch Job

步骤3 - 输入作业名称并按Enter键。您需要为此添加工作流和数据流。选择一个工作流并点击工作区将其添加到作业中。输入工作流名称并双击将其添加到项目区域。

步骤4 - 以类似的方式,选择数据流并将其添加到项目区域。输入数据流名称并双击将其添加到新项目下。

Dataflow Project Area

步骤5 - 现在将数据存储下的源表拖到工作区。现在您可以将具有类似数据类型的目标表拖到工作区,也可以创建一个新的模板表。

要创建一个新的模板表,请右键单击源表,添加新→模板表。

New Template Table

步骤6 - 输入表名并从列表中选择数据存储作为目标数据存储。所有者名称表示要创建表的模式名称。

Target Datastore

该表将以此表名添加到工作区。

步骤7 - 从源表拖动线条到目标表。点击顶部的全部保存选项。

Source Target Table

现在您可以使用Data Service Management Console调度作业,也可以通过右键单击作业名称并执行来手动执行它。

Job Name Execute

SAP BODS - 数据存储概述

数据存储用于设置应用程序和数据库之间的连接。您可以直接创建数据存储,也可以借助适配器创建。数据存储允许应用程序/软件读取或写入应用程序或数据库的元数据,并写入该数据库或应用程序。

在Business Objects Data Services中,您可以使用数据存储连接到以下系统:

  • 大型机系统和数据库
  • 使用用户编写的适配器的应用程序和软件
  • SAP Applications、SAP BW、Oracle Apps、Siebel等。

SAP Business Objects Data Services提供了一个选项,可以使用Attunity连接器连接到大型机接口。使用Attunity,将数据存储连接到下面给出的源列表:

  • DB2 UDB for OS/390
  • DB2 UDB for OS/400
  • IMS/DB
  • VSAM
  • Adabas
  • OS/390和OS/400上的平面文件
Attunity Connector

使用Attunity连接器,您可以借助软件连接到大型机数据。需要在大型机服务器和本地客户端作业服务器上手动安装此软件,并使用ODBC接口。

输入主机位置、端口、Attunity工作区等详细信息。

为数据库创建数据存储

要为数据库创建数据存储,请按照以下步骤操作。

步骤1 - 输入数据存储名称、数据存储类型和数据库类型,如下面的图像所示。您可以从列表中选择不同的数据库作为源系统。

Oracle Applications

步骤2 - 要使用ECC系统作为数据源,请选择SAP Applications作为数据存储类型。输入用户名和密码。点击高级选项卡并输入系统编号和客户端编号。

HANA User

步骤3 - 点击确定,数据存储将添加到本地对象库列表中。如果展开数据存储,则没有表显示。

SAP BODS - 更改数据存储

在本节中,我们将学习如何编辑或更改数据存储。要更改或编辑数据存储,请按照以下步骤操作。

步骤1 - 要编辑数据存储,请右键单击数据存储名称并点击编辑。它将打开数据存储编辑器。

Datastore Editor

您可以编辑当前数据存储配置的连接信息。

步骤2 - 点击高级按钮,您可以编辑客户端编号、系统ID和其他属性。

步骤3 - 点击编辑选项以添加、编辑和删除配置。

Edit Option

步骤4 - 点击确定,更改将被应用。

SAP BODS - 内存数据存储

您可以使用内存作为数据库类型创建数据存储。内存数据存储用于提高实时作业中数据流的性能,因为它将数据存储在内存中以方便快速访问,并且不需要转到原始数据源。

内存数据存储用于在资源库中存储内存表模式。这些内存表从关系数据库中的表或使用分层数据文件(如XML消息和IDoc)获取数据。内存表在作业执行之前保持活动状态,并且内存表中的数据不能在不同的实时作业之间共享。

创建内存数据存储

要创建内存数据存储,请按照以下步骤操作。

步骤1 - 点击创建数据存储并输入数据存储名称“Memory_DS_TEST”。内存表以普通的RDBMS表的形式呈现,并可以通过命名约定进行识别。

步骤2 - 在数据存储类型中,选择数据库,在数据库类型中选择内存。点击确定。

Select Memory

步骤3 - 现在转到项目→新建→项目,如下面的屏幕截图所示。

New Project

步骤4 - 通过右键单击创建新作业。添加工作流和数据流,如下所示。

Create New Job

步骤5 - 选择一个模板表并将其拖放到工作区。将打开一个创建表窗口。

Create Table Window

步骤6 - 输入表名,在数据存储中选择内存数据存储。如果需要系统生成的rowid,请选择创建rowid复选框。点击确定。

步骤7 - 将此内存表连接到数据流,然后点击顶部的全部保存

Memory Table Dataflow

内存表作为源和目标

要使用内存表作为目标:

步骤1 - 转到本地对象库,点击数据存储选项卡。展开内存数据存储→展开表。

步骤2 - 选择要作为源表或目标表使用的内存表,并将其拖到工作流中。将此内存表连接到数据流中的源或目标。

步骤3 - 点击保存按钮保存作业。

SAP BODS - 链接数据存储

有各种数据库厂商只提供从一个数据库到另一个数据库的单向通信路径。这些路径称为数据库链接。在SQL Server中,链接服务器允许从一个数据库到另一个数据库的单向通信路径。

示例

假设名为“Product”的本地数据库服务器存储数据库链接以访问名为“Customer”的远程数据库服务器上的信息。现在,连接到远程数据库服务器Customer的用户不能使用相同的链接来访问数据库服务器Product中的数据。连接到“Customer”的用户应该在服务器的数据字典中拥有一个单独的链接来访问Product数据库服务器中的数据。

这两个数据库之间的通信路径称为数据库链接。在这些链接的数据库关系之间创建的数据存储称为链接数据存储。

有可能将一个数据存储连接到另一个数据存储,并将外部数据库链接作为数据存储的选项导入。

Datastore Another Datastore

SAP BODS - 适配器数据存储

适配器数据存储允许您将应用程序元数据导入资源库。您可以访问应用程序元数据,并在不同的应用程序和软件之间移动批处理和实时数据。

SAP提供了一个适配器软件开发工具包-SDK,可用于开发自定义适配器。这些适配器在Data Services设计器中由适配器数据存储显示。

要使用适配器提取或加载数据,您应该为此目的至少定义一个数据存储。

适配器数据存储 - 定义

要定义自适应数据存储,请按照以下步骤操作:

步骤1 - 点击创建数据存储→输入数据存储名称。选择数据存储类型为适配器。从列表中选择作业服务器和适配器实例名称,然后点击确定

Create New Datastore

浏览应用程序元数据

右键单击数据存储名称并点击打开。它将打开一个新窗口,显示源元数据。点击+号以检查对象,然后右键单击对象以导入。

SAP BODS - 文件格式

文件格式定义为一组属性,用于表示平面文件的结构。它定义元数据结构。当数据存储在文件中而不是数据库中时,文件格式用于连接到源数据库和目标数据库。

文件格式用于以下功能:

  • 创建一个文件格式模板来定义文件的结构。
  • 在数据流中创建一个特定的源文件格式和目标文件格式。

可以使用文件格式将以下类型的文件用作源文件或目标文件:

  • 分隔符
  • SAP传输
  • 非结构化文本
  • 非结构化二进制
  • 固定宽度

文件格式编辑器

文件格式编辑器用于设置文件格式模板以及源文件格式和目标文件格式的属性。

文件格式编辑器中提供了以下模式:

  • 新建模式 - 它允许您创建一个新的文件格式模板。

  • 编辑模式 - 它允许您编辑现有的文件格式模板。

  • 源模式 - 它允许您编辑特定源文件的格式。

  • 目标模式 - 它允许您编辑特定目标文件的格式。

文件格式编辑器有三个工作区:

  • 属性值 - 用于编辑文件格式属性的值。

  • 列属性 - 用于编辑和定义文件中的列或字段。

  • 数据预览 - 用于查看设置如何影响样本数据。

创建文件格式

要创建文件格式,请按照以下步骤操作。

步骤 1 − 转到本地对象库 → 平面文件。

Flat Files

步骤 2 − 右键单击“平面文件”选项 → “新建”。

New Flat Files

将打开一个新的文件格式编辑器窗口。

步骤 3 − 选择文件格式类型。输入描述文件格式模板的名称。对于分隔符和固定宽度文件,您可以使用自定义传输程序读取和加载。输入其他属性来描述此模板表示的文件。

您还可以为一些特定的文件格式在列属性工作区中指定列的结构。定义所有属性后,单击保存按钮。

Structure of Columns

编辑文件格式

要编辑文件格式,请按照以下步骤操作。

步骤 1 − 在本地对象库中,转到格式选项卡。

Format Tab

步骤 2 − 选择要编辑的文件格式。右键单击编辑选项。

Edit File Format

在文件格式编辑器中进行更改,然后单击保存按钮。

SAP BODS - COBOL 复制簿文件格式

您可以创建一个 COBOL 复制簿文件格式,该格式允许您仅创建格式。将格式添加到数据流后,您可以稍后配置源。

您可以同时创建文件格式并将其连接到数据文件。请按照以下步骤操作。

步骤 1 − 转到本地对象库 → 文件格式 → COBOL 复制簿。

COBOL Copybooks

步骤 2 − 右键单击新建选项。

New COBOL Copybooks

步骤 3 − 输入格式名称。转到格式选项卡 → 选择要导入的 COBOL 复制簿。文件的扩展名为.cpy

Format Name

步骤 4 − 单击确定。此文件格式将添加到本地对象库中。将打开 COBOL 复制簿模式名称对话框。如有必要,请重命名模式并单击确定

从数据库表中提取数据

通过使用数据库数据存储,您可以从数据库中的表和函数中提取数据。执行元数据的数据导入时,工具允许您编辑列名、数据类型、描述等。

您可以编辑以下对象:

  • 表名
  • 列名
  • 表描述
  • 列描述
  • 列数据类型
  • 列内容类型
  • 表属性
  • 主键
  • 所有者名称

导入元数据

要导入元数据,请按照以下步骤操作:

步骤 1 − 转到本地对象库 → 转到要使用的数据存储。

Go to Datastore

步骤 2 − 右键单击数据存储 → 打开。

在工作区中,将显示所有可导入的项目。选择要导入元数据的项目。

Import the Metadata

在对象库中,转到数据存储以查看导入对象的列表。

从 Excel 工作簿提取数据

您可以使用 Microsoft Excel 工作簿作为数据服务中的文件格式的数据源。Excel 工作簿应位于 Windows 文件系统或 Unix 文件系统上。

序号 访问权限和描述
1

在对象库中,单击格式选项卡。

Excel 工作簿格式描述了在 Excel 工作簿中定义的结构(用 .xls 扩展名表示)。您将 Excel 数据范围的格式模板存储在对象库中。您可以使用模板来定义数据流中特定源的格式。SAP Data Services 仅访问 Excel 工作簿作为源(而不是目标)。

右键单击新建选项,然后选择Excel 工作簿,如下图所示。

Excel Workbook

从 XML 文件 DTD、XSD 提取数据

您还可以导入 XML 或 DTD 模式文件格式。

步骤 1 − 转到本地对象库 → 格式选项卡 → 嵌套模式。

Nested Schema

步骤 2 − 指向新建(您可以选择 DTD 文件或 XML 模式或 JSON 文件格式)。输入文件格式的名称并选择要导入的文件。单击确定。

从 COBOL 复制簿提取数据

您还可以导入 COBOL 复制簿中的文件格式。转到本地对象库 → 格式 → COBOL 复制簿。

Format COBOL Copybooks

SAP BODS - 数据流简介

数据流用于从源系统提取、转换和加载数据到目标系统。所有转换、加载和格式化都在数据流中进行。

在项目中定义数据流后,可以将其添加到工作流或 ETL 作业中。数据流可以使用参数发送或接收对象/信息。数据流的命名格式为DF_Name

DF Name

数据流示例

假设您要将源系统中两个表的数据加载到 DW 系统中的事实表中。

数据流包含以下对象:

  • 两个源表
  • 两个表之间的连接,在查询转换中定义
  • 目标表
Data Flow Objects

可以向数据流添加三种类型的对象。它们是:

  • 目标
  • 转换

步骤 1 − 转到本地对象库并将两个表都拖到工作区。

Tables Work Space

步骤 2 − 要添加查询转换,请从右侧工具栏拖动。

Query Transformation

步骤 3 − 连接两个表,并通过右键单击查询框 → 添加新建 → 新建模板表来创建模板目标表。

Template Target Table

步骤 4 − 输入目标表名称、数据存储名称和表所属的所有者(模式名称)。

步骤 5 − 将目标表拖到前面并将其连接到查询转换。

Join to Query Transform

传递参数

您还可以将不同的参数传入和传出数据流。将参数传递给数据流时,数据流中的对象会引用这些参数。使用参数,您可以将不同的操作传递给数据流。

示例 - 假设您已向表中输入了有关上次更新的参数。它允许您仅提取自上次更新以来修改的行。

SAP BODS - 更改数据流属性

您可以更改数据流的属性,例如仅执行一次、缓存类型、数据库链接、并行度等。

步骤 1 − 要更改数据流的属性,请右键单击数据流 → 属性

Data Flow Properties

您可以为数据流设置各种属性。属性如下所示。

序号 属性和描述
1

仅执行一次

当您指定数据流应仅执行一次时,批处理作业在数据流成功完成之后将永远不会重新执行该数据流,除非数据流包含在作为恢复单元的工作流中,该恢复单元会重新执行并且在恢复单元外部的其他位置未成功完成。建议您不要将数据流标记为“仅执行一次”,如果父工作流是恢复单元。

2

使用数据库链接

数据库链接是一个数据库服务器与另一个数据库服务器之间的通信路径。数据库链接允许本地用户访问远程数据库上的数据,该数据可能位于本地或远程计算机上,并且可以是相同或不同类型的数据库。

3

并行度

并行度 (DOP) 是数据流的一个属性,它定义数据流中的每个转换复制多少次以处理数据的并行子集。

4

缓存类型

您可以缓存数据以提高联接、分组、排序、筛选、查找和表比较等操作的性能。您可以为数据流“属性”窗口中的“缓存类型”选项选择以下值之一:

  • 内存中 - 如果您的数据流处理少量可以放入可用内存中的数据,请选择此值。

  • 可分页 - 此值为默认值。

步骤 2 − 更改属性,例如仅执行一次、并行度和缓存类型。

Change the Properties

源对象和目标对象

数据流可以直接使用以下对象提取或加载数据:

  • 源对象 - 源对象定义从中提取数据或读取数据的源。

  • 目标对象 - 目标对象定义加载或写入数据的目标。

可以使用以下类型的源对象,并且对源对象使用不同的访问方法。

在关系数据库中使用的具有列和行的格式化文件 直接或通过适配器
模板表 在另一个数据流中创建并保存的模板表(用于开发) 直接
文件 分隔符或固定宽度平面文件 直接
文档 具有特定于应用程序的格式的文件(SQL 或 XML 解析器无法读取) 通过适配器
XML 文件 使用 XML 标记格式化的文件 直接
XML 消息 用作实时作业中的源 直接

可以使用以下目标对象,并且可以应用不同的访问方法。

在关系数据库中使用的具有列和行的格式化文件 直接或通过适配器
模板表 格式基于前一个转换的输出的表(用于开发) 直接
文件 分隔符或固定宽度平面文件 直接
文档 具有特定于应用程序的格式的文件(SQL 或 XML 解析器无法读取) 通过适配器
XML 文件 使用 XML 标记格式化的文件 直接
XML 模板文件 格式基于前一个转换输出的 XML 文件(用于开发,主要用于调试数据流) 直接

SAP BODS - 工作流简介

工作流用于确定执行过程。工作流的主要目的是准备执行数据流,并在数据流执行完成后设置系统状态。

ETL 项目中的批处理作业类似于工作流,唯一的区别是作业没有参数。

可以向工作流添加各种对象。它们是:

  • 工作流
  • 数据流
  • 脚本
  • 循环
  • 条件
  • Try 或 Catch 块

您还可以使工作流调用其他工作流,或者工作流可以自调用。

注意 - 在工作流中,步骤按从左到右的顺序执行。

工作流示例

假设有一个要更新的事实表,并且您已创建了一个包含转换的数据流。现在,如果您要移动源系统中的数据,则必须检查事实表的最后修改时间,以便仅提取自上次更新后添加的行。

为了实现这一点,您必须创建一个脚本,该脚本确定上次更新日期,然后将其作为输入参数传递给数据流。

您还必须检查与特定事实表的连接是否处于活动状态。如果它未处于活动状态,则需要设置一个 catch 块,该块会自动向管理员发送电子邮件以通知此问题。

SAP BODS - 创建工作流

可以使用以下方法创建工作流:

  • 对象库
  • 工具调色板

使用对象库创建工作流

要使用对象库创建工作流,请按照以下步骤操作。

步骤 1 - 转到对象库 → 工作流选项卡。

Workflow Tab

步骤 2 − 右键单击新建选项。

Right Click Option

步骤 3 - 输入工作流的名称。

使用工具调色板创建工作流

要使用工具调色板创建工作流,请单击右侧的图标并将工作流拖动到工作区。

您还可以通过转到工作流的属性来设置仅执行一次工作流。

条件语句

您还可以向工作流添加条件语句。这允许您在工作流上实现 If/Else/Then 逻辑。

序号 条件和描述
1

If(如果)

一个布尔表达式,其计算结果为 TRUE 或 FALSE。您可以使用函数、变量和标准运算符来构建表达式。

2

Then(则)

如果If表达式计算结果为 TRUE,则要执行的工作流元素。

3

Else(否则)

(可选) 如果If表达式计算结果为 FALSE,则要执行的工作流元素。

定义条件语句

步骤 1 - 转到工作流 → 单击右侧工具调色板上的条件图标。

Conditional Icon

步骤 2 - 双击条件的名称以打开If-Then-Else条件编辑器。

Conditional Editor

步骤 3 - 输入控制条件的布尔表达式。单击“确定”。

Boolean Expressions

步骤 4 - 根据 IF 条件中的表达式,拖动要执行的Then 和 Else窗口的数据流。

Then and Else

完成条件设置后,您可以调试和验证条件。

SAP BODS - 变换类型

转换用于操作数据集作为输入并创建一个或多个输出。数据服务中可以使用各种转换。转换的类型取决于所购买的版本和产品。

提供以下类型的转换:

数据集成

数据集成转换用于将数据提取、转换和加载到 DW 系统。它确保数据完整性并提高开发人员的工作效率。

  • Data_Generator(数据生成器)
  • Data_Transfer(数据传输)
  • Effective_Date(生效日期)
  • Hierarchy_flattening(层次扁平化)
  • Table_Comparision(表比较)等。

数据质量

数据质量转换用于提高数据质量。您可以应用解析、校正、标准化、丰富来自源系统的数据集。

  • 关联
  • 数据清洗
  • DSF2 Walk Sequencer(DSF2步进排序器)等。

平台

平台用于数据集的移动。使用它,您可以从两个或多个数据源生成、映射和合并行。

  • 案例
  • 合并
  • 查询等。

文本数据处理

文本数据处理允许您处理大量文本数据。

SAP BODS - 向数据流添加转换

本章将介绍如何向数据流添加转换

步骤 1 - 转到对象库 → 转换选项卡。

Transform Tab

步骤 2 - 选择要添加到数据流的转换。如果您添加一个具有选择配置选项的转换,则会打开一个提示。

步骤 3 - 绘制数据流连接以将源连接到转换。

步骤 4 - 双击转换名称以打开转换编辑器。

Transformation Editor

定义完成后,单击确定关闭编辑器。

SAP BODS - 查询变换

这是数据服务中最常用的转换,您可以执行以下功能:

  • 从源中过滤数据
  • 连接来自多个源的数据
  • 对数据执行函数和转换
  • 从输入到输出模式的列映射
  • 分配主键
  • 添加新的列、模式和函数到输出模式

由于查询转换是最常用的转换,因此在工具调色板中为此查询提供了快捷方式。

要添加查询转换,请按照以下步骤操作:

步骤 1 - 单击查询转换工具调色板。单击数据流工作区中的任意位置。将其连接到输入和输出。

Connect Inputs Outputs

双击查询转换图标时,它会打开一个用于执行查询操作的查询编辑器。

查询转换中存在以下区域:

  • 输入模式
  • 输出模式
  • 参数

输入和输出模式包含列、嵌套模式和函数。模式输入和模式输出显示转换中当前选择的模式。

Input Output Schemas

要更改输出模式,请在列表中选择模式,右键单击并选择“设为当前”。

Change Output Schema

数据质量转换

数据质量转换不能直接连接到包含嵌套表的上一级转换。要连接这些转换,您应该在嵌套表和数据质量转换之间的转换中添加查询转换或 XML 管道转换。

如何使用数据质量转换?

步骤 1 - 转到对象库 → 转换选项卡

Library Transform Tab

步骤 2 - 展开数据质量转换并添加要添加到数据流的转换或转换配置。

Transform Configuration

步骤 3 - 绘制数据流连接。双击转换的名称,它将打开转换编辑器。在输入模式中,选择要映射的输入字段。

注意 - 要使用关联转换,您可以向输入选项卡添加用户定义字段。

文本数据处理转换

文本数据处理转换允许您从大量文本中提取特定信息。您可以搜索特定于组织的事实和实体,例如客户、产品和财务事实。

此转换还会检查实体之间的关系并允许提取。使用文本数据处理提取的数据可用于商业智能、报告、查询和分析。

实体提取转换

在数据服务中,文本数据处理借助实体提取完成,后者从非结构化数据中提取实体和事实。

这包括分析和处理大量文本数据,搜索实体,将它们分配给适当的类型并在标准格式中呈现元数据。

实体提取转换可以从任何文本、HTML、XML 或某些二进制格式(例如 PDF)内容中提取信息并生成结构化输出。您可以根据工作流以多种方式使用输出。您可以将其用作另一个转换的输入或写入多个输出源,例如数据库表或平面文件。输出以 UTF-16 编码生成。

实体提取转换可用于以下场景:

  • 从大量文本中查找特定信息。

  • 使用现有信息从非结构化文本中查找结构化信息以建立新的连接。

  • 产品质量报告和分析。

TDP 和数据清洗之间的区别

文本数据处理用于从非结构化文本数据中查找相关信息。但是,数据清洗用于标准化和清洗结构化数据。

参数 文本数据处理 数据清洗
输入类型 非结构化数据 结构化数据
输入大小 大于 5KB 小于 5KB
输入范围 具有许多变体的广泛领域 有限的变体
潜在用途 从非结构化数据中获取潜在的有意义信息 存储到存储库中的数据质量
输出 创建实体、类型等形式的注释。输入不变 创建标准化字段,输入已更改

SAP BODS - 数据服务概述

数据服务管理包括创建实时和批处理作业、调度作业、嵌入式数据流、变量和参数、恢复机制、数据分析、性能调整等。

实时作业

您可以在数据服务设计器中创建实时作业来处理实时消息。与批处理作业一样,实时作业会提取数据、转换数据并加载数据。

每个实时作业可以从单个消息中提取数据。您还可以从其他来源(如表或文件)提取数据。

与批处理作业不同,实时作业不是借助触发器执行的。它们由管理员作为实时服务执行。实时服务等待来自访问服务器的消息。访问服务器接收此消息并将其传递给配置为处理消息类型的实时服务。实时服务执行消息并返回结果,并继续处理消息,直到它们收到停止执行的指令。

实时作业与批处理作业

分支和控制逻辑之类的转换在实时作业中更常用,而设计器中的批处理作业则不然。

与批处理作业不同,实时作业不是响应调度或内部触发器执行的。

创建实时作业

可以使用相同对象(如数据流、工作流、循环、条件语句、脚本等)创建实时作业。

您可以使用以下数据模型创建实时作业:

  • 单数据流模型
  • 多数据流模型

单数据流模型

您可以在其实时处理循环中创建一个具有单个数据流的实时作业,它包括一个单一的消息源和一个单一的消息目标。

使用单数据模型创建实时作业:

要使用单数据模型创建实时作业,请按照以下步骤操作。

步骤 1 - 转到数据服务设计器 → 项目新建 → 项目 → 输入项目名称

Services Designer

步骤 2 - 右键单击项目区域中的空白处 → 新建实时作业。

Real Time Job

工作区显示实时作业的两个组件:

  • RT_Process_begins(实时进程开始)
  • Step_ends(步骤结束)

它显示实时作业的开始和结束。

Beginning and End

步骤 3 - 要创建具有单个数据流的实时作业,请从右侧窗格的工具调色板中选择数据流并将其拖动到工作区。

单击循环内部,您可以在实时处理循环中使用一个消息源和一个消息目标。将开始标记和结束标记连接到数据流。

Real Time Loop

步骤 4 - 根据需要添加配置对象到数据流并保存作业。

多数据流模型

这允许您在其实时处理循环中创建具有多个数据流的实时作业。您还需要确保在每个数据模型中的数据完全处理完毕后再移动到下一个消息。

测试实时作业

您可以通过从文件中传递示例消息作为源消息来测试实时作业。您可以检查数据服务是否生成了预期的目标消息。

为了确保您的作业为您提供预期的结果,您可以在查看数据模式下执行作业。使用此模式,您可以捕获输出数据以确保您的实时作业运行正常。

嵌入式数据流

嵌入式数据流称为数据流,这些数据流是在设计中从另一个数据流调用的。嵌入式数据流可以包含多个源和目标,但只有一个输入或输出将数据传递给主数据流。

可以使用以下类型的嵌入式数据流:

  • 单输入 - 嵌入式数据流添加到数据流的末尾。

  • 单输出 - 嵌入式数据流添加到数据流的开头。

  • 无输入或输出 - 复制现有数据流。

嵌入式数据流可用于以下目的:

  • 简化数据流显示。

  • 如果您想保存流程逻辑并在其他数据流中重用它。

  • 对于调试,您可以将数据流的部分作为嵌入式数据流创建并单独执行它们。

Embedded Data Flow

SAP BODS - 创建嵌入式数据流

您可以选择现有数据流中的对象。嵌入式数据流的创建方法有两种。

方法一

右键单击该对象,然后选择将其设为嵌入式数据流。

Make Embedded Data Flow

方法二

将完整且有效的数 据流从对象库拖动到工作区中打开的数据流中。接下来,打开已创建的数据流。选择要用作输入和输出端口的对象,然后单击该对象的**创建端口**。

Click Make Port

数据服务将该对象添加为嵌入式数据流的连接点。

变量和参数

您可以将局部变量和全局变量与数据流和工作流一起使用,这为作业设计提供了更大的灵活性。

主要功能包括:

  • 变量的数据类型可以是数字、整数、小数、日期或文本字符串(如字符)。

  • 变量可以在数据流和工作流中用作**Where**子句中的函数。

  • 数据服务中的局部变量仅限于创建它们的對象。

  • 全局变量仅限于创建它们的作业。使用全局变量,您可以更改运行时默认全局变量的值。

  • 在工作流和数据流中使用的表达式称为**参数**。

  • 工作流和数据流中的所有变量和参数都显示在变量和参数窗口中。

要查看变量和参数,请按照以下步骤操作:

转到“工具”→“变量”。

Variables and Parameters

将显示一个新的**变量和参数**窗口。它有两个选项卡:定义和调用。

Definitions and Calls

**定义**选项卡允许您创建和查看变量和参数。您可以在工作流和数据流级别使用局部变量和参数。全局变量可以在作业级别使用。

作业

局部变量

全局变量

作业中的脚本或条件

作业中的任何对象

工作流

局部变量

参数

此工作流或通过参数传递给其他工作流或数据流。

父对象传递局部变量。工作流还可以将变量或参数返回给父对象。

数据流

参数

数据流中的WHERE子句、列映射或函数。数据流无法返回输出值。

在“调用”选项卡中,您可以看到为父对象定义中所有对象定义的参数名称。

定义局部变量

要定义局部变量,请打开实时作业。

**步骤1** - 转到“工具”→“变量”。将打开一个新的**变量和参数**窗口。

**步骤2** - 转到“变量”→右键单击→“插入”。

Variable Insert

这将创建一个新的参数**$NewVariable0**。

**步骤3** - 输入新变量的名称。从列表中选择数据类型。

Select Datatype

定义完成后,关闭窗口。您可以通过类似的方式定义数据流和工作流的参数。

Dataflow and Workflow

调试 & 恢复机制

如果您的作业未成功运行,则应修复错误并重新运行作业。对于失败的作业,可能某些表已被加载、更改或部分加载。您需要重新运行作业才能获取所有数据并删除任何重复或丢失的数据。

可以使用两种恢复技术:

  • **自动恢复** - 这允许您在恢复模式下运行失败的作业。

  • **手动恢复** - 这允许您重新运行作业,而无需考虑上次部分重新运行。

要在 Designer 中启用恢复选项运行作业

**步骤1** - 右键单击作业名称→“执行”。

Click Job Name

**步骤2** - 保存所有更改并执行→“是”。

**步骤3** - 转到“执行”选项卡→启用“恢复”复选框。如果未选中此框,则数据服务将不会恢复失败的作业。

Enable Recovery Checkbox

要在 Designer 中以恢复模式运行作业

**步骤1** - 右键单击并如上执行作业。保存更改。

**步骤2** - 转到“执行选项”。您必须确保选中**从上次失败的执行中恢复**框。

**注意** - 如果作业尚未执行,则此选项将不可用。这称为失败作业的自动恢复。

Automatic Recovery

数据评估 & 数据分析

Data Services Designer 提供数据分析功能,以确保和提高源数据的质量和结构。

数据分析器允许您:

  • 查找源数据中的异常、验证和纠正措施以及源数据的质量。

  • 定义源数据的结构和关系,以更好地执行作业、工作流和数据流。

  • 查找源系统和目标系统的内容,以确定您的作业是否返回预期结果。

数据分析器提供以下分析服务器执行信息:

列分析

  • **基本分析** - 包括最小值、最大值、平均值等信息。

  • **详细分析** - 包括不同计数、不同百分比、中位数等信息。

关系分析

  • 您定义关系的两列之间的数据异常。

数据分析功能可用于以下数据源的数据:

  • SQL Server
  • Oracle
  • DB2
  • Attunity 连接器
  • Sybase IQ
  • Teradata

连接到分析服务器

要连接到分析服务器:

**步骤1** - 转到“工具”→“分析服务器登录”。

Profiler Server Login

**步骤2** - 输入详细信息,例如系统、用户名、密码和身份验证。

**步骤3** - 单击**登录**按钮。

连接后,将显示分析器存储库列表。选择**存储库**并单击**连接**。

SAP BODS - 优化技巧

ETL 作业的性能取决于您使用 Data Services 软件的系统、移动次数等。

还有其他一些因素会影响 ETL 任务的性能。它们是:

  • **源数据库** - 源数据库应设置为快速执行**Select**语句。这可以通过增加数据库 I/O 大小、增加共享缓冲区大小以缓存更多数据以及不允许对小型表进行并行处理等来实现。

  • **源操作系统** - 源操作系统应配置为快速从磁盘读取数据。将预读协议设置为 64KB。

  • **目标数据库** - 目标数据库必须配置为快速执行**INSERT**和**UPDATE**。这可以通过以下方式实现:

    • 禁用存档日志记录。
    • 禁用所有表的重做日志记录。
    • 最大化共享缓冲区的大小。
  • **目标操作系统** - 必须配置目标操作系统才能快速将数据写入磁盘。您可以启用异步 I/O 以使输入/输出操作尽可能快。

  • **网络** - 网络带宽应足以将数据从源系统传输到目标系统。

  • **BODS 存储库数据库** - 为了提高 BODS 作业的性能,可以执行以下操作:

    • **监控采样率** - 如果您在 ETL 作业中处理大量数据集,请将采样率监控到更高的值,以减少对日志文件的 I/O 调用次数,从而提高性能。

    • 如果在作业服务器上配置了病毒扫描,您还可以将 Data Services 日志从病毒扫描中排除,因为它可能会导致性能下降。

  • **作业服务器操作系统** - 在 Data Services 中,作业中的一个数据流会启动一个**'al_engine'**进程,该进程会启动四个线程。为了获得最佳性能,请考虑一个一次在每个 CPU 上运行一个**'al_engine'**进程的设计。作业服务器操作系统应进行调整,以便所有线程都分布到所有可用的 CPU 上。

SAP BODS - 集中式存储库与本地存储库

SAP BO Data Services 支持多用户开发,每个用户可以在其自己的本地存储库中处理应用程序。每个团队都使用集中式存储库来保存应用程序的主副本以及应用程序中所有对象的版本。

主要功能包括:

  • 在 SAP Data Services 中,您可以创建一个集中式存储库来存储应用程序的团队副本。它包含本地存储库中也提供的所有信息。但是,它只是为对象信息提供了一个存储位置。要进行任何更改,您需要在本地存储库中进行操作。

  • 您可以将对象从集中式存储库复制到本地存储库。但是,如果必须进行任何更改,则需要在集中式存储库中签出该对象。因此,其他用户无法在集中式存储库中签出该对象,因此他们无法对同一对象进行更改。

  • 对对象进行更改后,需要签入对象。这允许 Data Services 将新的修改后的对象保存在集中式存储库中。

  • Data Services 允许具有本地存储库的多个用户同时连接到集中式存储库,但只有一个用户可以签出并更改特定对象。

  • 集中式存储库还维护每个对象的版本历史记录。如果更改未按要求进行,它允许您恢复到对象的先前版本。

多个用户

SAP BO Data Services 允许多个用户同时处理同一应用程序。在多用户环境中应考虑以下术语:

序号 多用户和说明
1

最高级别对象

最高级别对象是不依赖于对象层次结构中任何对象的任何对象。例如,如果作业 1 包含工作流 1 和数据流 1,则作业 1 是最高级别对象。

2

对象依赖项

对象依赖项是在层次结构中最高级别对象下方的关联对象。例如,如果作业 1 包含包含数据流 1 的工作流 1,则工作流 1 和数据流 1 都是作业 1 的依赖项。此外,数据流 1 是工作流 1 的依赖项。

3

对象版本

对象版本是对象的实例。每次将对象添加到集中式存储库或签入集中式存储库时,软件都会创建该对象的新版本。对象的最新版本是创建的最后一个或最新的版本。

要更新多用户环境中的本地存储库,您可以从集中式存储库获取每个对象的最新副本。要编辑对象,您可以使用签出和签入选项。

SAP BODS - 集中式存储库安全性

可以对集中式存储库应用各种安全参数以使其安全。

各种安全参数包括:

  • **身份验证** - 这允许只有经过身份验证的用户才能登录到集中式存储库。

  • **授权** - 这允许用户为每个对象分配不同级别的权限。

  • **审核** - 用于维护对对象进行的所有更改的历史记录。您可以检查所有以前的版本并恢复到较旧的版本。

创建非安全集中式存储库

在多用户开发环境中,建议始终使用集中式存储库方法。

要创建非安全集中式存储库,请按照以下步骤操作:

**步骤1** - 使用数据库管理系统创建一个数据库,该数据库将用作集中式存储库。

**步骤2** - 转到存储库管理器。

Repository Manager

**步骤3** - 选择“集中式”作为存储库类型。输入数据库详细信息,例如用户名和密码,然后单击**创建**。

Repository Type

**步骤4** - 要定义与集中式存储库的连接,“工具”→“集中式存储库”。

Central Repository

**步骤5** - 选择集中式存储库连接中的存储库,然后单击**添加**图标。

Central Repository Connections

**步骤6** - 输入集中式存储库的密码,然后单击**激活**按钮。

创建安全集中式存储库

要创建安全集中式存储库,请转到存储库管理器。选择“集中式”作为存储库类型。单击**启用安全性**复选框。

Secure Central Repository

创建多用户环境

为了在多用户环境中成功开发,建议实现一些流程,例如签入和签出。

您可以在多用户环境中使用以下流程:

  • 过滤
  • 签出对象
  • 撤销签出
  • 签入对象
  • 标记对象

当您向中央资源库添加任何对象、签入、签出和标记对象时,过滤功能适用。

迁移多用户作业

在 SAP Data Services 中,作业迁移可以在不同的级别应用,即应用程序级别、资源库级别、升级级别。

您不能直接将一个中央资源库的内容复制到另一个中央资源库;您需要使用本地资源库。

第一步是从中央资源库获取所有对象的最新版本到本地资源库。激活您要复制内容的中央资源库。将您要从本地资源库复制到中央资源库的所有对象添加到其中。

中央资源库迁移

如果您更新 SAP Data Services 的版本,则也需要更新资源库的版本。

迁移中央资源库以升级版本时,应考虑以下几点:

  • 备份所有表和对象的中央资源库。

  • 为了维护数据服务中对象的版本,请为每个版本维护一个中央资源库。使用新版本的数据服务软件创建一个新的中央历史记录,并将所有对象复制到此资源库。

  • 如果您安装了新版本的数据服务,始终建议您将中央资源库升级到新版本的对象。

  • 将您的本地资源库升级到相同的版本,因为不同版本的中央资源库和本地资源库可能无法同时工作。

  • 在迁移中央资源库之前,请签入所有对象。由于您不会同时升级中央资源库和本地资源库,因此需要签入所有对象。一旦您的中央资源库升级到较新版本,您将无法签入来自本地资源库的对象,该本地资源库具有较旧版本的数据服务。

广告