Alteryx Designer CloudでSnowflakeのテーブルを作成してみる
Alteryx Designer Cloudでは、直接Snowflakeのテーブルを作成することが可能です。実際にやってみたいと思います。
準備
前提として、Designer Cloud(Alteryx Analytics Cloud)からSnowflakeへのConnectionを作成しておく必要があります。方法については、こちらの記事をごらんください。
その上で、Snowflake側の環境はこのような形です。
ここで、[TEST_AK]というデータベース内の[PUBLIC]スキーマ内にテーブルを作成したいと思います。
さっそく、Designer Cloud側で簡単なワークフローを作ってみましょう(今回、Selectツール内では何もしていません)。
この中で、Output Dataツールを設定してみましょう。
今回、「Table Option」は、「Create New」とし、テーブル名としては「TEST_DESIGNER CLOUD」としています。テーブルを作成する先のスキーマを選択しないといけないので、今回は「PUBLIC」を選択しています。設定が完了したら「Continue」ボタンをクリックします。
次の画面の出力オプションとしては、「Create New」「Append」「Truncate」「Drop」が表示されますが、今回は「Append」にしてみましょう。
ワークフローを実行する
ワークフローを実行するには、Designer Cloudの右上のRun Jobボタンをクリックします。
今回、Snowflakeを利用することになるため、エンジンとして「Snowflake」を利用可能です。Snowflakeで実行可能な場合は、デフォルトでSnowflakeが選択されているため、このままRun Jobボタンを押します。
クリックしてしばらく待つと、JobがCompleteします。
結果について(Snowflake)
さて、Snowflake側を見てみましょう。
Snowsightの画面に移り、メニューの「Activity」の「Query History」を見てみると、大量のSQL文とともにJobが実行されています。
それでは実際にテーブルを見てみましょう。「Data」タブに入ると、以下のように無事にテーブルができていることが確認できます。
一方で、テーブル定義を見てみると、VARCHAR(3)などとなっており、データとして持っている値がギリギリ格納できる数値になっています。
将来的にこのテーブルだとデータが扱いにくいと思いますので、VARCHARのサイズなどを調整したほうが良いかと思います。そのような場合はDesigner Cloudからは何もできないため、Snowflake側で調整が必要になります。
テーブル定義の右上にある「Open in Worksheets」ボタンをクリックしてみましょう。
これにより、このテーブル定義を作成するSQL文をワークシートで開くことができます。
あとは、ここで定義を書き換えてみましょう。例えば、「String」「WString」というフィールドの文字列のサイズを255文字に設定したいと思います。
こんな感じで数字の3とか5とか入っていたところを書き換えるだけです。
このままSQLを実行しましょう。Ctrl+Enterでカーソルのある場所のSQL文を実行します(もしくは右上の実行ボタンを押します)。
なお、これを実行すると、データベースの中身が消えるので注意してください!(消えてしまったら、タイムトラベルで元に戻すことができます)。
実際にテーブル定義を見ると、以下のように書き換わります。
テーブルを作るのに、上のようなSQL文を作るのも面倒なので、Designer Cloudでとりあえずテーブルの雛形だけ作って、その後に細かいところをSQLで調整、というのも一つのやり方ではないかと思います。
なお、中身を消したくない場合は、以下のようにALTERコマンドで行う必要があります。
ALTER TABLE TEST_AK.PUBLIC.TEST_DESIGNERCLOUD ALTER "String" SET DATA TYPE VARCHAR(255);
ALTER TABLE TEST_AK.PUBLIC.TEST_DESIGNERCLOUD ALTER "WString" SET DATA TYPE VARCHAR(255);
なお、文字数を縮めるようなことはできないので、ご注意ください。
まとめ
- Alteryx Designer CloudでSnowflakeのテーブルを作成することができました
- 作成したテーブルは、文字列のサイズなどが、持っていたデータギリギリに設定されているので調整が必要になります(意図したサイズでデータを持っていれば必要ありません)
- テーブルの細かい設定は、テーブル定義を開いて簡単に書き換えることができます(中身のデータは消去されるので気をつけましょう)