Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Databricks Runtime
To polecenie naprawia lub modyfikuje partycje dla tabel.
SYNC METADATA Użyj klauzuli z usługą Delta Lake, aby zaktualizować usługę wykazu na podstawie metadanych tabeli lub wygenerować metadane platformy Apache Iceberg dla tabel z włączoną obsługą odczytów w górach lodowych. Nie należy używać SYNC METADATA podczas modyfikowania partycji dla tabel nienależących do usługi Delta Lake.
Obsługiwana funkcjonalność zależy od tego, czy tabele są zarejestrowane w Unity Catalog lub w metastore Hive oraz czy są oparte na Delta Lake.
Syntax
[ MSCK ] REPAIR TABLE table_name
{
[ {ADD | DROP | SYNC} PARTITIONS] | SYNC METADATA
}
Aby sprawdzić zaznaczenie "tak" w Databricks SQL i Databricks Runtime 12.2 LTS i nowszych,
jest opcjonalny.
Parameters
-
Nazwa tabeli. Jeśli nie można odnaleźć tabeli usługi Azure Databricks, wystąpi błąd TABLE_OR_VIEW_NOT_FOUND .
ADDlub lubDROPSYNCPARTITIONSDotyczy:
Databricks SQL
Databricks Runtime 10.4 LTS i nowszychPodczas tworzenia tabeli innej niż delta przy użyciu klauzuli
PARTITIONED BYpartycje są generowane i rejestrowane w magazynie metadanych Hive. Jeśli jednak tworzysz tabelę partycjonowaną na podstawie istniejących danych, partycje nie są automatycznie rejestrowane w magazynie metadanych Hive. Uruchom polecenieMSCK REPAIR TABLE, aby zarejestrować partycje.Innym sposobem na odzyskanie partycji jest użycie ALTER TABLE funkcji ODZYSKAJ PARTYCJE.
Jeśli tabela jest buforowana, polecenie czyści buforowane dane tabeli i wszystkie zależności, które się do niej odwołują. Pamięć podręczna zostanie wypełniona przy następnym uzyskaniu dostępu do tabeli lub zależności.
- Polecenie ADD dodaje nowe partycje do katalogu sesji dla wszystkich podfolderów w folderze tabeli podstawowej, które nie należą do żadnych partycji tabeli. FUNKCJA ADD jest argumentem domyślnym, jeśli nie określono żadnej innego opcji.
- Polecenie DROP usuwa wszystkie partycje z katalogu sesji, które mają nieistniejące lokalizacje w systemie plików.
- SYNC jest kombinacją DROP i ADD.
SYNC METADATATylko Delta Lake.
Jeśli konfiguracja
spark.databricks.delta.catalog.update.enabledjest ustawiona natrue, aktualizacje metadanych tabeli docelowej są automatycznie synchronizowane z usługą wykazu. W przeciwnym razie może być wymagana ręczna synchronizacja za pomocąREPAIR TABLE table_name SYNC METADATA.Odczytuje dziennik transakcji tabeli docelowej i aktualizuje informacje o metadanych w usłudze katalogu. Aby uruchomić to polecenie, musisz mieć uprawnienia MODIFY i SELECT w tabeli docelowej oraz uprawnienia USE SCHEMA i USE CATALOG w nadrzędnym schemacie i wykazie.
Ten argument działa z magazynem metadanych Hive w środowisku Databricks Runtime 16.1 lub nowszym. W przypadku tabel magazynu metadanych Hive musisz mieć uprawnienia USAGE i MODIFY.
Jeśli Delta UniForm jest włączona (wymaga Unity Catalog),
SYNC METADATAwyzwala ręczną konwersję bieżących metadanych Delta do metadanych Iceberg i synchronizuje najnowszą wersję Iceberg dla punktu końcowego Iceberg w Unity Catalog. Zobacz Odczytywanie tabel Delta przez klientów Iceberg.Można użyć
REPAIR TABLE table_name SYNC METADATA, aby zastosować model uprawnień Unity Catalog do płytkich klonów odczytywanych z obcego katalogu, który został utworzony przy użyciu federacji metastore Hive. Zobacz Praca z płytkimi klonami.
Przykłady (tabele niebędące tabelami Delta Lake)
-- 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
Przykład (tabela Unity Catalog)
-- run MSCK REPAIR TABLE t1 SYNC METADATA to update the metadata info to Unity Catalog service
> MSCK REPAIR TABLE t1 SYNC METADATA