Glue DataBrewのレシピでカスタムソートが出来るようになっていたので試してみた

2022.02.16

いわさです。

Glue DataBrewでソート機能が強化されたみたいです。
ただ、変更前を私が知らないのとソートに関して触れている記事が見当たらなかったので、今回はアップデートにフォーカスしすぎずソート機能をまとめて試してみた内容を紹介したいと思います。

AWS Glue DataBrew now supports multi-column and custom sort as transformations

直近のアップデートとしては、マルチカラムソート機能とカスタムソート機能がおそらく追加されたのだと思います。

ソートメニュー

フィルターメニューと列メニューの間に追加されています。
この機能からUIでレシピステップとしてソート機能を開始出来ます。

2021年12月末ごろの画面キャプチャを見ると、「ソート」メニューもなかったので、今回追加された形ですね。

通常の1カラムの昇順・降順のソート

列1つ指定して昇順か降順かを指定します。
普通の使い方です。

マルチカラムでのソート

Add another column to sortからソート対象のカラムを追加できます。
ここではheader1とheader2をそれぞれ第一昇順、第二昇順で指定しました。

カスタムソート

次はカスタムソートです。

ここではheader3にPDCAのPlan, Do, Check, Actionという文字列を設定しています。
header3を通常どおりソートしようとすると普通はアルファベット順になると思います。

ここで、Sort by custom valuesで並び順をリストで指定することが出来ます。

PDCA順になりました。

さらに、カスタムソートでは大文字・小文字の考慮も出来ます。
bbb,aaa,DDD,CCC,BBB,AAAとカスタムソートを指定した場合は以下では大文字・小文字の区別がされていない状態です。

こちらは、Case-sensitiveを選択すると区別されるようになります。

ちなみに、非カスタムソートの場合は区別されてます。その場合に区別したくないときはソート前のステップで大文字・小文字の統一が必要そうですね。

欠損値の位置

欠損値のソート時の扱いにもオプションが用意されています。
こちらデフォルトでnull値が行末にありますが、有効化すると先頭に配置が出来ます。

さいごに

本日はGlue DataBrewのソート機能を使って見ました。
なお、レシピコードを作成する際は以下をご確認ください。当然ですが、本日UI上から設定された内容は全てカバーされています。