MSCK REPAIR TABLE
Återställer alla partitioner i katalogen i en tabell och uppdaterar Hive-metaarkiv. När du skapar en tabell med hjälp av en PARTITIONED BY
sats skapas och registreras partitionerna i Hive-metaarkiv. Men om den partitionerade tabellen skapas från befintliga data, registreras inte partitionerna automatiskt i Hive-metaarkiv. Du måste köra MSCK REPAIR TABLE
för att registrera partitionerna. MSCK REPAIR TABLE
en icke-befintlig tabell eller en tabell utan partitioner genererar ett undantag. Ett annat sätt att återställa partitioner är att använda ALTER TABLE RECOVER PARTITIONS
.
Syntax
MSCK REPAIR TABLE table_identifier
Parametrar
table_identifier
Namnet på den tabell som ska repare ras. Tabell namnet kan eventuellt kvalificeras med ett databas namn.
Syntax:
[database_name.] table_name
Exempel
-- create a partitioned table from existing data /tmp/namesAndAges.parquet
CREATE TABLE t1 (name STRING, age INT) USING parquet PARTITIONED BY (age)
LOCATION "/tmp/namesAndAges.parquet";
-- SELECT * FROM t1 does not return results
SELECT * FROM t1;
-- run MSCK REPAIR TABLE to recovers all the partitions
MSCK REPAIR TABLE t1;
-- SELECT * FROM t1 returns results
SELECT * FROM t1;
+-------+---+
| name|age|
+-------+---+
|Michael| 20|
+-------+---+
| Justin| 19|
+-------+---+
| Andy| 30|
+-------+---+