【问题标题】:Can a Mapping Data Flow use a parameterized Parquet dataset?映射数据流可以使用参数化 Parquet 数据集吗?
【发布时间】:2021-04-26 09:27:53
【问题描述】:

感谢您的光临。

我正在尝试在 Azure Synapse 工作区中开发一个映射数据流(因此我相信这也适用于 ADFv2),它采用 Delta 输入并将其直接转换为 Parquet 格式的输出,使用使用指向带有参数化文件系统和文件夹的 ADLSGen2 的 Parquet 数据集的相关细节,与硬编码的文件系统和文件夹相反,因为这将需要创建太多数据集,因为感兴趣的文件夹太多在数据湖中。

映射数据流:

当我尝试将其用作映射数据流中的源时,调试配置(以及父管道配置)将适时要求我输入这些参数,我很乐意输入。

然后,当我尝试调试或运行管道时,我会在不到 1 秒的时间内收到此错误:

{
"Message": "ErrorCode=InvalidTemplate, ErrorMessage=The expression 'body('DataFlowDebugExpressionResolver')?.50_DeltaToParquet_xxxxxxxxx?.ParquetCurrent.directory' is not valid: the string character '_' at position '43' is not expected."
}

RunId: xxx-xxxxxx-xxxxxx

此错误消息不是很具体,无法知道我应该查看的位置。

我尝试用硬编码的 Parquet 数据集替换参数化的 Parquet 数据集,它在调试和管道运行模式下都能完美运行。但是,这并不能满足我的需要,即能够重用 Parquet 数据集,而不必为每个 Data Lake 文件夹创建特定的数据集。

Data Lake 文件系统中也没有空格。请参考这些看起来很像我的生产环境的参数:

  • 文件系统:prodfs001
  • 目录:synapse/workspace01/parquet/dim_mydim

提前感谢大家,伙计们!

【问题讨论】:

    标签: azure-data-factory parquet azure-synapse azure-data-lake-gen2 azure-data-flow


    【解决方案1】:

    目录名synapse/workspace01/parquet/dim_mydim在dim_mydim中有一个_,可以试试替换下划线吗,或者可以用dimmydim来测试是否有效。

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 2020-08-27
      • 2012-03-11
      • 1970-01-01
      • 2020-09-07
      • 2020-06-10
      • 2021-10-28
      • 1970-01-01
      • 2020-10-22
      相关资源
      最近更新 更多