0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure Synapseパイプラインで配列をソートする

Posted at

配列変数をソートする方法です。


1. パイプラインを作成し、その変数として以下のようにセットします。

名前:files
種類:Array
規定値:["files_1","files_2","files_3"]

(ここでは配列値をハードコードしていますが、実際には何かしらの処理で取得した配列値を扱うことになると思います。)

2. パイプライン上にスクリプトアクティビティを作成し、以下のように設定します。

スクリプト:Query

DECLARE @var_files_csv NVARCHAR(MAX) = @files_csv;
SELECT value FROM STRING_SPLIT(@var_files_csv, ',') ORDER BY 1;

スクリプトのパラメーター:
名前:files_csv
種類:String
値:@join(variables('files'),',')
方向:Input

1で設定した配列変数を「,」でつなげて読み込み → 「,」区切りのテーブルとしてSQL上で読み込み → ソートして出力する、という流れです。

(この例ではSqlserver上でSQLを実行してソートを行っています。なので、Sqlserver、もしくは他のDBと連携するリンクサービスを作成しておく必要があります。)

3. 以上を設定してパイプラインを実行するとrowsのvalueがソートされていることが確認できます。

※ スクリプトアクティビティのSQL部分のソート順を降順にしてパイプラインを実行すると、結果は降順になります。


実際には、Azure Storageからファイル名一覧を取得してソート、その後ソートした順にファイルを読み込んで処理を実行する、などに使えると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?