.disable | .enable materialized-view
Wyłącza lub włącza proces materializacji dla zmaterializowanego widoku.
Uwaga
Ponieważ istnieją pewne ważne implikacje dotyczące wydajności związane z wyłączaniem/włączaniem zmaterializowanego widoku, przed kontynuowaniem korzystania z tego polecenia upewnij się, że zapoznasz się z nimi. Aby uzyskać więcej informacji, zobacz sekcję Wpływ na wydajność włączania/wyłączania zmaterializowanych widoków .
Uprawnienia
Aby uruchomić te polecenia, musisz mieć co najmniej zmaterializowany widok Administracja.
Składnia
.enable
| disable
materialized-view
MaterializedViewName
Dowiedz się więcej o konwencjach składniowych.
Parametry
Nazwa | Typ | Wymagane | Opis |
---|---|---|---|
MaterializedViewName | string |
✔️ | Nazwa zmaterializowanego widoku. |
Zwraca
Jeśli zmaterializowany widok jest już w stanie, w którym polecenie próbuje go ustawić, polecenie kończy się niepowodzeniem z powodu błędu wskazującego, że tak jest.
W przeciwnym razie zwraca szczegóły dotyczące zmaterializowanego widoku, którego właściwość IsEnabled została zmieniona.
Schemat wyjściowy:
Nazwa | Typ | Opis |
---|---|---|
Nazwa | string |
Nazwa zmaterializowanego widoku. |
Sourcetable | string |
Nazwa tabeli źródłowej, w której jest zdefiniowany widok. |
Zapytanie | string |
Definicja zapytania zmaterializowanego widoku. |
Zmaterializowane do | datetime |
Maksymalna zmaterializowana sygnatura czasowa ingestion_time() w tabeli źródłowej. Aby uzyskać więcej informacji, zobacz, jak działają zmaterializowane widoki. |
LastRun | datetime |
Czas ostatniego uruchomienia materializacji. |
LastRunResult | string |
Wynik ostatniego uruchomienia. Zwraca wartość Completed dla przebiegów zakończonych powodzeniem, w przeciwnym razie Failed . |
IsHealthy | bool |
true gdy widok jest uznawany za w dobrej kondycji, false w przeciwnym razie. Widok jest uważany za w dobrej kondycji, jeśli został pomyślnie zmaterializowany do ostatniej godziny (MaterializedTo jest większy niż ago(1h) ). |
IsEnabled | bool |
true po włączeniu widoku (zobacz Wyłączanie lub włączanie zmaterializowanego widoku). |
Folder | string |
Folder, w którym jest tworzony zmaterializowany widok. |
DocString | string |
Opis przypisany do zmaterializowanego widoku. |
AutoUpdateSchema | bool |
Określa, czy widok jest włączony dla aktualizacji automatycznych. |
EffectiveDateTime | datetime |
Data wejścia w życie widoku określona w czasie tworzenia (zobacz .create materialized-view ). |
Lookback | timespan |
Przedział czasu ograniczający okres, w którym oczekiwane są duplikaty. |
Przykłady
Włączanie zmaterializowanego widoku
Następujące polecenie umożliwia zmaterializowany widok ViewName:
.enable materialized-view ViewName
Dane wyjściowe
Nazwa | Sourcetable | Zapytanie | Zmaterializowane do | LastRun | LastRunResult | IsHealthy | IsEnabled | Folder | DocString | AutoUpdateSchema | EffectiveDateTime | Lookback |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Viewname | TableName | TableName | summarize arg_max(Column3, *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Ukończone | true | true | fałsz | 2023-02-23T14:01:42.5172342Z |
Wyłączanie zmaterializowanego widoku
Następujące polecenie wyłącza zmaterializowany widok ViewName:
.disable materialized-view ViewName
Dane wyjściowe
Nazwa | Sourcetable | Zapytanie | Zmaterializowane do | LastRun | LastRunResult | IsHealthy | IsEnabled | Folder | DocString | AutoUpdateSchema | EffectiveDateTime | Lookback |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Viewname | TableName | TableName | summarize arg_max(Column3, *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Ukończone | true | fałsz | fałsz | 2023-02-23T14:01:42.5172342Z |
Uwagi
Wyłączanie zmaterializowanych widoków
Zmaterializowany widok można wyłączyć w dowolny z następujących sposobów:
- Automatyczne wyłączenie przez system: Zmaterializowany widok jest automatycznie wyłączony, jeśli materializacja zakończy się niepowodzeniem z powodu trwałego błędu. Ten proces może wystąpić w następujących wystąpieniach:
- Zmiany schematu, które są niespójne z definicją widoku.
- Zmiany w tabeli źródłowej, które powodują, że zmaterializowane zapytanie widoku jest semantycznie nieprawidłowe.
- Jawnie wyłącz zmaterializowany widok: Jeśli zmaterializowany widok negatywnie wpływa na kondycję klastra (na przykład zużywa zbyt dużo procesora CPU), wyłącz widok przy użyciu
.disable materialized-view
polecenia .
Zmaterializowane widoki i zabezpieczenia na poziomie wiersza
Jeśli zmaterializowany widok jest wyłączony, a widok jest wyłączony, ktoś definiuje zasady zabezpieczeń na poziomie wiersza w tabeli źródłowej widoku, ale zmaterializowany widok nie ma zdefiniowanych zasad zabezpieczeń na poziomie wiersza, włączenie widoku kończy się niepowodzeniem ze względów bezpieczeństwa. Aby wyeliminować ten błąd, możesz wykonać następujące czynności:
- Zdefiniuj zasady zabezpieczeń na poziomie wiersza w zmaterializowanym widoku.
- Wybierz, aby zignorować błąd, dodając
allowMaterializedViewsWithoutRowLevelSecurity
właściwość do polecenia włącz zasady. Na przykład:
.enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)
Wpływ na wydajność włączania/wyłączania zmaterializowanych widoków
- Gdy zmaterializowany widok zostanie wyłączony, materializowanie zostanie wstrzymane i nie będzie zużywać zasobów z klastra. Wykonywanie zapytań względem zmaterializowanego widoku jest możliwe nawet wtedy, gdy jest wyłączone, ale wydajność może być niska. Wydajność wyłączonego zmaterializowanego widoku zależy od liczby rekordów pozyskanych do tabeli źródłowej, ponieważ została wyłączona.
- Możesz włączyć zmaterializowany widok, który został wcześniej wyłączony. Po ponownym włączeniu zmaterializowany widok będzie kontynuował materializację od momentu, w którym został przerwany, a żadne rekordy nie zostaną pominięte. Jeśli widok został wyłączony przez długi czas, nadrobienie zaległości może zająć dużo czasu.
- Wyłączenie widoku jest zalecane tylko wtedy, gdy podejrzewasz, że widok ma wpływ na kondycję klastra.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla