标签: azure-data-factory

使用ARM模板部署Azure数据工厂

我正在尝试使用Azure资源管理器模板部署Azure数据工厂服务。到目前为止,我已经能够创建数据工厂本身,但是我无法使用这种方法向其添加任何链接服务,管道或数据集。由于没有可用的Data Factory模板示例,因此我根据REST API文档创建了我的数据库。以下是我尝试实现的模板,但是服务器返回了“错误请求”。

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
     "siteName": {
       "type": "string"
     }
   },
   "resources": [
     {
        "apiVersion": "2015-05-01-preview",
        "type": "Microsoft.DataFactory/datafactories",
        "name": "teststoragedatafactory",
        "location": "[resourceGroup().location]",
        "resources": [
            {
                "apiVersion": "2015-05-01-preview",
                "type": "linkedservices",
                "name": "mylinkedservice",
                "location": "[resourceGroup().location]",
                "dependsOn": [
                       "/subscriptions/xxx/resourceGroups/TestARMTemplate/providers/Microsoft.DataFactory/datafactories/teststoragedatafactory"
                ],
                "properties":
                {
                    "type": "AzureStorageLinkedService",
                    "description": "",
                    "connectionString": "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx"
                }
            }
        ]
     }
   ]
}
Run Code Online (Sandbox Code Playgroud)

根据我从日志中获得的信息,执行了对API的请求,并且端点似乎是正确的。但是,请求有效负载似乎存在问题。

你们是否有使用ARM模板部署Data Factory服务的经验?是否可以使用这种方法创建链接服务?有什么办法可以查看用于创建链接服务的请求?

非常感谢您的帮助!

哈维

azure azure-resource-manager azure-data-factory cortana-intelligence

5
推荐指数
1
解决办法
1962
查看次数

如何在azure批处理的计算节点上安装.net 4.6.1

我坚持用.net 4.6.1创建azure批处理池.

我经历了那些非常好的资源:

我发现有一种方法可以使用.net 4.6.1 而无需在节点上手动安装它.有一种编程方式可以使用最新的.net版本(.net 4.6.1)设置Windows Ghost映像,但我的节点是事先定义的.

在此输入图像描述

我需要.net 4.6.1,因为我们使用Data Factory和在azure批处理节点上运行的自定义活动.我们在该节点上手动升级了.net版本,但Microsoft不保证该状态将保留,我们注意到该节点已重置为其原始状态几次.

我的问题是:

  • 你知道在天蓝门户上有没有办法选择安装了.net 4.6.1版本的OS系列的OS系列?

  • 有没有人知道什么时候会有.net 4.6.1的操作系统?

  • 或者我应该使用StartTask功能并尝试手动安装.net 4.6.1?但是,该选项听起来像是一些解决方法,而不是正确的解决方案.

azure azure-data-factory azureportal azure-batch

5
推荐指数
1
解决办法
969
查看次数

使用 Google DataFlow/Apache Beam 并行化图像处理或爬行任务是否有意义?

我正在考虑将 Google DataFlow 作为运行管道的选项,该管道涉及以下步骤:

  1. 从网络下载图像;
  2. 处理图像。

我喜欢 DataFlow 管理完成工作所需的虚拟机的生命周期,因此我不需要自己启动或停止它们,但我遇到的所有示例都使用它来执行数据挖掘类型的任务。我想知道对于图像处理和爬行等其他批处理任务来说,这是否是一个可行的选择。

amazon-data-pipeline google-cloud-platform google-cloud-dataflow azure-data-factory apache-beam

5
推荐指数
1
解决办法
1950
查看次数

Azure 数据工厂的单元测试

我有一个 VSTS CI/CD 管道,它将本地的 Azure 数据工厂项目设置部署到 Azure 平台中的现有数据工厂。有没有办法可以对我的项目进行单元测试?我知道构建定义中有一个 Visual Studio 测试任务。如何为 ADF 创建单元测试项目?任何建议都会有所帮助。

unit-testing azure azure-data-factory

5
推荐指数
1
解决办法
3513
查看次数

Azure Data Factory在复制到Blob存储时指定自定义输出文件名

我目前正在使用ADF按计划将文件从SFTP服务器复制到Blob存储.

文件名结构为AAAAAA_BBBBBB_CCCCCC.txt.

是否可以在复制到Blob存储之前重命名该文件,以便最终得到类似文件夹的结构,如下所示?

AAAAAA/BBBBBB/CCCCCC.txt

azure azure-data-factory azure-blob-storage

5
推荐指数
2
解决办法
1782
查看次数

仅当当前执行完成时,Azure 数据工厂 V2 触发管道

有没有一种方法可以在 Azure 数据工厂中创建一个触发器,该触发器仅在管道尚未运行时才启动它?我基本上想连续运行管道,因此无论出于什么原因它完成(失败/成功),我希望它尽快恢复。

azure azure-data-factory

5
推荐指数
1
解决办法
4368
查看次数

复制活动失败并出现以下错误

