5

我需要使用 Azure SQL 数据仓库构建数据仓库,数据来源于单个 Azure SQL 数据库。看这篇文章,似乎我有两个选择:

  • SSIS
  • Azure 数据工厂

我的 Azure SQL 数据库已标准化,但我想以星形或雪花模式格式构建我的 Azure SQL 数据仓库,因此它不是表的直接副本 - 肯定需要进行一些转换。

鉴于 Azure SQL 数据库不支持 SSIS,并且需要我在其上运行带有 SQL Server 的 VM 以将我的进程完全保留在 Azure 中,Azure 数据工厂是推荐的用于在 Azure SQL 数据库和 Azure SQL 数据仓库之间进行 ETL 数据的工具吗?在这种情况下,一种选择与另一种选择会更充分吗?

谢谢!

4

2 回答 2

4

如果您希望将您的流程完全保留在云中而不是启动 VM,那么 Azure 数据工厂目前是您进行数据移动的最佳选择。但是,此时我可能会推荐 ELT 方法而不是 ETL 方法。通过首先加载数据,然后在 SQL 数据仓库中完成转换,您的加载速度会更快,并且您将能够在转换数据时利用额外的计算能力。此外,听起来您对 SQL 很熟悉,因此与使用数据工厂的 JSON 相比,在 SQL 数据仓库中编写转换可能更容易。

于 2015-10-27T21:54:58.913 回答
0

看看创建一个外部表(在 DW 中)指向你的 Azure SQL 数据库是否会对你有所帮助。有了这个,您可能会通过发出一些 Create Table As (CTAS) 命令来将结构更改为星星/雪花。

来自https://msdn.microsoft.com/en-us/library/dn935022.aspx

--Create an external data source for a remote database on Azure SQL Database
CREATE EXTERNAL DATA SOURCE data_source_name
    WITH ( 
        TYPE = RDBMS,
        LOCATION = '<server_name>.database.windows.net',
        DATABASE_NAME = 'Remote_Database_Name',
        CREDENTIAL = SQL_Credential
    )
[;]
于 2015-10-28T13:35:20.720 回答