Azure Data Factory (2) 通過ADF把SQL VM數據導出到Azure Storage Parquet文件 Windows Azure Platform 系列文章目錄

  《Windows Azure Platform 系列文章目錄

 

  之前在別的項目中遇到了類似的問題,SQL Server虛擬機中的訂單數據,每天產生的數據約千萬級別,數據庫已經達到了5TB級別。之前需要人工對於SQL Server Table進行歸檔,費時費力。

  我們可以利用Azure Data Factory,把SQL Server虛擬機的表,導入到Azure Storage中。

 

  主要概念:

  (1)ADF是雲端的ETL工具

  (2)Apache Parquet,列存儲,高壓縮比,數據保存在Azure Storage中

  (3)Parquet Viewer,Windows下查看Parquet數據的工具:https://github.com/mukunku/ParquetViewer

 

  主要步驟:

  1.準備Azure虛擬機,安裝SQL Server 2016,把數據插入到SQL Server表中,我們這裏的sample data有411萬行

  

  2.設置虛擬機的1433端口號,設置Source Service Tag爲AzureCloud。允許Azure Cloud服務訪問。

  

  3.創建Azure Data Factory。步驟略。

  3.設置ADF的源數據,如下圖:

  

 

  4.選擇類型爲SQL Server

  

 

  5.設置鏈接到SQL VM的鏈接字符串信息。如下圖:

  

 

  6.選擇SQL Server Table表,或者執行T-SQL語句

  

 

  7.然後我們設置目標數據

  

 

  8.創建1個Azure Storage。再創建blob container,步驟略。

  9.設置目標數據類型,爲Azure Blob Storage

  

 

  10.選擇數據格式,爲Parquet。如下圖:

  

 

  11.選擇到Azure Storage Account的Container Name,並設置新創建的Parquet文件名爲ADF執行成功的時間。

  @formatDateTime(addhours(utcnow(),8),'yyyy-MM-ddTHH:mm:ss')

  請注意:ADF執行的時間爲UTC時區,我們需要把UTC時區轉化爲UTC+8北京時區

  

 

  12.配置完畢後,我們可以通過debug進行調試

  

  

  13.執行完畢後,我們可以在Azure Storage中,查看到執行成功後的Parquet文件,文件夾以yyyy-MM-ddTHH:mm:ss格式進行命名

  

 

  14.如果調試成功,我們可以設置觸發器,設置每天執行。

  

  

  15.設置每天執行一次

  

  

  16.最後,我們可以點擊上圖的Publish All,把這個ADF發佈

  

 

 

  最後執行結果:

  1.411萬行數據,總計花費56分鐘,數據可以複製到Azure Storage

  2.Parquet格式的文件,總大小爲4.25 GB

  3.SQL Server虛擬機磁盤在ADF執行過程中,Disk Read 1分鐘內峯值2GB。Network Out峯值爲2GB

  

  4.執行完畢後,可以通過ParquetViewer,查看存儲在Azure Storage的文件。

 

 

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章