時間の経過とともにスキーマが追加されるデータのアーカイブに対してカスケードを使用する方法を理解しようとしています。添加剤とは、たとえば3列から始まるという意味です。次のリリースでは、5つの列が含まれる可能性があります。これらの列は、標準のCSVレイアウトに従います。私の理解では、スキーマを5列の長さに指定し、古いスキーマが3列しかない場合、カスケードは失敗します。
欠落している列を埋めるようにカスケードに指示する方法はありますか?デフォルトのように=null?
区切られたテキストの場合、スキーム用の特別なコンストラクターがあることがわかります。ここでのコンストラクターであるCascadingJavaDocは、解析の厳密さを調整できると言っています。strictがfalseであると言う場合、Cascadingは最後にnullを追加してデータをロードします。カスケードユーザーグループでこれを行う方法について2つのスレッドがあるため、これに関する混乱は理解できるようです。
スキーマをハードコーディングする代わりに、構成主導型にすることができます。
つまり、プロパティファイル/xmlファイルで列リストを定義できます。
そのため、コードを頻繁に変更する必要はありません。
元:
列:cloumn1、column2、column3
その文字列配列をFieldsコンストラクターに直接渡すことができます。
実際、私は現在のプロジェクトでこれを正常に実装しました。