【Alteryx Analytics Cloud】Alteryx Designer CloudでSnowflakeのテーブルを作成する

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のテーブルを作成することができました
  • 作成したテーブルは、文字列のサイズなどが、持っていたデータギリギリに設定されているので調整が必要になります(意図したサイズでデータを持っていれば必要ありません)
  • テーブルの細かい設定は、テーブル定義を開いて簡単に書き換えることができます(中身のデータは消去されるので気をつけましょう)

 

おすすめの記事