Snowflakeでスキーマに半角カッコを持つ列の読み込みでエラーが発生する。

希
Partner, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 21 Partner

以下のように半角カッコを持つスキーマを読み込んだ際の挙動に関する質問です。

Dataikuに読み込むと以下の図のように半角カッコがアンダースコアに自動変換されます。

ただし、この状態で読み込むと列名の対応で以下のエラーが発生します。

アンダースコアを半角カッコに手動で変更すると読み込むことができますが、データ更新時に再度スキーマの設定がアンダースコアに戻り、同様の設定が必要になるという状況です。

やりたいこととしては、

・半角カッコを含むスキーマを持つデータセットを読み込む。

・データ更新時も適切に動作する。

です。最終的なアウトプットの列名は半角カッコに戻す必要が有りますが、それまでの中間出力についてはアンダースコアのまま読み込んで処理することも可能です。

ご教示お願いいたします。

Best Answer

  • Tsuyoshi
    Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 144 Dataiker
    edited December 13 Answer ✓

    こちらのリンクの回答に記載のように、「半角カッコを含むカラムには対応していない」というのが現時点の回答となってしまいます。そこで、現時点で考えられる回避策としましては、以下いずれかの方法になります。

    方法1. DB側で半角カッコを含まないようにカラム名を変更する。

    方法2. Dataiku側でSQLレシピ等を利用してViewを作成し、半角カッコを含まないようにカラム名を変更する。このViewに対して接続して、一連の中間処理を実行する。Viewの作成は、例えば以下のようなイメージです。

    CREATE OR REPLACE VIEW my_view AS
    SELECT
    col1,
    col2::VARCHAR AS renamed_col2,
    col3
    FROM original_table;

Setup Info
    Tags
      Help me…