标签: azure-data-factory

使用通配符路径过滤掉文件 azure 数据工厂

我正在处理管道,在使用复制活动时,在文件通配符路径中我想跳过某个文件并只复制其余文件。有表达吗?我知道 * 用于匹配零个或多个字符,但在这种情况下,我想要一个表达式来跳过某个文件。

我对 adf 还是很陌生

谢谢。

path filter azure-data-factory

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

为什么数据流接收器缓存没有所有数据预览结果?

我发现使用缓存接收器与数据集接收器时数据流结果存在显着差异。我重新创建了一个简单的例子来演示。

我将一个简单的 JSON 文件上传到 Azure Data Lake Storage Gen 2:

{
  "data": [
    {
      "id": 123,
      "name": "ABC"
    },
    {
      "id": 456,
      "name": "DEF"
    },
    {
      "id": 789,
      "name": "GHI"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个简单的数据流,用于加载此 JSON 文件,将其展平,然后通过接收器返回它。我主要对使用缓存接收器感兴趣,因为输出很小,并且我最终需要下一个管道步骤的输出。(检查写入活动输出。)

在此输入图像描述

您可以看到数据预览显示了全部 3 行。(在这个例子中我有两个接收器,只是因为我要说明它们不匹配。)

接下来,我创建一个管道来运行数据流:

在此输入图像描述

现在,当我调试它时,数据流输出仅显示 1 条记录:

        "output": {
            "TestCacheSink": {
                "value": [
                    {
                        "id": 123,
                        "name": "ABC"
                    }
                ],
                "count": 1
            }
        },
Run Code Online (Sandbox Code Playgroud)

然而,第二个数据集接收器包含全部 3 条记录:

{"id":123,"name":"ABC"}
{"id":456,"name":"DEF"}
{"id":789,"name":"GHI"}
Run Code Online (Sandbox Code Playgroud)

我预计 Cache Sink 的输出也会有 3 条记录。 为什么会出现差异呢?

azure-data-factory

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

将 Azure blob 升级到 DataLake Gen 2 时验证失败

我正在将 Azure Blob 存储升级到 DataLake Gen 2。我已经在 ADF 中创建了一些管道,其中存在启用了日志记录的删除活动,并且我已经为记录的文件提供了 Blob 容器的路径。

现在,当我尝试升级到 DataLake Gen 2 时,验证失败,提示“不兼容的功能软删除”。我在 ADF 管道中禁用了“启用日志记录”,删除了 blob 文件夹的路径,并从 blob 存储中删除了该文件夹。但是我仍然收到此验证失败的消息。

我无法了解还需要进行哪些更改。看到错误:错误信息

azure azure-data-factory azure-blob-storage azure-data-lake

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

自承载集成运行时 Windows 容器中缺少 jvm.dll

我正在启动一个包含自托管集成运行时的 Windows 容器映像(在此处提供我的 MS ),以便能够在本地情况下使用 ADF。它运行得很顺利,直到我需要使用 Parquet 文件。

当我将输出指向 .parquet 时,出现数据工厂任务失败,指出集成运行时容器中缺少 Java。

ErrorCode=JreNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Java Runtime Environment cannot be found on the Self-hosted Integration Runtime machine. It is required for parsing or writing to Parquet/ORC files. Make sure Java Runtime Environment has been installed on the Self-hosted Integration Runtime machine.,Source=Microsoft.DataTransfer.Common,''Type=System.DllNotFoundException,Message=Unable to load DLL 'jvm.dll': The specified module could not be found.

我采取了修改build.ps1文件的方式来在容器镜像创建过程中安装和配置依赖项。以下是采取的步骤:

  • 安装 Microsoft Visual C++ 2010 Service Pack 1(此处

  • 安装 Microsoft OpenJDK 17.0.6 LTS - 64 …

java windows azure-data-factory windows-container

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

获取 Azure DevOps 管道中的具体任务版本

这是我的任务代码:

- task: PublishADFTask@1
  displayName: 'Publish Datafactory'
  inputs:
       // inputs there
Run Code Online (Sandbox Code Playgroud)

但最新版本有一个bug 1.*

这是在 azure devops yaml 管道中使用先前任务版本的方法吗?

我试过:

- task: PublishADFTask@1.27.1315
  displayName: 'Publish Datafactory'
  inputs:
       // inputs there
Run Code Online (Sandbox Code Playgroud)

但这不起作用

azure azure-data-factory azure-devops azure-pipelines

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

如何取消管道 -- 没有取消按钮可用

我有一个正在运行的管道 (8735cc10-80db-4401-8f9e-516d733b450e)。从活动运行页面,我看到管道正在运行,但从管道运行页面,它显示失败状态。

有没有办法取消从 UI 运行的这个管道?

azure azure-data-factory

0
推荐指数
1
解决办法
1218
查看次数

是否可以从 Azure 数据工厂中的表更新行值?

我在数据工厂中有一个数据集,我想知道是否可以仅使用数据工厂活动来更新行值,而无需数据流、存储过程、查询...

azure azure-data-factory

0
推荐指数
1
解决办法
4649
查看次数

ADF 复制数据活动 - 在插入 SQL 数据库之前检查重复记录

我有一个非常简单的 ADF 管道,用于将数据从本地 mongoDB(自托管集成环境)复制到 Azure SQL 数据库。

我的管道能够从 mongoDB 复制数据并插入到 SQL 数据库中。目前,如果我运行管道,它会在多次运行时插入重复数据。

我已经将 _id 列作为 SQL 数据库中的唯一列,现在运行管道抛出和错误,因为 SQL 约束不会让它插入记录。

如何在插入 SQL 数据库之前检查重复的 _id?

我应该使用预复制脚本/存储过程吗?一些指导/说明将有助于在何处添加额外步骤。谢谢

azure azure-data-factory azure-sql-database azure-data-factory-2

0
推荐指数
1
解决办法
2840
查看次数

Azure 数据工厂中的 Parquet 文件名

我正在使用 Azure 数据工厂的复制活动将数据从 Oracle DB 复制到 ADLS。此副本的结果是一个 parquet 文件,其中包含与我复制的表相同的数据,但生成的 parquet 文件的名称如下所示:

data_32ecaf24-00fd-42d4-9bcb-8bb6780ae152_7742c97c-4a89-4133-93ea-af2eb7b7083f.parquet
Run Code Online (Sandbox Code Playgroud)

我需要这个名字像这样存储:

TableName-Timestamp.parquet

如何使用 Azure 数据工厂做到这一点?

另一个问题:有没有办法在写入此文件时添加层次结构?例如,我使用相同的管道来写入多个表,并且我想为每个表创建一个新文件夹。如果我为每个要写入的表创建一个新的数据集,我就可以做到这一点,但我想知道是否有办法自动执行此操作(使用动态内容)。

提前致谢。

parquet azure-data-factory

0
推荐指数
1
解决办法
2458
查看次数

如何从Azure数据工厂管道中删除表中的记录

我有一个场景,当管道中出现错误时从表中删除记录。我正在尝试在查找活动中运行查询,但它显示“无数据返回”。我不想为此使用映射数据流。

我怎样才能实现这一目标?

azure-data-factory

0
推荐指数
1
解决办法
4354
查看次数

将 ForEach SQL 加载到 Azure 数据工厂中的单个 CSV 中

我有一个 ADF,在 ForEach 中执行存储过程并使用复制数据将输出加载到 CSV 文件中

在 ForEach 的每次迭代中,CSV 都会被清除并加载该迭代的数据

我要求它保留已加载的数据并插入迭代的输出

CSV 应具有所有迭代的完整数据集

我怎样才能实现这个目标?我尝试在接收器复制行为中使用“合并文件”选项,但不适用于 SQL 到 CSV

azure-data-factory

0
推荐指数
1
解决办法
1817
查看次数

如何使用azure数据工厂拆分列值

我有源 csv 文件,其中有一列具有多个值(数据以逗号 (,) 分隔),因此我想使用数据工厂提取该特定的一列,并将该多条记录存储到具有不同值的表(在数据库中)中。列名

您能否建议我应该如何设计天蓝色数据工厂管道?

sql azure azure-data-factory azure-sql-server

0
推荐指数
1
解决办法
9599
查看次数