我在前提下有一个SAP数据库,我想每天将这些数据(一些来自SAP数据库的表)推送到Azure。数据将使用合并策略上载(如果检测到更改,则更新;如果缺少记录,则删除,否则插入)。我正在考虑使用以下设置来完成此操作:
- Install on premise integration Services (SSIS). The client already has license for this.
- Install SAP connector on premise.
- Pull data from SAP into text files (on premise, into multiple CSV files) (create ETL's for this).
- Push those files into a Blob Storage (via AzCopy), so I create a job or process somehow locally that will handle newly created files.
- Load data into Data Warehouse using PolyBase (https://learn.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-get-started-load-with-polybase) using an UP-SERT strategy. 这是肯定的,但我想知道是否可以使用ETL (使用SSIS包)直接上传数据,基本上跳过以下步骤:
我担心的是:-绩效-成本
你认为最好的方法是什么?
谢谢!
发布于 2017-07-13 08:48:09
您可以使用(SSIS)通过Azure SQL DW上载任务 ( 用于集成服务的Azure特性包的一部分)将数据加载到Azure SQL数据仓库。此任务从本地文件共享中获取文件,并使用后台Polybase将它们加载到仓库表中。使用此方法,您不必显式地将文件推送到Blob存储中或使用AzCopy。这个设计看起来是:
SAP >平面文件> SQL上载任务
您还可以使用Dataflow任务直接将数据加载到仓库表,但历史上性能非常缓慢。我认为这种设计的优点是不必将文件解压缩为平面文件。最近我还没有尝试过这种方法,因为推荐的方法是Polybase。这个设计看起来是:
SAP > Azure SQL数据仓库(使用数据流任务)
另一种需要考虑的方法是Azure Data,它现在具有SAP连接(对于某些产品)。您将需要一个门户,以方便副本从酒店内到Azure。ADF具有更高的可伸缩性,但是如果您以前没有使用过ADF,就会有一些学习曲线。
https://stackoverflow.com/questions/45073708
复制相似问题