ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

SQL to AsakusaFW:order by

2019-12-20 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2019の20日目、SQLをAsakusaFWに変換するポイントについてです。

SELECT文のORDER BYは、出力結果をソートするものです。
AsakusaFWで結果をDirect I/Oでファイルに出力する場合は、ExporterのgetOrderメソッドでソートするカラムを指定します。

AsakusaFWのOperatorの各メソッドの場合は、出力データに対してソートするわけではありません。ここはSQLとは異なります。
CoGroup演算子GroupSort演算子では、入力データに対してソートすることが出来ます。これらの演算子への入力がORDER BY付きのSELECT文の場合は、ソートカラムをCoGroup/GroupSortの入力データの@Keyのorderに指定します。
それ以外の演算子ではソートすることは出来ません。基本的に分散して処理する演算子ばかりなので、そもそもソート順を指定することは出来ないんですね。