外部テーブルにデータがあります。現在、外部テーブルからデータベース内の新しく作成されたテーブルにデータをコピーしています。データベース内のテーブルはどのようなテーブルになりますか? 管理対象テーブルですか、それとも外部テーブルですか? この質問の背後にある概念を理解するためにあなたの助けが必要です
ありがとう、マダンモハンS
外部テーブルにデータがあります。現在、外部テーブルからデータベース内の新しく作成されたテーブルにデータをコピーしています。データベース内のテーブルはどのようなテーブルになりますか? 管理対象テーブルですか、それとも外部テーブルですか? この質問の背後にある概念を理解するためにあなたの助けが必要です
ありがとう、マダンモハンS
ハイブ テーブルは、データが挿入されたときではなく、作成時に「管理対象」または「外部」のタイプを取得します。
したがって、従業員テーブルは外部です (DDL で「外部の作成」を使用して作成され、データ ファイルの場所が提供されたためです。
「外部」が DDL で使用されておらず、データの場所も必要なかったため、emp は管理テーブルです。
現在の違いは、テーブルの従業員が「場所」で提供された読み取り中のデータを削除した場合、削除されないことです。したがって、外部テーブルは、データが複数のツール、つまり豚によって読み取られている場合に役立ちます。pig スクリプトが同じ場所を読み取っている場合、employees テーブルが削除されても機能します。
ただし、emp は管理されている (つまり、メタデータとデータの両方がハイブによって管理されている) ため、emp が削除されると、データも削除されます。したがって、ドロップした後、ハイブ ウェアハウス ディレクトリを確認すると、"emp" hdfs ディレクトリが見つからなくなります。