私は、約200のハイブの寄木張りテーブルを必要とするユースケースを持っています。 これらの寄木細工テーブルをフラットテキストファイルから読み込む必要があります。しかし、私たちはフラットテキストファイルから直接寄木張りテーブルを読み込むことはできません。 次のアプローチを使用していますハイブテーブルの作成と削除の繰り返しの影響
- 一時的な管理対象テキストテーブルを作成しました。
- テキストデータを含む一時テーブルをロードしました。
- 作成された外部寄木細工テーブル。
- 選択クエリを使用して、テキストテーブルを含む寄木細工テーブルを読み込みました。
- テンポラリテキストテーブルのテキストファイルをドロップします(しかし、メタストア内にテーブルを保持します)。
このアプローチでは、一時的なメタデータ(200個のテーブル用)をメタストアに保持しているためです。だから私は2番目のアプローチは、hdfsからのテキストファイルと一緒に一時的なテキストテーブルをドロップするということです。そして、次回は一時テーブルを再作成して、寄木細工が作成されたら削除します。
2時間ごとに200個のテーブルすべてに対して上記の手順を実行する必要があるため、メタストアからテーブルを作成して削除すると、運用中のクラスタに何か影響がありますか?
一時的なメタデータをメタストアに保存し、ハイブメタストアからテーブル(メタデータ)を作成および削除することは、どのような方法で生産に影響を与えることができますか?
* "フラットテキストファイルから寄木張りテーブルを直接読み込むことはできません" * - 本当ですか?あなたは何を信じさせるのですか? ExtTextからの入力テキストとINSERT INTO Parquet SELECTをマップするEXTERNALテーブルを作成することはできませんか? –
サイドノート:私は今、厄介なLOAD命令の実装がFBからの悪い設計選択であると完全に確信しています。アマチュアはHDFSからハイブにデータを「ロード」する必要があると考えていますが、実際にはハイヴはHDFSにすべてのデータを格納しています。 –
ご連絡ありがとうございますSamsonありがとうございます。 _ "入力テキストとINSERT INTOの間接選択からExtTextをマップするEXTERNALテーブルを作成することはできませんか?" _ - これは、1から5までのポイントで述べたのと同じことです。あなたが最初にテキストテーブルを作成する必要があるテキストファイルから寄木張りテーブルをロードするだけで、あなたは寄木張りテーブルを読み込むことができます。毎回テンポラリ・テキスト・テーブルを作成することは良い考えです。今のところ私はこれのための何かの選択肢を見ないので。 他のアイデアを共有できれば幸いです。 –