Azure Data Factory (2) 通过ADF把SQL VM数据导出到Azure Storage Parquet文件

  《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的文件。

  

原文地址:https://www.cnblogs.com/threestone/p/13471400.html