Pig UDFの大文字と小文字は区別されます。しかし、Flattenを "FLATTEN"または "flatten"として使用したとき、それは動作しています。つまり、flattenはUDFではありません。どうして ?なぜPIGのUDFではなく「平坦化」されていますか?
1
A
答えて
1
FLATTEN演算子は構文的にはUDFのように見えますが、実際はUDFではできない方法でタプルとバッグの構造を変更する演算子です。アンネストのタプルとバッグを平坦にします。考え方は同じですが、操作と結果は構造の種類ごとに異なります。
タプルの場合、flattenは、タプルの代わりにタプルのフィールドを置き換えます。たとえば、(a、(b、c))という形のタプルを持つ関係を考えてみましょう。式GENERATE $ 0、flatten($ 1)は、そのタプルを(a、b、c)にします。
バッグの場合、状況はより複雑になります。バッグを外したら、新しいタプルを作成します。 ({(b、c)、(d、e)}の形式のタプルで構成された関係があり、GENERATE flatten($ 0)を適用すると、2つのタプル(b、c)と(d、e)。バッグ内で一定レベルのネスティングを取り除くと、クロス商品が発生することがあります。例えば、GROUP演算子によって一般的に生成される(a、{(b、c)、(d、e)})のタプルを持つ関係を考えてみましょう。このタプルにGENERATE $ 0、flatten($ 1)という式を適用すると、(a、b、c)と(a、d、e)の新しいタプルが作成されます。
さらに詳しい情報がありますlink
関連する問題
- 1. tf.gather_ndの形状を「平坦化」しないでください。
- 2. なぜjQuery.getJSON()はJavaScriptの辞書を平坦化していますか?
- 3. Array.prototype.join()は深さの配列を平坦化するのはなぜですか?
- 4. イメージを平坦化した後、Dockerイメージのサイズが小さくなるのはなぜですか?
- 5. 平坦化ネストされたObservables.subscribe
- 6. 任意のネストされたコーデックを平坦化しますか?
- 7. PIG UDFでのデバッグ
- 8. ImageMagickを使用して、PSDをアルファで平坦化すると、なぜハローが得られますか?
- 9. 平坦化カスタム・ディメンション
- 10. TSpeedButtonを平坦化しますか?
- 11. Javascript関数が配列を正しく平坦化していない
- 12. なぜブーストはひどくテンプレート化されていますか?
- 13. スキーム - リスト内のペアを「平坦化」しない方法は?
- 14. DataMatrixのDataMatrixの平坦化
- 15. テンソルフローのバッチを平坦化
- 16. なぜPythonはゼロインデックス化されていないのですか?
- 17. この配列を平坦化する簡単な方法は?
- 18. 奇妙な形の "テーブル"からのデータの平坦化
- 19. は、ネストされたJSONを平坦化[B]のPostgres
- 20. ネストされたObservablesをAngular 2で平坦化する方法
- 21. Javascript/Typescript:Firebase経由でアクセスされたオブジェクトを平坦化する
- 22. 非平坦化されたフォームと同等のswitchMapとは何ですか?
- 23. 単純な配列を再帰的なラムダ関数で平坦化しない
- 24. プロローグで平坦化 - 他のようなもの
- 25. 平坦化LINQのグループは、クエリ
- 26. Cで配列を平坦化する
- 27. WPFでTreeViewを平坦化する
- 28. AutoMapperと入れ子にされた配列の平坦化
- 29. 部分リストPythonでの平坦化
- 30. ActiveRecord、1つのフィールド(IDではない)と結果の配列を平坦化