私はusqlスクリプトを動的に生成して、テーブルスキーマを読み込みます。私は既存のtsvファイルをデータ・レイク・ストアに置いており、新しいデータをそれらの既存のtsvファイルに追加する必要があります。 しかし、usqlスクリプトを生成すると、テーブルスキーマが変更され、追加のカラムが追加されることがあります。デフォルト値の列 - usql
私の知る限り、tsvファイルのusqlスクリプトと同じ数の列を持つ必要があります。 これらの新しく追加された列をいくつかのデフォルト値にすることは可能ですか?例えば、
@Result = EXTRACT id string,
firstname string,
lastname string,
department string = "",
emp_id int = 0
FROM @inputfile
USING Extractors.Tsv();
ご覧のとおり、departmentとemp_idの列が新しく追加されました。出力ファイルにいくつかのデフォルト値を挿入したいと思います。 列がすでにtsvに存在する場合は、列の値を取得し、それ以外の場合はデフォルト値を挿入します。
ありがとうございました。
削除列シナリオを処理する方法はありますか? 既存のtsvファイルには5つの列があり、新しいtsvには4つの列があります。現在、既存のtsvファイルにデータを追加するとき、結果のファイルには4つの列しかないはずです。 – Lokesh
新しい質問としてこれを聞かれますか?これにより、後で簡単に見つけることができます。 –
私はそれに対する回避策を得ました。両方のファイルの結果セットを別々の変数とOUTER UNIONで取得します。最終結果変数に必要な列だけを出力して出力します。 – Lokesh