最初の解釈の下では、歴史的な理由によるものにパーティションのハイブは、実際にそこでは、パーティションハイブの数をHDFSには、フォルダを参照してください比率と一致していない、そのようなHDFSフォルダはありません。
sparkSQLによってテーブルスパークハイブを読み込む、異常が存在することになります。
ソリューション:
ない場合1.属性外部表の属性を変更するために、表が外部表であるかどうかを確認してください。
ここでは、外部表として改正され、パーティションを削除する目的は、既存のデータを削除しないでください。必要に応じて、バックアッププロセスを作ります。
変更 テーブルのテーブル名セット tblproperties(' EXTERNAL ' = ' TRUE ');
2.異常なパーティションを削除します。
ここでは、表の途中でドロップテーブルを削除しようとしましたが、エラーを検出しました。
FAILED:実行エラー、リターンコード1 から org.apache.hadoop.hive.ql。EXEC .DDLTask。MetaException(メッセージ:無効なパーティションキー & 値、キー[ 年、月、日、時間、]、値 [ 2018、])
そこでここでは、パーティションを削除するために使用しました。
変更 テーブルのテーブル名のドロップパーティション(pk_year = 2018)。
3.パーティションの修復を再作成するために、パーティションのコマンドを使用します
MSCK修復テーブルのテーブル名;