すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ZIP_WITH

最終更新日:Jan 17, 2025

要素位置とコンバイナに基づいて要素レベルで配列aと配列bをマージし、新しい配列を返します。

構文

array<R> zip_with(array<T> <a>, array<S> <b>, function<T, S, R> <combiner>)

パラメーター

  • aおよびb: 必須。 このパラメーターは、配列を指定します。 array<T>Tarray<S>Sは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。

  • combiner: 必須です。 このパラメーターには、要素レベルで配列aと配列bをマージするために使用される組み込み関数、ユーザー定義関数、または式を指定します。 コンバイナは、2つの入力パラメータからなる。 1つの入力パラメーターは、配列aの要素と同じデータ型である必要があります。 もう1つの入力パラメーターは、配列bの要素と同じデータ型である必要があります。

戻り値

ARRAY型の値が返されます。 戻り値は、次のルールによって異なります。

  • 返される配列の要素は、配列aおよび配列bの要素と同じ位置にあります。

  • 配列aと配列bの長さが異なる場合、配列がマージされる前にnull要素が短い配列に追加されます。

-- The return value is [2, 4, 6, null]. 
select zip_with(array(1,2,3), array(1,2,3,4), (x,y) -> x + y);
説明

この例では、ハイフンとクロージングアングルブラケット (->) の組み合わせが使用されます。 Lambda関数でハイフンとクロージングアングルブラケット (->) の組み合わせを使用する方法の詳細については、「Lambda関数」をご参照ください。

関連関数

ZIP_WITHは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.