データフロー定義

この記事では、データフロー項目の定義構造の詳細について説明します。

定義パーツ

定義パーツのパス 必須 説明
queryMetadata.json Metadata ContentDetails (JSON) ほんとう データフローのクエリ オプションに関連するメタデータについて説明します
mashup.pq Mashup ContentDetails (PQ) ほんとう ペイロードのマッシュアップ コンテンツについて説明します。 これには、データフローで実行されたすべてのステップのシーケンスが含まれています
<mdfTransformName>.mdf MDFTransform ContentDetails (JSON) 偽り ペイロードのマッピング Data Flow (MDF) 変換コンテンツについて説明します。 データフロー内に複数の MDF 変換が存在する可能性がある

Metadata ContentDetails

ペイロードの内容について説明します

名前 タイプ 必須 説明
formatVersion ほんとう データフロー項目の形式のバージョン。 使用できる値は 202502
名前 ほんとう マッシュアップの名前
computeEngineSettings ComputeEngineSettings 偽り コンピューティング エンジンの設定
queryGroups QueryGroup[] 偽り クエリ グループ
documentLocale 偽り ドキュメントのロケール。BCP-47 言語コードである必要があります
gatewayObjectId 偽り ゲートウェイ オブジェクト ID
queriesMetadata QueriesMetadata 偽り クエリメタデータ
コネ 接続[] 偽り ユーザー接続数
fastCombine ブール値 偽り 高速結合を使用するかどうかを示します。 True - 高速結合を使用します。 False (既定値) - 高速結合を使用しない
allowNativeQueries ブール値 偽り ネイティブ クエリを許可するかどうかを示します。 True (既定値) - ネイティブ クエリを許可します。 False - ネイティブ クエリを許可しない
skipAutomaticTypeAndHeaderDetection ブール値 偽り 自動型とヘッダーの検出をスキップするかどうかを示します。 True - 検出をスキップします。 False (既定値) - 検出をスキップしない
パラメトリック ブール値 偽り パラメトリック モードを使用するかどうかを示します。 True - パラメトリック モードが使用されます。 False (既定値) - パラメトリック モードは使用されません

ComputeEngineSettings コンテンツ

名前 タイプ 必須 説明
allowFastCopy ブール値 偽り 高速コピーが有効かどうかを示します。 True (既定値) - 高速コピーを許可します。 False - 高速コピーを許可しない
maxConcurrency 整数 偽り データフローの実行時に使用する同時評価の最大数

QueryGroups の内容

名前 タイプ 必須 説明
識別子 偽り クエリ グループの ID
名前 偽り クエリ グループの名前
説明 偽り クエリ グループの説明
parentId 偽り クエリ グループの親 ID
順序 整数 偽り クエリ グループの順序

QueriesMetadata コンテンツ

名前 タイプ 必須 説明
queryId ほんとう クエリ ID
queryName ほんとう クエリの名前
queryGroupId 偽り クエリ グループ ID
IsHidden ブール値 偽り クエリが非表示かどうかを示します。 True - クエリは非表示です。 False (既定値) - クエリは非表示ではありません
loadEnabled ブール値 偽り 読み込みが有効かどうかを示します。 True (既定値) - 読み込みが有効です。 False - 読み込みが有効になっていません

接続の内容

名前 タイプ 必須 説明
パス 偽り 接続パス
種類 偽り 接続の種類
connectionId 偽り 接続 ID

Metadata ContentDetails の例

{
  "formatVersion": "202502",
  "computeEngineSettings": {
    "allowFastCopy": true,
    "maxConcurrency": 1
  },
  "name": "SampleDataflowGen",
  "queryGroups": [
    
  ],
  "documentLocale": "en-US",
  "gatewayObjectId": null,
  "queriesMetadata": {
    "publicholidays": {
      "queryId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
      "queryName": "publicholidays",
      "queryGroupId": null,
      "isHidden": false,
      "loadEnabled": true
    },
    "MDF transform": {
      "queryId": "9c6d7c87-83db-4718-b382-c0c1aa1636d7",
      "queryName": "MDF transform",
      "loadEnabled": false
    }
  },
  "connections": [
    {
      "path": "Lakehouse",
      "kind": "Lakehouse",
      "connectionId": "{\"ClusterId\":\"b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2\",\"DatasourceId\":\"c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3\"}"
    }
  ],
  "fastCombine": false,
  "allowNativeQueries": true,
  "skipAutomaticTypeAndHeaderDetection": false
}

