[英]Access Azure Data Lake Analytics Tables from SQL Server Polybase
[英]Migrating tables from azure SQL database to Azure data lake
我想將所有表從Azure SQL數據庫完全遷移到Azure Data Lake。 我怎樣才能做到這一點。 請給出一些方案,以便我可以完全搬到蔚藍的數據湖。 提前致謝。
我也可以通過SSIS做到這一點嗎?
如果您不想對其進行調度,並且不想在Azure Data Lake Store中移動所有表,則可以直接從U-SQL查詢表,並通過ADL Store中的U-SQL輸出器將其輸出。
這是一個執行此操作的教程: http : //eatcodelive.com/2015/11/21/querying-azure-sql-database-from-an-azure-data-lake-analytics-u-sql-script/
看看Azure數據工廠。 就像Azure中的SSIS。 請參閱https://azure.microsoft.com/zh-cn/documentation/articles/data-factory-introduction/
請參閱https://azure.microsoft.com/zh-cn/documentation/articles/data-factory-azure-datalake-connector/ ,以獲取將數據移至Azure Data Lake的教程。
除了使用Azure Data Factory和U-SQL,您還可以使用在HDI群集上運行的sqoop- https: //azure.microsoft.com/zh-CN/g/documentation/articles/data-lake-store-data-transfer -sql-sqoop / 。
您現在不能使用SSIS。 我們正在努力實現這種支持。 啟用該功能后,我們將更新此線程以及發布相應的文檔。
謝謝,Sachin Sheth Azure數據湖項目經理
如此處的答案數量所示,您有多種選擇,但這取決於您希望數據最終采用哪種格式以及要執行的工作量。 您當前的數據位於數據庫中,這意味着它具有高度結構化 , 強大的數據類型以及索引和關系選項。 如果您改用其他格式,則會丟失其中的部分或大部分內容,因此請確定要使用哪種格式? 例如數據庫表,平面文件,外部表,U-SQL表。 U-SQL(IMHO)最適合希望將關系數據與非關系數據混合或僅處理非關系數據混合的分析工作負載,即,基本上可以使用兩種C#表達式來完成普通T-SQL無法完成的工作或大規模定制的輸出器,處理器等。
讓我們通過以下方法來研究其中一些方法:
優點:數據不會從原始數據庫中移出,並且可以使用U-SQL與湖中的其他數據合並。
缺點:必須編寫其他代碼
DROP VIEW IF EXISTS dbo.viewOnAzureDB;
CREATE VIEW dbo.viewOnAzureDB
AS
SELECT col1,
col2,
col3,
col4
FROM EXTERNAL yourExternalDataSource LOCATION "dbo.yourTable";
優點:可以直接使用復制向導將數據從Azure DB復制到湖中的平面文件中。 缺點:您將失去從數據庫表中獲得的強大的數據類型,索引和關系。
優點: U-SQL表可以被索引和分區,並且具有強大的數據類型。
缺點:必須編寫附加代碼,沒有關系
// U-SQL CTAS
CREATE TABLE dbo.CTASOnAzureDBTable
(
INDEX cdx_CTASOnAzureDBTable
CLUSTERED(col1)
DISTRIBUTED BY
ROUND ROBIN
)
AS
SELECT *
FROM dbo.viewOnAzureDB;
// U-SQL table
CREATE TABLE IF NOT EXISTS dbo.CTASOnAzureDBTable2
(
col1 int,
col2 DateTime?, // ? means nullable,
col3 string,
col4 bool,
INDEX cdx_CTASOnAzureDBTable2
CLUSTERED(col1)
DISTRIBUTED BY
ROUND ROBIN
);
我希望這可以幫助您考慮一些選項,也許可以確切地考慮為什么要遷移到數據湖以及從中獲得什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.