标签: azure-data-factory

在U-SQL中解析json文件

我正在尝试使用USQL解析Json文件,但不断收到错误.

Json file@

{"dimBetType_SKey":1,"BetType_BKey":1,"BetTypeName":"Test1"}
{"dimBetType_SKey":2,"BetType_BKey":2,"BetTypeName":"Test2"}
{"dimBetType_SKey":3,"BetType_BKey":3,"BetTypeName":"Test3"}
Run Code Online (Sandbox Code Playgroud)

下面是USQL脚本,我正在尝试从上面的文件中提取数据.

    REFERENCE ASSEMBLY [Newtonsoft.Json];
    REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];

DECLARE @Full_Path string =
"adl://xxxx.azuredatalakestore.net/2017/03/28/00_0_66ffdd26541742fab57139e95080e704.json";

DECLARE @Output_Path = "adl://xxxx.azuredatalakestore.net/Output/Output.csv";

@logSchema =
EXTRACT dimBetType_SKey int
FROM @Full_Path
USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor();

OUTPUT @logSchema
TO @Output_Path 
USING Outputters.Csv();
Run Code Online (Sandbox Code Playgroud)

但是USQL在Vertex错误时仍然失败

有帮助吗?

json azure azure-data-factory azure-data-lake u-sql

7
推荐指数
1
解决办法
2158
查看次数

Azure数据工厂从foreach价值中获取数据

我有一个查找活动,可从Blob中的容器获取值。我有一个foreach活动,它与查找活动有关

在此处输入图片说明

在设置下,其值为:

@activity('LookupMessageType').output.value
Run Code Online (Sandbox Code Playgroud)

我还有另一个在该foreach活动中运行的复制活动。它将数据从cosmos DB复制到Azure Data Lake。
在此处输入图片说明

这是源数据集中的查询:

select c.Tag, data.assetTag, data.timestamp, data.jsonVersion, data.messageType, data.speed from c join data in c.data
where (data.speed>  item().speed_Value) AND
(data.timestamp >= '@{formatDateTime(addhours(pipeline().TriggerTime, -1), 'yyyy-MM-ddTHH:mm:ssZ' )}' 
AND data.timestamp < '@{formatDateTime(pipeline().TriggerTime, 'yyyy-MM-ddTHH:mm:ssZ' )}')
Run Code Online (Sandbox Code Playgroud)

运行此管道时出现错误:

