对于上下文,我目前有一个 Data Factory v2 管道,其中有一个ForEach Activity调用Copy Activity。该复制活动只是从FTP服务器到Blob存储容器复制数据。
这是管道 json 文件:
{
"name": "pipeline1",
"properties": {
"activities": [
{
"name": "ForEach1",
"type": "ForEach",
"typeProperties": {
"items": {
"value": "@pipeline().parameters.InputParams",
"type": "Expression"
},
"isSequential": true,
"activities": [
{
"name": "Copy1",
"type": "Copy",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "BlobSink"
},
"enableStaging": false,
"cloudDataMovementUnits": 0
},
"inputs": [
{
"referenceName": …Run Code Online (Sandbox Code Playgroud) 每当我在 ADFv2 中执行存储过程时,它都会给我一个输出
{
"effectiveIntegrationRuntime": "DefaultIntegrationRuntime (Australia Southeast)",
"executionDuration": 34
}
Run Code Online (Sandbox Code Playgroud)
即使我在程序中设置了 2 个变量作为输出。有没有办法在ADFv2中映射存储过程的输出?到目前为止,我可以映射所有其他活动的输出,但不能映射存储过程的输出。
我正在设计一个 ADF 管道,它将行从 SQL 表复制到 Azure Data Lake 中的文件夹。之后应该删除 SQL 中的行。但是对于此删除操作,我想知道复制的行数是否与我在管道开头选择的行数相同。有没有办法获取复制操作的行数并在另一个操作中使用它(如查找)
编辑后续问题:小波的回答是可以的。但是我有一个后续问题。在复制活动之后,我使用以下表达式放置了一个 If 条件:
@activity('LookUpActivity').output.firstRow.RecordsRead == @{activity('copyActivity').output.rowsCopied
Run Code Online (Sandbox Code Playgroud)
但后来我得到了错误:@activity('LookUpActivity').output.firstRow.RecordsRead == @{activity('copyActivity').output.rowsCopied
是否可以比较两个活动的输出参数以查看是否为 True?
额外编辑:我刚刚在这段代码中发现了一个错误。我忘记了代码开头的“{”。但是代码还是错误的。要比较早期活动的两个输出,代码必须是:
@equals(activity('LookUpActivity').output.firstRow.RecordsRead,activity('copyActivity').output.rowsCopied)
Run Code Online (Sandbox Code Playgroud) 我有一个 azure blob 容器,其中每 6 小时放置一些带有数据的 json 文件,我想使用 Azure 数据工厂将其复制到 Azure SQL DB。文件的文件模式是这样的:“customer_year_month_day_hour_min_sec.json.data.json”
blob 容器也有其他 json 数据文件,因此我对数据集中的文件进行了过滤。
第一个问题是如何在 blob 数据集上设置文件路径以仅查找我想要的 json 文件?我尝试使用通配符 *.data.json 但这不起作用。我开始工作的唯一文件名通配符是 *.json
第二个问题是如何仅将数据从位于 blob 存储中的新文件(具有特定文件模式)复制到 Azure SQL?我无法控制将数据放入 blob 容器的过程,也无法将文件移动到另一个位置,这使得操作变得更加困难。
请帮忙。
我有一个PowerShell脚本,它为每 1000 条记录将一个复杂的 CSV 文件拆分为一个较小的 CSV 文件。这是代码:
$i=0;Get-Content C:\Users\dell\Desktop\Powershell\Input\bigsizeFile.csv -ReadCount 1000 | %{$i++; $_ | Out-File C:\Users\dell\Desktop\Powershell\Output\file$i.csv
}
Run Code Online (Sandbox Code Playgroud)
现在我想在 Azure PowerShell 中使用这个脚本,我想从 Azure 数据工厂运行它。有人可以帮忙解决这个问题。
powershell azure-powershell azure-data-factory azure-data-lake
源数据库:Azure VM D16s_v3 上托管的 PostgreSQL 目标数据库:Azure VM D4s_v3 上托管的 SQL Server 开发版 源数据库大小约为 1TB 目标数据库为空,现有架构与源数据库相同
吞吐量仅为 1mb/s。没有任何帮助。(我选择了最大 DIU)此时 SQL Server 没有任何键或索引。
批量大小为 10000
我有一个增量表,其中通过数据块的多个作业可以同时将数据合并/更新插入到增量表中。
我怎样才能防止得到ConcurrentAppendException?
我无法使用此解决方案,因为传入的更改可以是任何分区的一部分,并且我无法过滤任何分区。
有没有办法检查 Delta 表是否正在追加/合并/更新/删除,并等待其完成,然后我们获取锁并开始第二个作业的合并?
仅供参考,这是 2 个独立的 Azure Datafactory 作业,试图更新一个增量表。
干杯!
apache-spark azure-data-factory databricks azure-databricks delta-lake
重现步骤:
我首先在管道中创建了一个复制数据,以将 CSV 文件从 Azure VM 简单传输到 Azure Blob 存储。我始终使用 IRPOC1 作为通过集成运行时的连接,并使用 SAS URI 和 SAS 令牌连接到我的 Blob 存储
验证并运行第一个复制数据后,我成功将 CSV 文件从虚拟机传输到 Blob 存储
我尝试在“复制数据”活动之后添加新的数据流
在我的数据流中,我的源是包含从虚拟机传输的 CSV 文件的 Blob 存储,我的接收器是连接成功的 Azure SQL 数据库
但是,当我运行验证时,我在数据流源上收到错误消息:
数据流不支持具有自承载集成运行时的链接服务。
我看到有人在 Microsoft Azure Document issues Github 上回复说我需要先使用 Copy Data 将数据传输到 Blob。然后使用来自该 blob 的数据源。这就是我所做的,但我仍然有同样的错误。您能让我知道如何解决这个问题吗?
我需要知道 Azure 数据工厂正在使用的 IP 地址。我需要它,以便将其添加到云服务使用的白名单中。
当我需要查找本地计算机的 IP 地址时,我可以访问whatismyipaddress.com。
如何查找 Azure 数据工厂 (ADF) 的 IP 地址?
所以我有一个数据工厂,它调用一个读取 blob 存储的 Azure 函数。
我不明白为什么我会收到此错误。“此请求无权执行此操作”。是数据工厂、azure 存储还是azure 功能的问题吗?
我还向 Storage Blob Data Contributor 添加了服务主体,但没有成功。
{
"name": "TPFunction",
"instanceId": "4ef6513ebfc6bb",
"runtimeStatus": "Failed",
"input": {
"environment": "dev",
"DateToProcess": "2013-04-08",
"SourceStorageType": "AdlsGen2",
"SourceAccountName": "storage06",
"SourceBlobContainer": "data",
"SourceFilePath": "file/file/file"
},
"customStatus": null,
"output": "Orchestratorfunction 'TPFunction' failed: Following error occurred during execution: The activity function 'TPFunction' failed: \"Error occurred getting list of files: This request is not authorized to perform this operation using this permission.\nRequestId:7b5e-e4a603\nTime:2013-04-08:02:27.0924606Z\r\nStatus: 403 (This request is not authorized to perform this …Run Code Online (Sandbox Code Playgroud) permissions azure azure-data-factory azure-blob-storage azure-functions