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.
Usługa Lakehouse obsługuje tworzenie schematów niestandardowych. Schematy umożliwiają grupowanie tabel w celu lepszego odnajdywania danych, kontroli dostępu i nie tylko.
Tworzenie schematu lakehouse
Aby włączyć obsługę schematu dla Lakehouse, zachowaj pole obok Lakehouse schemas zaznaczone podczas jego tworzenia.
Uwaga / Notatka
Jeśli wolisz utworzyć lakehouse bez obsługi schematu, możesz usunąć zaznaczenie pola wyboru.
Po utworzeniu magazynu typu lakehouse można znaleźć domyślny schemat o nazwie dbo w sekcji Tabele. Ten schemat jest zawsze dostępny i nie można go zmienić ani usunąć. Aby utworzyć nowy schemat, umieść kursor nad tabelami, wybierz pozycję ..., a następnie wybierz pozycję Nowy schemat. Wprowadź nazwę schematu i wybierz pozycję Utwórz. Schemat jest wyświetlany w obszarze Tabele w kolejności alfabetycznej.
Przechowywanie tabel w ramach schematów lakehouse
Do przechowywania tabeli w schemacie potrzebna jest nazwa schematu. W przeciwnym razie przechodzi do domyślnego schematu dbo .
df.write.mode("Overwrite").saveAsTable("contoso.sales")
Eksplorator usługi Lakehouse umożliwia rozmieszczenie tabel i przeciąganie i upuszczanie nazw tabel do różnych schematów.
Uwaga
Jeśli zmodyfikujesz tabelę, musisz również zaktualizować powiązane elementy, takie jak kod notesu lub przepływy danych, aby upewnić się, że są one dopasowane do poprawnego schematu.
Przenieś wiele tabel ze skrótem schematu
Aby odwołać się do wielu tabel różnicowych z innej usługi Fabric Lakehouse lub magazynu zewnętrznego, użyj skrótu schematu, który wyświetla wszystkie tabele w wybranym schemacie lub folderze. Wszelkie zmiany w tabelach w lokalizacji źródłowej również są wyświetlane w schemacie. Aby utworzyć skrót schematu, umieść kursor nad tabelami, wybierz pozycję ..., a następnie wybierz pozycję Nowy skrót schematu. Następnie wybierz schemat w innym magazynie typu lakehouse lub folder z tabelami delty w magazynie zewnętrznym, takimi jak Azure Data Lake Storage (ADLS) Gen2. Spowoduje to utworzenie nowego schematu z przywołynymi tabelami.
Uzyskiwanie dostępu do schematów usługi Lakehouse na potrzeby raportowania usługi Power BI
Aby utworzyć model semantyczny, wystarczy wybrać tabele, których chcesz użyć. Tabele mogą znajdować się w różnych schematach. Jeśli tabele z różnych schematów mają taką samą nazwę, numery są wyświetlane obok nazw tabel w widoku modelu.
Schematy usługi Lakehouse w notesie
Po zapoznaniu się ze schematem z włączoną usługą Lakehouse w eksploratorze obiektów notesu tabele znajdują się w schematach. Tabelę można przeciągać i upuszczać do komórki kodu i pobierać fragment kodu odwołujący się do schematu, w którym znajduje się tabela. Użyj tego namespace, aby odwołać się do tabel w kodzie: "workspace.lakehouse.schema.table". Jeśli pominiesz którykolwiek z elementów, wykonawca używa ustawienia domyślnego. Jeśli na przykład podasz nazwę tabeli, używa domyślnego schematu (dbo) z domyślnego lakehouse w notesie.
Ważne
Jeśli chcesz używać schematów w kodzie, upewnij się, że domyślny lakehouse dla danego notesu ma włączone schematy lub nie wybrano domyślnego lakehouse.
Zapytania Spark SQL między obszarami roboczymi
Użyj przestrzeni nazw "workspace.lakehouse.schema.table", aby odwołać się do tabel w kodzie. W ten sposób można łączyć tabele z różnych obszarów roboczych, jeśli użytkownik, który uruchamia kod, ma uprawnienia dostępu do tabel.
SELECT *
FROM operations.hr.hrm.employees as employees
INNER JOIN global.corporate.company.departments as departments
ON employees.deptno = departments.deptno;
Odwoływanie się do jezior nonschema
Po ustawieniu typu lakehouse z obsługą schematu lub braku usługi Lakehouse jako domyślnej w notesie kod platformy Spark używa odwołań z obsługą schematu dla tabel. Jednak nadal można uzyskiwać dostęp do lakehouse'ów bez włączonych schematów w tym samym kodzie, odwołując się do nich jako "lakehouse.table".
Ponadto można łączyć tabele z różnych typów jezior.
SELECT *
FROM workspace.schemalh.schema.table as schematable
INNER JOIN workspace.nonschemalh.table as nonschematable
ON schematable.id = nonschematable.id;
Aby ułatwić przejście i refaktoryzowanie istniejącego kodu do magazynów typu lakehouse z obsługą schematów, czteroczęściowe nazewnictwo jest obsługiwane w przypadku magazynów typu lakehouse bez schematów. Możesz odwoływać się do tabel jako "workspace.lakehouse.dbo.table", gdzie "dbo" służy jako nazwa schematu, mimo że nie istnieje jeszcze w lakehouse, w którym nie jest włączona obsługa schematów. Takie podejście umożliwia aktualizowanie kodu bez przestojów przed włączeniem obsługi schematu w magazynach typu lakehouseów.
Interfejs API dla schematów Lakehouse
Aby utworzyć usługę Lakehouse ze schematami, użyj interfejsu API REST Create Lakehouse i określ wartość "enableSchemas": true w żądaniu creationPayload. Aby wyświetlić listę tabel, schematów lub uzyskać szczegóły tabeli, użyj API tabel OneLake dla Delta.
Włączanie schematów dla istniejących lakehouse'ów
Nadal obsługujemy jeziora nonschema i pracujemy nad pełną parzystością cech między obydwoma typami. Pełna interoperacyjność w Spark jest również obsługiwana, umożliwiając wykonywanie zapytań i łączenie różnych typów lakehouse'ów. Wkrótce wprowadzimy narzędzia, które pomogą klientom przejść z wersji lakehouse bez schematu do wersji z obsługą schematu, co pozwoli na korzystanie z ulepszonych funkcji bez potrzeby przenoszenia danych ani doświadczania przestoju.
Bieżące ograniczenia
Nadal istnieją pewne ograniczenia dotyczące magazynów typu lakehouse z obsługą schematu na platformie Spark, które będą wdrażane w najbliższych miesiącach.
| Nieobsługiwane cechy/funkcjonalność | Rozwiązanie |
|---|---|
| Widoki Spark | Użyj widoków jeziora Materizlized. |
| Wspólny dom nad jeziorem | Utwórz skróty w usłudze Lakehouse z rolą obszaru roboczego, aby udostępnić tabele lakehouse i uzyskiwać do nich dostęp za pomocą skrótów. |
| Zewnętrzne tabele usługi ADLS | Użyj skrótów OneLake. |
| Ochrona dostępu wychodzącego | W przypadku scenariuszy obejmujących uzyskiwanie dostępu do składowisk danych z różnych obszarów roboczych przy użyciu poleceń Spark SQL należy używać składowisk danych bez schematów. |