{“errorCode”:“2200”,“message”:“ErrorCode = FailedDbOperation,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message =数据库操作失败,出现以下错误:'PdwManagedToNativeInteropException ErrorNumber:46724,MajorCode: 467,次要代码:24,严重性:20,状态:2,抛出“Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException”类型的异常。',Source =,''Type = System.Data.SqlClient.SqlException,Message = PdwManagedToNativeInteropException 错误号:46724,主要代码:467,次要代码:24,严重性:20,状态:2,抛出类型为“Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException”的异常。,源 = .Net SqlClient 数据提供程序,SqlErrorNumber = 100000 ,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=100000,State=1,Message=PdwManagedToNativeInteropException 错误编号:46724,主要代码:467,次要代码:24,严重性:20,状态: 2,抛出了“Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException”类型的异常。,},],'", "failureType": "UserError", "target": "hana_ODS_DEV" }

谁能告诉我这个错误的主要原因吗?我正在尝试将数据从 SAP HANA 迁移到 Azure SQL 数据仓库

azure hana azure-data-factory azure-sql-database

5
推荐指数
2
解决办法
2万
查看次数

如何在Azure数据工厂中读取扩展名为.xlsx和.xls的文件?

我正在尝试在Azure数据工厂数据集中读取具有.xlsx扩展名的Azure Blob存储中的文件并使其表现出色。它引发以下错误

Error found when processing 'Csv/Tsv Format Text' source 'Filename.xlsx' with row number 3: found more columns than expected column count: 1.
Run Code Online (Sandbox Code Playgroud)

什么是在Azure Data Factory中读取Excel文件的正确列和行分隔符

excel azure azure-data-factory azure-data-factory-2

5
推荐指数
2
解决办法
5417
查看次数

使用SQL行中的文件名和数据创建Blob

关于如何使用Azure数据工厂将数据从Blob读取到SQL中,有很多文档,甚至还有关于如何将查询的输出转储到单个Blob的文档。我试图为表中的每一行(在Azure SQL Server上)创建一个Blob,由一个字段命名,并在另一字段中包含数据。

我的表有一个GUID id字段和一个nvarchar(max)data字段(其中包含JSON,尽管基本上无关紧要)。假设我有以下几行:

                 id                    |  data
---------------------------------------+----------
38b2f551-5f13-40ce-8512-c108a05ecd44   |  foo
4db5b25b-1194-44e9-a7b2-bc8889c32979   |  bar
2a3bd653-ce14-4bd2-9243-6923e97224c6   |  baz
Run Code Online (Sandbox Code Playgroud)

我希望创建以下Blob:

https://mycontainer.blob.core.windows.net/myblobs/38b2f551-5f13-40ce-8512-c108a05ecd44
https://mycontainer.blob.core.windows.net/myblobs/4db5b25b-1194-44e9-a7b2-bc8889c32979
https://mycontainer.blob.core.windows.net/myblobs/2a3bd653-ce14-4bd2-9243-6923e97224c6
Run Code Online (Sandbox Code Playgroud)

它们的内容应该是相关的数据字段,即foobarbaz分别。

Data Factory v2-每行生成一个json文件具有有效的答案,但它涉及一次查询数据库以获取所有ids,然后再查询N次以从每一行获取数据。似乎应该只对这两个字段查询一次,对文件名使用一个查询,对内容使用一个查询,但是我还无法弄清楚该怎么做。

azure-storage-blobs azure-data-factory azure-blob-storage azure-data-factory-2

5
推荐指数
1
解决办法
213
查看次数

检查数组是否包含 Azure 数据工厂中的值

我需要使用 Azure Datafactory 处理容器中的文件,并在下次执行时跟踪已处理的文件。

所以我在数据库中保留一个表来存储已处理的文件信息,在ADF中我获取已处理文件的文件名,我想检查当前文件是否已被处理。

我正在使用查找活动:获取所有已处理的文件 ,通过使用以下查询从数据库获取已处理的文件:

select FileName from meta.Processed_Files;
Run Code Online (Sandbox Code Playgroud)

然后我遍历目录,并使用获取元数据活动获取目录中当前文件的文件详细信息:“获取迭代中当前文件的详细信息”

在 If Condition 活动中,我使用以下表达式:

@not(contains(activity('Get All Files Processed').output.value,activity('Get Detail of current file in iteration').output.itemName))
Run Code Online (Sandbox Code Playgroud)

即使文件已被处理,这也始终返回 True

我们如何比较返回值中的文件名

活动的输出('获取已处理的所有文件').output.value

{
"count": 37,
"value": [
    {
        "FileName": "20210804074153AlteryxRunStats.xlsx"
    },
    {
        "FileName": "20210805074129AlteryxRunStats.xlsx"
    },
    {
        "FileName": "20210806074152AlteryxRunStats.xlsx"
    },
    {
        "FileName": "20210809074143AlteryxRunStats.xlsx"
    },
    {
        "FileName": "20210809074316AlteryxRunStats.xlsx"
    },
    {
        "FileName": "20210810074135AlteryxRunStats.xlsx"
    },
    {
        "FileName": "20210811074306AlteryxRunStats.xlsx"
    },
Run Code Online (Sandbox Code Playgroud)

活动的输出('在迭代中获取当前文件的详细信息').output.itemName

"20210804074153AlteryxRunStats.xlsx"
Run Code Online (Sandbox Code Playgroud)

azure-data-factory

5
推荐指数
1
解决办法
2万
查看次数