2016-07-11 8 views
2

私たちがパイプライン内で作成するアクティビティには、出力データセットが必要です。これは、アクティビティが「HDInsightHive」タイプの場合、純粋に構文ルールと考えられます。とにかく、実際の出力先はHQLクエリ自体によって決定されるためです。たとえば、この例では、HQLクエリは特定のテーブルから行を選択し、他の外部テーブルに行を挿入しています。最終的には、出力がどこに行くかを決定するのはHQLです。宛先テーブルの名前がHQL自体(INSERT OVERWRITE tablename ..)に表示されています。その場合、アクティビティ内で定義された出力データセットは、そのためにそこに存在しなければならない構文上の接着剤としてのみ機能するように見えます。あれは正しいですか?出力データセットはHDInsightHiveタイプのアクティビティにとって本当に重要ですか?

答えて

2

USQLクエリの場合と同様に、データがHQLクエリに格納される場所を定義することも可能です。出力データセットの主な機能は、出力を別のアクティビティにパイプすることができることです。出力データセットを定義しなかった場合、またはHQLスクリプトが出力を置く場所と一致しないフォルダで定義した場合、そのデータセットを別のアクティビティへの入力として使用することはできません。すべてのパイプラインが常にHQLアクティビティで終了し、それ以降何もする必要がなければ、出力データセットが不要なように見えます。

HTH

関連する問題