私のディレクトリ構造は次のとおりです。ハイブのパーティションの後にサブフォルダを処理します
- /data/year=/month=/day=/source1/abc.log
- /data/year=/month=/day=/source2/def.log
- /データ/年=/month =/day =/source3/xyz.log
私は、年、月、日のパーティションを持つハイブテーブルを作成したかったのですが、MSCKを実行しようとしたときにサブフォルダ 'source1'修復表。
CREATE EXTERNAL TABLE SAMPLE ( col1 STRING, col2 STRING ) PARTITIONED BY (year STRING, month STRING, date STRING) STORED as ORC Location "s3n://blah/data/" TBLPROPERTIES ("orc.compress"="SNAPPY");
MSCKの修復表は、 "予期しないコンポーネントのソース1" を与えるtable文を作成します。ファイルを移動させずに外部テーブルを作成する方法ご協力いただきありがとうございます。
ご返信ありがとうございます。スキップは機能しませんでしたが、無視されました。修正を見つけるためにハイブのソースを調べなければなりませんでした.DDLTask.java、method = msckを参照してください。私はそれに答えることができるようにあなたの答えを編集してください – kamoor
素晴らしい!私の答えを編集:) – Aditya