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

配列要素の削減

サポート対象: バッチ, ストリーミング

式を使用して配列要素を削減します。

式のカテゴリ: 配列

引数

  • Array - 削減する配列。
    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>>
  • Expression to reduce - 配列の各要素に 1 回適用する式。
    Expression<T>
  • Initial value - アキュムレータを初期化するために使用される開始値。配列の長さが 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: 基本ケース

引数の値:

  • Array: miles
  • Expression to reduce:
    add(
     expressions: [accumulator, element],
    )
  • Initial value: 0
milesOutput
[ 12300, 12342 ]24642

例 2: 基本ケース

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

  • Array: miles
  • Expression to reduce:
    firstNonNull(
     expressions: [accumulator, element],
    )
  • Initial value: init
milesinitOutput
[ null, null, 12300, 12111 ]null12300

例 3: 基本ケース

引数の値:

  • Array: miles
  • Expression to reduce:
    concatStrings(
     expressions: [accumulator,
    cast(
     expression: element,
     type: String,
    )],
     separator: -,
    )
  • Initial value: 空文字列
milesOutput
[ 12300, 12342 ]-12300-12342

例 4: Null ケース

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

  • Array: miles
  • Expression to reduce:
    firstNonNull(
     expressions: [accumulator, element],
    )
  • Initial value: init
milesinitOutput
nullnullnull

例 5: エッジケース

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

  • Array: miles
  • Expression to reduce:
    add(
     expressions: [accumulator, element],
    )
  • Initial value: 0
milesOutput
[ ]0