使用数据工厂将表从SAP BW提取到Azure Data Lake Gen2

使用数据工厂将表从SAP BW提取到Azure Data Lake Gen2,azure,sap,azure-data-factory-2,sap-bw,Azure,Sap,Azure Data Factory 2,Sap Bw,我想知道将表从安装在Azure云上的SAP BW提取到Azure data lake gen2的过程。我想使用ADF将数据从SAPBW复制到DataLake 我们可以用SAP连接器直接将ADF连接到SAP吗?我必须为此连接安装运行时集成和任何VM吗?SAP BW开放式集线器连接器和通过MDX的SAP BW之间有什么区别 希望听取专家关于如何从SAP BW提取数据的意见,因为SAP也托管在Azure上。谢谢。请遵循上的官方指南。它涵盖了必要的NetWeaver RFC DLL安装,并提供了详细的分

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

我们可以用SAP连接器直接将ADF连接到SAP吗?我必须为此连接安装运行时集成和任何VM吗?SAP BW开放式集线器连接器和通过MDX的SAP BW之间有什么区别


希望听取专家关于如何从SAP BW提取数据的意见,因为SAP也托管在Azure上。谢谢。

请遵循上的官方指南。它涵盖了必要的NetWeaver RFC DLL安装,并提供了详细的分步指南。

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

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

或者,我最近的用例是从SAPBW中的表中获取数据,而不是从多维数据集中获取数据,因此这可能是可行的

我按照为会议列出的说明进行操作

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

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

在所有这些之后,您还需要将RFC授权添加到此接口。下面这些是为我工作的。Microsoft网站确实提供了建议的RFC授权,但这些授权几乎都是管理级别的,我们的Basis团队基本上不希望这样做:

S_RFC: FUGR-RFC1,系统,系统 函数-RFCPING,RFC\u函数\u搜索 ACTVT–16

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

上面的过程就是我遵循的过程,因此您的可能看起来有点不同,但要实现这一点,您需要:自托管的IR、安装在这些IRs上的SAP驱动程序、允许您访问BW系统id的防火墙规则、Basis创建的接口,以及RFC授权

我在microsoft github文档中发现了一个关于不正确的RFC授权列表的问题:

还请记住,ADF首先将数据发送到BW,BW随后在收集该信息的一端创建一个文件,然后将该文件发送回自托管IR,后者随后通过ADF将数据写入存储帐户。可能发生的情况是,如果文件太大,那么管道可能会失败,但不是因为ADF,而是因为BW端的限制


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

没问题,很乐意帮助。我还发现缺乏ADF到SAP连接的详细文档也是一个问题。希望其他人看到我上面的帖子,它会帮助他们。如果您遇到问题,请随时在此帖子上发布问题,我可以尝试提供帮助。