Azure动手实验 - 使用Azure Data Factory 迁移数据
创始人
2024-03-24 01:01:49
0

该实验使用 Azure CosmosDB,这个实验的点在于:

1:使用了 cosmicworks 生成了实验数据

2:弄清楚cosmosDB 的 accout Name 与 database id 和 container id 关系。

3:创建了 ADF 的连接和任务,让数据从 cosmicworks 数据库的 products 容器,迁移到 cosmicworks数据库的 flatproducts 容器。

实验来自于:练习:使用 Azure 数据工厂迁移现有数据 - Training | Microsoft Learn

Migrate existing data using Azure Data Factory

In Azure Data Factory, Azure Cosmos DB is supported as a source of data ingest and as a target (sink) of data output.

In this lab, we will populate Azure Cosmos DB using a helpful command-line utility and then use Azure Data Factory to move a subset of data from one container to another.

Create and seed your Azure Cosmos DB SQL API account

You will use a command-line utility that creates a cosmicworks database and a products container at 4,000 request units per second (RU/s). Once created, you will adjust the throughput down to 400 RU/s.

To accompany the products container, you will create a flatproducts container manually that will be the target of the ETL transformation and load operation at the end of this lab.

  1. In a new web browser window or tab, navigate to the Azure portal (portal.azure.com).

  2. Sign into the portal using the Microsoft credentials associated with your subscription.

  3. Select + Create a resource, search for Cosmos DB, and then create a new Azure Cosmos DB SQL API account resource with the following settings, leaving all remaining settings to their default values:

    SettingValue
    SubscriptionYour existing Azure subscription
    Resource groupSelect an existing or create a new resource group
    Account NameEnter a globally unique name
    LocationChoose any available region
    Capacity modeProvisioned throughput
    Apply Free Tier DiscountDo Not Apply
    Limit the total amount of throughput that can be provisioned on this accountUnchecked

    📝 Your lab environments may have restrictions preventing you from creating a new resource group. If that is the case, use the existing pre-created resource group.

  4. Wait for the deployment task to complete before continuing with this task.

  5. Go to the newly created Azure Cosmos DB account resource and navigate to the Keys pane.

  6. This pane contains the connection details and credentials necessary to connect to the account from the SDK. Specifically:

    1. Record the value of the URI field. You will use this endpoint value later in this exercise.

    2. Record the value of the PRIMARY KEY field. You will use this key value later in this exercise.

  7. Close your web browser window or tab.

  8. Start Visual Studio Code.

    📝 If you are not already familiar with the Visual Studio Code interface, review the Get Started guide for Visual Studio Code

  9. In Visual Studio Code, open the Terminal menu and then select New Terminal to open a new terminal instance.

  10. Install the cosmicworks command-line tool for global use on your machine.

    dotnet tool install --global cosmicworks

    💡 This command may take a couple of minutes to complete. This command will output the warning message (*Tool 'cosmicworks' is already installed') if you have already installed the latest version of this tool in the past.

  11. Run cosmicworks to seed your Azure Cosmos DB account with the following command-line options:

    OptionValue
    --endpointThe endpoint value you copied earlier in this lab
    --keyThe key value you coped earlier in this lab
    --datasetsproduct
    cosmicworks --endpoint  --key  --datasets product

    📝 For example, if your endpoint is: https­://dp420.documents.azure.com:443/ and your key is: fDR2ci9QgkdkvERTQ==, then the command would be: cosmicworks --endpoint https://dp420.documents.azure.com:443/ --key fDR2ci9QgkdkvERTQ== --datasets product

  12. Wait for the cosmicworks command to finish populating the account with a database, container, and items.

  13. Close the integrated terminal.

  14. Close Visual Studio Code.

  15. In a new web browser window or tab, navigate to the Azure portal (portal.azure.com).

  16. Sign into the portal using the Microsoft credentials associated with your subscription.

  17. Select Resource groups, then select the resource group you created or viewed earlier in this lab, and then select the Azure Cosmos DB account resource you created in this lab.

  18. Within the Azure Cosmos DB account resource, navigate to the Data Explorer pane.

  19. In the Data Explorer, expand the cosmicworks database node, expand the products container node, and then select Items.

  20. Observe and select the various JSON items in the products container. These are the items created by the command-line tool used in previous steps.

  21. Select the Scale & Settings node. In the Scale & Settings tab, select Manual, update the required throughput setting from 4000 RU/s to 400 RU/s and then Save your changes**.

  22. In the Data Explorer pane, select New Container.

  23. In the New Container popup, enter the following values for each setting, and then select OK:

    SettingValue
    Database idUse existing | cosmicworks
    Container idflatproducts
    Partition key/category
    Container throughput (autoscale)Manual
    RU/s400
  24. Back in the Data Explorer pane, expand the cosmicworks database node and then observe the flatproducts container node within the hierarchy.

  25. Return to the Home of the Azure portal.

Create Azure Data Factory resource

Now that the Azure Cosmos DB SQL API resources are in place, you will create an Azure Data Factory resource and configure all of the necessary components and connections to perform a one-time data movement from one SQL API container to another to extract data, transform it, and load it to another SQL API container.

  1. Select + Create a resource, search for Data Factory, and then create a new Azure Data Factory resource with the following settings, leaving all remaining settings to their default values:

    SettingValue
    SubscriptionYour existing Azure subscription
    Resource groupSelect an existing or create a new resource group
    NameEnter a globally unique name
    RegionChoose any available region
    VersionV2
    Git configurationConfigure Git later

    📝 Your lab environments may have restrictions preventing you from creating a new resource group. If that is the case, use the existing pre-created resource group.

  2. Wait for the deployment task to complete before continuing with this task.

  3. Go to the newly created Azure Data Factory resource and select Open Azure Data Factory Studio.

    💡 Alternatively, you can navigate to (adf.azure.com/home), select your newly created Data Factory resource, and then select the home icon.

  4. From the home screen. Select the Ingest option to begin the quick wizard to perform a one-time copy data at scale operation and move to the Properties step of the wizard.

  5. Starting with the Properties step of the wizard, in the Task type section, select Built-in copy task.

  6. In the Task cadence or task schedule section, select Run once now and then select Next to move to the Source step of the wizard.

  7. In the Source step of the wizard, in the Source type list, select Azure Cosmos DB (SQL API).

  8. In the Connection section, select + New connection.

  9. In the New connection (Azure Cosmos DB (SQL API)) popup, configure the new connection with the following values, and then select Create:

    SettingValue
    NameCosmosSqlConn
    Connect via integration runtimeAutoResolveIntegrationRuntime
    Authentication methodAccount key | Connection string
    Account selection methodFrom Azure subscription
    Azure subscriptionYour existing Azure subscription
    Azure Cosmos DB account nameYour existing Azure Cosmos DB account name you chose earlier in this lab
    Database namecosmicworks
  10. Back in the Source data store section, within the Source tables section, select Use query.

  11. In the Table name list, select products.

  12. In the Query editor, delete the existing content and enter the following query:

    SELECT p.name, p.categoryName as category, p.price 
    FROM products p
  13. Select Preview data to test the query's validity. Select Next to move to the Target step of the wizard.

  14. In the Target step of the wizard, in the Target type list, select Azure Cosmos DB (SQL API).

  15. In the Connection list, select CosmosSqlConn.

  16. In the Target list, select flatproducts and then select Next to move to the Settings step of the wizard.

  17. In the Settings step of the wizard, in the Task name field, enter FlattenAndMoveData.

  18. Leave all remaining fields to their default blank values and then select Next to move to the final step of the wizard.

  19. Review the Summary of the steps you have selected in the wizard and then select Next.

  20. Observe the various steps in the deployment. When the deployment has finished, select Finish.

  21. Close your web browser window or tab.

  22. In a new web browser window or tab, navigate to the Azure portal (portal.azure.com).

  23. Sign into the portal using the Microsoft credentials associated with your subscription.

  24. Select Resource groups, then select the resource group you created or viewed earlier in this lab, and then select the Azure Cosmos DB account resource you created in this lab.

  25. Within the Azure Cosmos DB account resource, navigate to the Data Explorer pane.

  26. In the Data Explorer, expand the cosmicworks database node, select the flatproducts container node, and then select New SQL Query.

  27. Delete the contents of the editor area.

  28. Create a new SQL query that will return all documents where the name is equivalent to HL Headset:

    SELECT p.name, p.category, p.price 
    FROMproducts p
    WHEREp.name = 'HL Headset'
  29. Select Execute Query.

  30. Observe the results of the query.

相关内容

热门资讯

意甲啥是意甲 意甲啥是意甲意甲是意大利足球甲级联赛的简称
不能让长征“火种”熄灭    云南省禄劝县检察院检察官来到周恩来及干部团路居旧址查看修缮工作进度。  云南省禄劝彝族苗族自治...
女生结婚为什么要彩礼? 女生结婚为什么要彩礼?某种含义上说,彩礼和嫁妆应该是建立在一个平等的基础下。如果你没有嫁妆,就不要去...
北京口岸上半年出入境人员破千万... 转自:千龙网记者从北京边检总站获悉:截至6月30日,今年以来北京口岸本年度出入境人员量已突破1000...
聚光科技质押触发鹰眼“风险”评... 截止2025年7月5日,聚光科技整体质押股份为8420.60万股,整体质押占总股本之比为18.77%...
磨憨至成都南首开直达动车 转自:中国旅游报 近日,D236次列车从云南边陲磨憨站出发抵达成都南站。这标志着云南磨憨与四川成都首...
政策暖民心 转自:嘉兴日报   近日,秀洲区油车港镇助联体开展了“社情人意 心系于民”社会救助政策宣传活动,向群...
最挣钱没人干的行业,年轻人小额... 穷人想创业,却觉得街上生意多,竞争激烈,不知道做好什么。而对于穷人创业来说,钱是个大问题。今天我来介...
小暑节气暑气正浓,湖南大部开启... 00:23华声在线7月6日讯(全媒体记者 李致远 通讯员 尹可可)春生夏长,秋收冬藏。7月7日,小暑...
境外黑客入侵校园广播被截获,小... 转自:北京日报客户端“系统告警!境外某不明IP正伪装成普通用户登录我辖区某中学的网络广播系统,企图入...