2

我想知道将表从安装在 Azure 云上的 SAP BW 提取到 Azure 数据湖 gen2 的过程。我想使用 ADF 将数据从 SAP BW 复制到数据湖。

我们可以使用 SAP 连接器直接将 ADF 连接到 SAP 吗?我是否必须为此连接安装运行时集成和任何 VM?SAP BW Open Hub 连接器和 SAP BW via MDX 有什么区别?

当 SAP 也托管在 Azure 上时,想听听专家如何从 SAP BW 中提取数据。谢谢。

4

1 回答 1

2

我不是专家,但是 BW 人员向我解释了不同之处,您可以同时使用两者,但是使用 OpenHub,您可以在 BW 查询上运行提取,而无需 BW 人员参与,但性能不会很好。使用 MDX,我相信需要在 BW 上进行额外的开发,但性能会更好。

还要记住,当我运行这些查询时,我发现很难并行化它,虽然 Microsoft 文档没有提供一个很好的示例,但我发现无论我推送到 BW 的内容是作为单个查询发送的。

或者,我最近的用例是从 SAP BW 与多维数据集中的表中获取数据,因此这可能有效。

我按照“SAP Table”连接器列出的说明进行操作

要使此过程正常运行,您将需要一个自托管的 IR(在您的笔记本电脑上或连接到 ADF 的 VM 上),并且您需要安装以下驱动程序:

SAP 表连接器要求

要获得这些驱动程序,您可能需要联系您的 Basis 团队。他们还需要创建一个接口角色(尤其是如果这是您第一次建立此连接并且您希望服务帐户被其他进程重新使用)。

毕竟,您还需要将 RFC 授权添加到此接口。以下是对我有用的。微软网站确实给出了建议的 RFC 授权,但这些几乎都是管理员级别的,我们的基础团队基本上不想这样做:

S_RFC:FUGR - RFC1、SYST、SYSU FUNC - RFCPING、RFC_FUNCTION_SEARCH ACTVT – 16

除了上述之外,我们还必须运行一些测试,发现根据您要从中提取数据的表的数量,他们可能需要添加额外的授权,以便您只能从该表中读取。

上述过程是我遵循的过程,因此您的可能看起来有些不同,但要完成这项工作,您需要:自托管 IR、安装在这些 IR 上的 SAP 驱动程序、允许您访问 BW 系统 ID 的防火墙规则、Basis 创建的接口,然后还有 RFC 授权。

我在 microsoft github 文档上提出了一个关于不正确的 RFC 授权列表的问题:https ://github.com/MicrosoftDocs/azure-docs/issues/60637

还要记住,ADF 提取数据的方式是它首先向 BW 发送查询,然后 BW 在其端创建一个文件来收集该信息,然后将该文件发送回自托管 IR,然后将数据写入存储通过 ADF 帐户。可能发生的情况是,如果文件太大,则管道可能会失败,但这不是因为 ADF,而是因为 BW 方面的限制。

希望我的经验可以帮助其他人陷入困境:)

于 2020-09-02T14:25:42.340 回答