データ統合エクスプレッション配列要素の削減

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

配列要素の削減

対応している: バッチ、ストリーミング

配列要素を式を使用して削減します。 式のカテゴリ: 配列

宣言された引数

  • 配列 - 削減する配列。
    Expression<Array<Array<Boolean | Byte | Date | Double | Float | Integer | Long | Map<AnyType, AnyType> | Short | String | Timestamp> | Boolean | Byte | Date | Double | Float | Integer | Long | Map<AnyType, AnyType> | Short | String | Timestamp>>
  • 削減式 - 配列の要素ごとに1回適用する式。
    Expression<T>
  • 初期値 - 配列の長さが 0 の場合、この値が返されるアキュムレータを初期化するために使用される開始値。
    Expression<T>

型変数の境界:
T は Array<Boolean | Byte | Date | Double | Float | Integer | Long | Map<AnyType, AnyType> | Short | String | Timestamp> | Boolean | Byte | Date | Double | Float | Integer | Long | Map<AnyType, AnyType> | Short | String | Timestamp を受け入れます

出力タイプ: T

例 1 - 基本ケース

引数の値:

  • 配列: miles
  • 削減式:
    add(
     expressions: [accumulator, element],
    )
  • 初期値: 0
miles:arrow_right:出力
[ 12300, 12342 ]24642

例 2 - 基本ケース

説明: 配列内で最初の null でない値を返します。 引数の値:

  • 配列: miles
  • 削減式:
    firstNonNull(
     expressions: [accumulator, element],
    )
  • 初期値: init
milesinit:arrow_right:出力
[ null, null, 12300, 12111 ]null12300

例 3 - 基本ケース

引数の値:

  • 配列: miles
  • 削減式:
    concatStrings(
     expressions: [accumulator,
    cast(
     expression: element,
     type: String,
    )],
     separator: -,
    )
  • 初期値: 空の文字列
miles:arrow_right:出力
[ 12300, 12342 ]-12300-12342

例 4 - Null ケース

説明: Null の配列は Null の出力を返します。 引数の値:

  • 配列: miles
  • 削減式:
    firstNonNull(
     expressions: [accumulator, element],
    )
  • 初期値: init
milesinit:arrow_right:出力
nullnullnull

例 5 - エッジケース

説明: 空の配列は、初期値を返します。 引数の値:

  • 配列: miles
  • 削減式:
    add(
     expressions: [accumulator, element],
    )
  • 初期値: 0
miles:arrow_right:出力
[ ]0