{
    "errorCode": "2200",
    "message": "Failure happened on 'Source' side. ErrorCode=UserErrorDocumentDBReadError,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=DocumentDb operation failed: Message: {\"errors\":[{\"severity\":\"Error\",\"location\":{\"start\":231,\"end\":235},\"code\":\"SC2005\",\"message\":\"'item' is not a recognized built-in function name.\"}]}\r\nActivityId: *redacted*, documentdb-dotnet-sdk/1.21.1 Host/64-bit MicrosoftWindowsNT/6.2.9200.0.,Source=Microsoft.DataTransfer.ClientLibrary.DocumentDb,''Type=Microsoft.Azure.Documents.BadRequestException,Message=Message: {\"errors\":[{\"severity\":\"Error\",\"location\":{\"start\":231,\"end\":235},\"code\":\"SC2005\",\"message\":\"'item' is not a recognized built-in function name.\"}]}\r\nActivityId: redacted, documentdb-dotnet-sdk/1.21.1 Host/64-bit MicrosoftWindowsNT/6.2.9200.0,Source=Microsoft.Azure.Documents.Client,''Type=System.Runtime.InteropServices.COMException,Message=Exception from HRESULT: 0x800A0B00,Source=,'",
    "failureType": "UserError", …
Run Code Online (Sandbox Code Playgroud)

azure azure-data-factory azure-cosmosdb

7
推荐指数
1
解决办法
5057
查看次数

传递一个管道运行的输出并用作另一管道中的参数

我的 ADF 设置当前的工作方式是,我有多个管道,每个管道至少包含一个活动。然后我有一个大管道将这些管道链接在一起。

但是,现在在大型“主”管道中,我想使用一个管道中活动的输出,然后将其传递到另一个管道。所有这一切都是由“主”管道精心策划的。

我的“主”管道看起来像这样:

在此输入图像描述

我尝试做的是将参数添加到“执行管道2”,并且我尝试传递:

@activity('Execute Pipeline1').output.pipeline.runId.output.runOutput
@activity('Execute Pipeline1').output.pipelineRunId.output.runOutput
@activity('Execute Pipeline1').output.runOutput
Run Code Online (Sandbox Code Playgroud)

人们会如何去做这件事呢?

azure-data-factory

7
推荐指数
1
解决办法
5004
查看次数

如何在通过 Terraform 在托管 vNet 上部署数据工厂 Azure IR 时启用交互式创作?

我使用下面的 Terraform 代码在托管虚拟网络中部署数据工厂 Azure IR:

resource "azurerm_data_factory_integration_runtime_azure" "ManagedIR" {
  name            = "ManagedIR"
  data_factory_id = azurerm_data_factory.datafactory.id
  location        = var.location
  resource_group_name = "****"
  virtual_network_enabled = true
  time_to_live_min = 60
}
Run Code Online (Sandbox Code Playgroud)

但成功部署后,我看到“交互式创作”被禁用,如下所示: 残疾人

Terraform 中是否有任何设置可以让我启用“交互式创作”?

azure-virtual-network terraform azure-data-factory infrastructure-as-code

7
推荐指数
1
解决办法
3647
查看次数

使用Azure Data Factory从REST API获取数据

是否可以使用Azure Data Factory从REST API获取数据并将其插入Azure数据库表?

api rest azure azure-data-factory cortana-intelligence

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

Azure数据工厂与SSIS

我正在考虑将我们的SSIS ETL移动到Azure Data Factory.我支持这种飞跃的论点是:

  • 我们的来源和目标已经在云端.ADF是云原生的,所以看起来很合适.

  • ADF是一项服务,因此我们可以按需消费和支付.SSIS意味着许可成本,并且不会为按需消费自然放贷(我们考虑使用DevOps在临时基础上旋转ETL服务器)

  • 使用SSIS以编程方式生成ETL代码需要非常特殊的技能,例如BIML或DTS API.通过转移到ADF,我希望在USQL中结合使用JSON和TSQL以及C#将使必要的技能更加通用.

我希望社区成员可以分享他们的经验,从而帮助我做出决定.

ssis azure azure-data-factory

6
推荐指数
1
解决办法
5736
查看次数

从存储到SQL的Azure数据工厂复制活动:挂起70000行

我有一个数据工厂,其管道复制活动如下:

{
  "type": "Copy",
  "name": "Copy from storage to SQL",
  "inputs": [
    {
      "name": "storageDatasetName"
    }
  ],
  "outputs": [
    {
      "name": "sqlOutputDatasetName"
    }
  ],
  "typeProperties": {
    "source": {
      "type": "BlobSource"
    },
    "sink": {
      "type": "SqlSink"
    }
  },
  "policy": {
    "concurrency": 1,
    "retry": 3
  },
  "scheduler": {
    "frequency": "Month",
    "interval": 1
  }
}
Run Code Online (Sandbox Code Playgroud)

输入数据大小约为90MB,大约150万行,分为约.Azure存储中的20 x 4.5MB块blob文件.以下是数据示例(CSV):

A81001,1,1,1,2,600,3.0,0.47236654,141.70996,0.70854986 A81001,4,11,0,25,588,243.0,5.904582,138.87576,57.392536 A81001,7,4,1,32,1342,278.0,7.5578647,316.95795, 65.65895

接收器是S2类型的Azure SQL Server,其额定值为50 DTU.我创建了一个简单的表,其中包含合理的数据类型,没有键,索引或任何花哨的东西,只有列:

CREATE TABLE [dbo].[Prescriptions](
    [Practice] [char](6) NOT NULL,
    [BnfChapter] [tinyint] NOT NULL,
    [BnfSection] [tinyint] NOT NULL,
    [BnfParagraph] [tinyint] …
Run Code Online (Sandbox Code Playgroud)

performance azure azure-storage-blobs azure-data-factory azure-sql-database

6
推荐指数
1
解决办法
1702
查看次数

如果源中没有可用的文件,Azure数据工厂管道将失败

目前 - 我们将数据从Hadoop内部部署服务器加载到SQL DW [通过ADF分阶段复制和DMG内部部署服务器].我们注意到ADF管道出现故障 - 当Hadoop内部部署服务器位置没有文件时[我们不希望我们的上游每天发送文件,因此其有效方案在Hadoop内部服务器位置上有ZERO文件] .

你有这种情况的解决方案吗?

下面给出错误消息

执行失败复制活动遇到用户错误:ErrorCode = UserErrorFileNotFound,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message =找不到'HDFS'文件.,Source = Microsoft.DataTransfer.ClientLibrary,''Type = System.Net.WebException,Message =远程服务器返回错误:(404)Not Found.,Source = System,'.

谢谢,阿拉文德

azure-data-factory

6
推荐指数
1
解决办法
2164
查看次数

SSAS MDX 查询作为链接服务中的 Azure 数据工厂源

这个问题可能没有得到很好的研究,但我需要在开始设计之前找到实现这个解决方案的正确方法。

问题是,我们可以使用 SSAS MDX 查询作为 Azure 数据工厂链接服务源中的数据源吗?

ssas mdx azure-data-factory

6
推荐指数
1
解决办法
2080
查看次数

通过访问密钥连接到 Blob 存储的 Azure 数据工厂

我正在尝试在 Azure 数据工厂中构建一个非常基本的数据流,从 blob 存储中提取 JSON 文件,对某些列执行转换,然后存储在 SQL 数据库中。我最初使用托管标识对存储帐户进行身份验证,但在尝试测试与源的连接时出现以下错误:

com.microsoft.dataflow.broker.MissingRequiredPropertyException: account 是 [myStorageAccountName] 的必需属性。com.microsoft.dataflow.broker.PropertyNotFoundException: 无法从 [myStorageAccountName] 中提取值 - RunId: xxx

我还在工厂验证输出中看到以下消息:

[MyDataSetName] AzureBlobStorage 不支持数据流中的 SAS、MSI 或服务主体身份验证。

有了这个,我假设我需要做的就是将我的 Blob 存储链接服务切换到帐户密钥身份验证方法。在我切换到帐户密钥身份验证并选择我的订阅和存储帐户后,在测试连接时出现以下错误:

连接失败无法连接到 https://[myBlob].blob.core.windows.net/:错误消息:远程服务器返回错误:(403) 禁止。(ErrorCode: 403, Detail: This request is not Authorized to perform this operation., RequestId: xxxx),请确保提供的凭据有效。远程服务器返回错误:(403) Forbidden.StorageExtendedMessage=,远程服务器返回错误:(403) Forbidden。活动 ID:xxx。

我试过直接从 Azure 中选择并手动输入密钥,无论哪种方式都得到相同的错误。需要注意的一件事是存储帐户只允许访问指定的网络。我尝试连接到不同的公共存储帐户,并且能够正常访问。ADF 帐户具有存储帐户参与者角色,并且我添加了我当前工作位置的 IP 地址以及我在此处找到的 Azure 数据工厂的 IP 范围:https : //docs.microsoft.com/en-我们/azure/data-factory/azure-integration-runtime-ip-addresses

另请注意,目前我有大约 5 个复制数据任务与 Managed Identity 完美配合,但我需要开始执行更复杂的操作。

这似乎与无法在 Azure 数据工厂中创建链接服务类似,但我分配的存储帐户参与者和所有者角色应该取代回复中建议的读者角色。我也不确定海报使用的是公共存储帐户还是私人帐户。

先感谢您。

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

6
推荐指数
1
解决办法
4255
查看次数