使用 SAP Data Intelligence Cloud、SAP HANA Cloud 和 MinIO 构建数据管道

Build Data Pipelines with SAP Data Intelligence Cloud, SAP HANA Cloud and MinIO

扩展、集成和开放性是当今领先的企业数据库和分析软件(即数据栈)的特征。当今的数据栈是动态的、模块化的和 API驱动的。它也具有弹性可扩展性,因为计算与存储分离,并且该存储是与 S3 兼容的对象存储。可扩展性和开放性与将传统文件和块存储替换为现代对象存储(如 MinIO)的总体趋势相一致。来自许多不同来源、多种不同格式的数据涌入数据湖仓,S3 API 使应用程序能够轻松地读取和写入数据。

SAP HANA 的内存中多模态数据管理引擎充分利用了底层硬件的功能,类似于 MinIO 也充分利用了底层硬件的功能,使其成为 SAP HANA 生态系统的强大扩展。SAP Data Intelligence Cloud 是一种基于云的分布式数据管理解决方案。它是 SAP Business Technology Platform 的数据编排层。

这篇博文提供了一个教程,用于构建从 MinIO 到 SAP Data Intelligence Cloud,最终到 SAP HANA Cloud 的数据管道。首先,我将讨论如何构建从 MinIO 到 SAP Data Intelligence Cloud 的连接,数据将在其中导入和转换,以馈送到 SAP HANA Cloud。我将展示如何使用 SAP HANA Cloud、SAP HANA 数据库来实现这一点,尽管使用 SAP HANA On-Premise 的过程相同——所有配置都在 SAP Data Intelligence Cloud 中进行。

多源数据和 SAP 云生态系统

SAP Data Intelligence Cloud 旨在成为所有数据的单一网关,无论它存储在哪里或如何存储,无论是在云中、本地、SAP HANA Cloud 还是 SAP HANA On-Premise。在混合配置中,多个数据源通过 SAP Data Intelligence 配置并连接到 SAP HANA Cloud、SAP HANA 数据库实例。本地 SAP HANA 和 SAP HANA Cloud 通过智能数据集成 (SDI) 和智能数据访问 (SDA) 共享表。

配置 SAP 云连接

让我们转向技术细节。下面您将找到一个教程,介绍如何将数据从 MinIO 导入到 SAP Data Intelligence Cloud,然后导入到 SAP HANA Cloud、SAP HANA 数据库中。请注意,我们这里只关注管道——仅仅将数据源连接到 SAP HANA Cloud 并不是旅程的终点,您需要优化查询性能,这不在本文的讨论范围之内。

我们将构建一个管道,将数据加载到 .csv 文件中,导入到 SAP HANA Cloud。我们将创建一个数据库表,并将 .csv 文件中的数据加载到此新创建的表中,该表驻留在 HDI 容器 中。SAP HANA 部署基础设施 (HDI) 容器包含所有关键 SAP HANA 平台数据库功能的数据库开发工件。

必须完成的第一项任务是收集有关您的 MinIO 存储桶和数据的信息。您可以导入单个或多个 .csv 文件,也可以导入先前从 SAP HANA Cloud、SAP HANA 数据库导出的完整 SAP 架构。

如果您尚未安装 MinIO,请 立即安装。请务必记下 API 端点地址、访问密钥、密钥和存储桶/路径,因为您需要在 SAP Data Intelligence 中创建连接时输入它们。

在浏览器中,登录到 MinIO 控制台,导航到“存储桶”选项卡,然后单击 创建存储桶 +。

键入存储桶名称,如果需要,选中复选框以启用存储桶策略。

创建存储桶后,创建一个文件夹来保存您的数据。

然后单击以从本地文件系统上传 .csv 文件以导入。

打开 SAP Data Intelligence Cloud,或注册 免费试用版

从 SAP Data Intelligence Launchpad 中,单击“连接管理”,这是下面显示的第一个磁贴

我们将创建两个连接——一个在 MinIO 和 SAP Data Intelligence Cloud 之间,另一个在 SAP Data Intelligence Cloud 和 SAP HANA Cloud 之间。

首先,让我们构建 MinIO 的连接。首先单击搜索框旁边的蓝色加号。

选择“S3”作为连接类型,为您的连接命名并添加描述,然后填写 MinIO 存储桶的连接详细信息。

请务必单击“测试连接”以验证设置,然后单击“保存”。

让我们验证连接是否正常。返回到 SAP Data Intelligence Launchpad 并单击“元数据浏览器”磁贴,然后单击“浏览连接”。滚动到或搜索您刚刚创建的连接,在我的示例中,我使用了“Play”。单击您的 MinIO 连接。您将看到保存在 MinIO 存储桶中的所有文件。选择您要导入的文件,单击磁贴右下角的三个点,然后选择“查看信息卡”以查看其包含数据的详细信息。您还可以开始数据分析、准备和发布数据。非常棒的功能,而且连接到 MinIO 非常容易。

