Designer Cloudで出ているエラーの原因を、SnowflakeのSQL履歴を見て要因を探る方法をご紹介します
Alteyrx Designer Cloudで、Snowflakeに設定した文字長より長い文字列を入力した時の挙動を確認してみたいと思います。
前提
Snowflake
まず、Snowflake側の設定です。以下のような定義のテーブルになっています。
Designer Cloud
Designer Cloud側は、ワークフローは単純なワークフローです。
入力するデータは以下のようになっています。
つまり、今回はC列(「String」)にはVARCHARで3文字しか入らないところ、5文字格納しようとしています。これに気づかず、Designer Cloudでワークフローを実行してみるとどうなるでしょうか?
わざとエラーを起こしてみる
Designer CloudでRun Job後、しばらくすると以下のようにエラーメッセージが出てきます。
それでは、Designer Cloud上のOutput Dataツールを見てみましょう。
Jobのところに赤いビックリマークがついています。やはりJobは失敗していそうです。
しかし、Designer Cloud単体ではこれ以上のメッセージが出ておらず、何がおかしいのか気づきにくいです。このような時は、SnowflakeのSQLを見てみることでより詳細な状況がわかります。
SnowflakeのQuery Historyで問い合わせ失敗の原因を探る
SnowflakeのSnowsightに移り、Query Historyを見てみましょう。スクロールすると、STATUSがFailedになっているレコードがいくつか発見できます。
上側のレコードのFailedを見てみると、以下のようになっています。
下の方に「String 'XXXXX' is too long and would be truncated」と出ています。つまり文字列が長すぎる、ということです。このような場合は、データベース側の定義を見直すか、入力データをデータベースにあった適正なフォーマットにして保存しましょう。
まとめ
このように、Designer Cloudのエラーメッセージでわかりにくいような場合は、Snowflake側のSQL履歴を見ることで原因を簡単に発見することができます。うまくSnowflake側も使いながらDesigner Cloudを活用していきましょう!
※Designer Cloud、Snowflakeともには2023/8/21時点の情報です