私のデータ処理の一般的なパターンは、いくつかの列のセットでグループ化し、フィルターを適用してから、再びフラット化することです。例えば:
my_data_grouped = group my_data by some_column;
my_data_grouped = filter my_data_grouped by <some expression>;
my_data = foreach my_data_grouped flatten(my_data);
ここでの問題は、my_data
この操作の後に (c1、c2、c3) のようなスキーマで開始すると、(mydata::c1、mydata::c2、mydata::c3) のようなスキーマになることです。列が一意の場合、「mydata::」プレフィックスを簡単に取り除く方法はありますか?
私はこのようなことができることを知っています:
my_data = foreach my_data generate c1 as c1, c2 as c2, c3 as c3;
ただし、多数の列を含むデータ セットの場合、これは厄介で維持が難しくなり、可変列を含むデータ セットの場合は不可能です。