接下来,我们将创建用于容纳 SAP HANA 表的 HDI 容器。登录到 SAP HANA Cloud。如果您不是当前客户,请注册 免费试用版。要配置 SAP HANA Cloud、SAP HANA 数据库实例,请按照 配置 SAP HANA Cloud、SAP HANA 数据库实例 的说明进行操作。

您必须安装 SAP HANA Cloud 管理工具。您还必须启用 Cloud Foundry。您还必须将 SAP HANA 部署到 dev 空间中的 Cloud Foundry,并允许来自外部 IP 地址的访问。

打开 SAP BTP Cockpit 并导航到您的子帐户,然后选择“服务”,然后选择“服务市场”。选择“SAP HANA 架构和 HDI 容器”(请注意,试用用户必须选择“SAP HANA 架构和 HDI 容器 - 试用版”),然后单击蓝色的“创建”按钮。

从下拉列表中选择服务计划,然后为其输入名称。您将首先使用 Schema 执行此操作,然后使用 HDI-Shared 执行此操作。

为每个实例命名后,单击“创建”,然后观察其创建过程。

创建这些服务实例后,它们将显示在 BTP Cockpit 中的“服务 > 实例和订阅”下。您应该会看到绿色框,上面写着“已创建”,为每个实例提供成就感。

返回到 SAP Data Intelligence Cloud 并创建一个新连接以连接到我们的新 HDI 容器。您可以通过查看 SAP HANA 数据库实例并选择“连接”来获取连接详细信息。您需要 SQL 端点、端口和凭据。

请务必单击“测试连接”以验证您的配置,然后单击“创建”。

使用 SAP Data Intelligence Modeler 配置管道

下一步是创建一个图或管道,该图或管道由您配置的一系列操作符组成,以构建特定的过程,然后使用输入和输出端口进行连接。易用性、功能和自定义的结合给我留下了深刻的印象。SAP Data Intelligence Modeler 的功能太多,无法在一句话中进行概括,请参阅 SAP Data Intelligence 建模指南

导航回 SAP Data Intelligence Launchpad 并单击“Modeler”磁贴。您会在前面看到一个工作区,我们将从左侧菜单中拖放操作符,然后链接和配置它们。

单击大的蓝色加号,然后选择“使用第 1 代操作符”以创建新图。

我们将添加以下操作符:读取文件、列出文件、文件转换器 - 字符串转换器、SAP HANA 客户端、图终止器。在左侧的操作符选项卡下搜索这些操作符,然后双击每个操作符以将其添加到工作区(我们将在下一步进行排列和连接)。您的工作区现在应如下所示

首先,我们将“列出文件”和“读取文件”移动到图的开头,然后是“文件转换器”、“SAP HANA 客户端”和“图终止器”。

打开“列出文件”(操作符右侧的顶部圆圈)的配置,将“列表”设置为“一次”,然后选择您构建到 MinIO 的连接器并配置文件的路径。您可以验证配置,然后保存它。

按如下方式配置“读取文件”

将每个操作符的输出端口连接到下一个操作符的输入端口。单击输出端口并将其拖动到输入端口上。完成后,您的图应如下所示

最后一步是配置 SAP HANA Client 操作符。单击该操作符并进行以下更改(请参见下面的屏幕截图)

  1. 将配置的连接更改为您的 HDI 容器。
  2. 提供数据库架构和表名,格式为“架构”。“表”
  3. 定义列和数据类型
  4. 对于表初始化,选择“创建”以在 SAP HANA 中创建表。

要配置表列,单击浏览图标将打开“表详细信息”窗口,您可以在其中输入列名和数据类型。您可以返回到 SAP Data Intelligence 元数据浏览器并在要导入的文件上打开信息卡。然后单击“列”,现在您可以将这些名称和类型输入到“表详细信息”窗口中。

保存您的模型,然后运行它。

运行模型后,请务必通过单击“状态”选项卡来确保没有错误。如果没有错误,请返回到 SAP BTP Cockpit,选择您的 SAP HANA Cloud 实例,单击三个点并选择“在 SAP HANA Database Explorer 中打开”。浏览到您将数据导入到的架构和表,然后右键单击表名并选择“打开数据”以快速查看您的数据,以验证一切是否正常。

无限的分析和机器学习

将 MinIO 与 SAP Data Intelligence Cloud 和 SAP HANA Cloud 结合使用,为企业提供了一种灵活且可扩展的方式来处理来自几乎任何来源和任何格式的数据。采用 SAP 生态系统的企业可以为任何数据类型构建和维护数据管道,对其进行分析,应用机器学习,并将其导入 SAP HANA 数据库以进行分析和仪表盘展示。

充分利用来自物联网设备、网络遥测、Web/应用程序使用或其他任何来源的数据的一个好方法是在 MinIO 上构建一个数据湖仓,然后使用云原生集成连接到任何机器学习和分析软件。使用 MinIO 的 对象 Lambda 预处理数据,分层热数据和温数据,以及复制数据到多云环境中的任何需要的地方。    


下载 MinIO 并加入我们的 Slack 社区。不要忘记查看 YouTube 上的 MinIO 操作指南