从 Azure SQL 数据库到 Azure SQL 数据仓库的 ETL 数据的推荐工具?

Recommended tools to ETL data from Azure SQL Database to Azure SQL Data Warehouse?

我需要使用 Azure SQL 数据仓库构建数据仓库,数据来自单个 Azure SQL 数据库。看着 this article,我似乎有两个选择:

我的 Azure SQL 数据库已规范化,但我想以星形或雪花模式格式构建我的 Azure SQL 数据仓库,因此它不是表的直接副本 - 那里绝对需要发生一些转变。

鉴于 Azure SQL 数据库不支持 SSIS,需要我 运行 带有 SQL 服务器的 VM 才能将我的进程完全保留在 Azure 中,是 Azure Data将推荐的工具用于 Azure SQL 数据库和 Azure SQL 数据仓库之间的 ETL 数据?在这种情况下,一种选择与另一种选择相比会更全面吗?

谢谢!

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

查看创建外部 table(在 DW 中)以指向您的 Azure SQL 数据库是否会帮助您解决问题。有了它,您可能会通过发出一些 Create Table As (CTAS) 命令来将结构更改为 stars/snowflakes.

来自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
    )
[;]