Mashup ContentDetails の例

[StagingDefinition = [Kind = "FastCopy"]]
section Section1;
shared publicholidays = 
let  Source = Lakehouse.Contents([]),  
#"Navigation 1" = Source{[workspaceId = "d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4"]}[Data],  
#"Navigation 2" = #"Navigation 1"{[lakehouseId = "e4e4e4e4-ffff-aaaa-bbbb-c5c5c5c5c5c5"]}[Data],  
#"Navigation 3" = #"Navigation 2"{[Id = "publicholidays", ItemKind = "Table"]}[Data],  
#"Changed column type" = Table.TransformColumnTypes(#"Navigation 3", {{"normalizeHolidayName", type text}}),  
#"Lowercased text" = Table.TransformColumns(#"Changed column type", {{"countryRegionCode", each Text.Lower(_), type nullable text}}),  
#"Uppercased text" = Table.TransformColumns(#"Lowercased text", {{"normalizeHolidayName", each Text.Upper(_), type nullable text}}),  
#"Calculated text length" = Table.TransformColumns(#"Uppercased text", {{"countryOrRegion", each Text.Length(_), type nullable Int64.Type}})in  #"Calculated text length";
[ItemType = "MDF"]
shared #"MDF transform" = "___ExternalResource-Placeholder___";

MDFTransform ContentDetails

Mapping Data Flow ペイロードの内容について説明します。

名前 タイプ 必須 説明
名前 ほんとう マッピング データ フローの名前
properties プロパティ ほんとう マッピング データ フローのプロパティ

MDFTransform プロパティの内容

名前 タイプ 必須 説明
ほんとう データフローの型。 使用できる値は次の値です。 MappingDataFlow
typeProperties TypeProperties ほんとう マッピング データ フローの型プロパティ

MDFTransform TypeProperties コンテンツ

名前 タイプ 必須 説明
ソース Source[] 偽り マッピング データ フロー内のソースの一覧
sinks Sink[] 偽り マッピング データ フロー内のシンクの一覧
transformations 変換[] 偽り マッピング データ フロー内の変換の一覧
スクリプトライン 文字列[] ほんとう マッピング データ フロー ロジックを定義するスクリプト行

MDFTransform ソース コンテンツ

名前 タイプ 必須 説明
名前 ほんとう ソースの名前
external参照 ExternalReferences 偽り ソースの外部参照

MDFTransform シンクの内容

名前 タイプ 必須 説明
名前 ほんとう シンクの名前
external参照 ExternalReferences 偽り シンクの外部参照

MDFTransform 変換の内容

名前 タイプ 必須 説明
名前 ほんとう 変換の名前

MDFTransform ExternalReferences コンテンツ

名前 タイプ 必須 説明
接続 偽り 外部参照の接続 ID

MDFTransform ContentDetails の例

{
  "name": "MDF",
  "properties": {
    "type": "MappingDataFlow",
    "typeProperties": {
      "sources": [
        {
          "name": "source1",
          "externalReferences": {
            "connection": "<source1ConnectionId>"
          }
        }
      ],
      "sinks": [
        {
          "name": "sink1",
          "externalReferences": {
            "connection": "<sink1ConnectionId>"
          }
        }
      ],
      "transformations": [
        {
          "name": "derivedColumn1"
        }
      ],
      "scriptLines": [
        "source(output(",
        "          Column1 as short,",
        "          Column2 as string,",
        "          Column3 as date,",
        "          Column4 as boolean,",
        "          Column5 as string,",
        "          Column6 as double",
        "     ),",
        "     useSchema: false,",
        "     allowSchemaDrift: true,",
        "     validateSchema: false,",
        "     ignoreNoFilesFound: false,",
        "     format: 'delimited',",
        "     fileSystem: 'folder1',",
        "     fileName: 'file1.csv',",
        "     columnDelimiter: ',',",
        "     escapeChar: '\\\\',",
        "     quoteChar: '\\\"',",
        "     columnNamesAsHeader: true) ~> source1",
        "source1 derive(isColumn6GreaterThan10 = Column6>10) ~> derivedColumn1",
        "derivedColumn1 sink(allowSchemaDrift: true,",
        "     validateSchema: false,",
        "     format: 'json',",
        "     fileSystem: 'output1',",
        "     umask: 0022,",
        "     preCommands: [],",
        "     postCommands: [],",
        "     skipDuplicateMapInputs: true,",
        "     skipDuplicateMapOutputs: true) ~> sink1"
      ]
    }
  }
}