azure-data-factory - 从 SAP BW Open Hub 将数据导入 Azure 数据湖时,如何在数据工厂中使用文件名前缀?
问题描述
我在数据工厂中有一个 SAP BW Open Hub 的源和一个 Azure 数据湖 gen2 的接收器,并且正在使用复制活动来移动数据。
我正在尝试将数据传输到湖中并拆分为多个文件,每个文件有 200000 行。我还希望能够为所有文件名添加前缀,例如“cust_”,因此这些文件将类似于 cust_1、cust_2、cust_3 等。
这种方法似乎只在使用 SAP BW Open Hub 作为源时才会出现问题(使用 SQL Server 作为源时它工作正常。请参阅下面的警告消息。在与内部 SAP BW 团队核实后,他们向我保证数据采用表格格式,并且没有启用显式分区,因此应该没有问题。
执行复制活动时,文件被传输到湖,但文件名前缀设置被忽略,而是自动设置文件名,如下所示(名称似乎自动由 SAP BW Open Hub 表和请求 ID):
这是源配置:
其他选项卡上的所有其他属性均设置为默认值且未更改。
问题:在不使用数据流的情况下,有没有办法在从 SAP BW Open Hub 中提取文件时拆分文件,并且还能够指定湖中的文件名?
解决方案
我试图重现该问题,并且可以通过解决方法正常工作。无需在从 SAP BW 复制到 Azure 数据湖存储时拆分数据,只需将整个确切数据(不带分区)复制到 Azure SQL 数据库即可。请使用 Azure 数据工厂从 SAP Business 仓库复制数据(确保使用 Azure SQL 数据库作为接收器)。
现在数据在您的 Azure SQL 数据库中,您现在可以简单地使用复制活动将数据复制到 Azure 数据湖存储。
在源配置中,将“分区选项”保持为无。
推荐阅读
- ubuntu - 流浪汉与 ubuntu 16.04
- pyrocms - PyroCMS 中的核心目录和供应商目录有什么区别?
- string - 在java中创建与字符串关联的整数
- html - 编号有序列表应与 select-Element 在同一垂直线上
- sqlalchemy - 你如何编写一个返回 SQLAlchemy 作为中继连接的解析器?
- .net - 从基础 .NET 动态添加控件
- android - 如何手动设置 Android SDK 路径?
- r - 如何处理 dplyr 中 min_rank 的变化
- audio - 在 Lambda 中预加载 MP3 音频 URL(Alexa 技能)
- html - 使用 VBA 在 Gmail 中发送文件路径超链接