Udostępnij za pośrednictwem


Uruchamianie zapytań federacyjnych w programie Oracle

Ważny

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Na tej stronie opisano sposób konfigurowania federacji lakehouse w celu uruchamiania zapytań federacyjnych na danych Oracle, które nie są zarządzane przez usługę Azure Databricks. Aby dowiedzieć się więcej o federacji Lakehouse, zobacz Co to jest Federacja Lakehouse?

Aby nawiązać połączenie z bazą danych Oracle przy użyciu usługi Lakehouse Federation, należy utworzyć następujące elementy w magazynie metadanych katalogu Unity usługi Azure Databricks:

  • Połączenie z bazą danych Oracle.
  • katalog obcy, który dubluje bazę danych Oracle w Unity Catalog, dzięki czemu można użyć składni zapytań Unity Catalog i narzędzi do zarządzania ładem danych, aby zarządzać dostępem użytkowników do bazy danych Azure Databricks.

Licencja

Sterownik Oracle oraz inne niezbędne pliki JAR Oracle podlegają licencji FDHUT bez wymogu akceptacji.

Przed rozpoczęciem

Przed rozpoczęciem upewnij się, że spełniasz wymagania w tej sekcji.

Wymagania dotyczące usługi Databricks

Wymagania dotyczące obszaru roboczego:

  • Obszar roboczy włączony dla Unity Catalog.

Wymagania dotyczące obliczeń:

  • Łączność sieciowa od zasobu obliczeniowego do docelowych systemów baz danych. Zobacz Zalecenia sieciowe dla Lakehouse Federation.
  • Środowisko obliczeniowe usługi Azure Databricks musi używać środowiska Databricks Runtime w wersji 16.1 lub nowszej i Standard lub Dedykowane trybu dostępu.
  • Magazyny SQL muszą być w wersji pro lub bezserwerowej i muszą używać wersji 2024.50 lub nowszej.

Wymagane uprawnienia:

  • Aby utworzyć połączenie, musisz być administratorem magazynu metadanych lub użytkownikiem z uprawnieniami CREATE CONNECTION w magazynie metadanych Unity Catalog dołączonym do obszaru roboczego.
  • Aby utworzyć katalog zewnętrzny, musisz mieć uprawnienie CREATE CATALOG w magazynie metadanych i być właścicielem połączenia lub mieć uprawnienie CREATE FOREIGN CATALOG dla połączenia.

Dodatkowe wymagania dotyczące uprawnień są określone w każdej sekcji tematycznej dotyczącej zadań.

Wymagania oracle

Tworzenie połączenia usługi Azure Databricks

Połączenie określa ścieżkę i poświadczenia dostępu do zewnętrznego systemu bazodanowego. Aby utworzyć połączenie, możesz użyć Eksploratora wykazu lub polecenia CREATE CONNECTION SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL usługi Databricks.

Notatka

Do utworzenia połączenia można również użyć interfejsu API REST usługi Databricks lub interfejsu wiersza polecenia usługi Databricks. Zobacz POST /api/2.1/unity-catalog/connections oraz polecenia w Unity Catalog.

Wymagane uprawnienia: administrator magazynu metadanych lub użytkownik z uprawnieniami CREATE CONNECTION.

Eksplorator wykazu

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę Dane.Wykaz.
  2. W okienku po lewej stronie rozwiń menu Zewnętrzne dane i wybierz pozycję Połączenia.
  3. Kliknij pozycję Utwórz połączenie.
  4. Na stronie Podstawowych informacji o połączeniu kreatora Konfigurowanie połączenia, wprowadź nazwę połączenia przyjazną dla użytkownika .
  5. Wybierz typ połączenia z Oracle .
  6. (Opcjonalnie) Dodaj komentarz.
  7. Kliknij przycisk Dalej.
  8. Na stronie Authentication wprowadź następujące informacje dla instancji Oracle:
    • Host: na przykład oracle-demo.123456.rds.amazonaws.com
    • port: na przykład 1521
    • użytkownik: na przykład oracle_user
    • hasło: na przykład password123
  9. Kliknij pozycję Utwórz połączenie.
  10. Na stronie Podstawy katalogu wprowadź nazwę katalogu obcego. Wykaz obcy odzwierciedla bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania o dostęp do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog.
  11. (Opcjonalnie) Kliknij pozycję Testuj połączenie, aby potwierdzić, że działa.
  12. Kliknij pozycję Utwórz katalog.
  13. Na stronie Access wybierz obszary robocze, w których użytkownicy mogą uzyskiwać dostęp do utworzonego katalogu. Możesz wybrać pozycję Wszystkie obszary robocze mają dostęplub kliknij Przypisz do obszarów roboczych, wybierz obszary robocze, a następnie kliknij Przypisz.
  14. Zmień właściciela , który będzie mógł zarządzać dostępem do wszystkich obiektów w katalogu. Zacznij wpisywać nazwę w polu tekstowym, a następnie kliknij nazwę w zwróconych wynikach.
  15. Nadaj uprawnienia w katalogu. Kliknij Przyznaj:
    1. Określ głównych, którzy będą mieli dostęp do obiektów w wykazie. Zacznij wpisywać nazwę w polu tekstowym, a następnie kliknij nazwę w zwróconych wynikach.
    2. Wybierz ustawienia wstępne uprawnień , które chcesz przyznać każdemu podmiotowi. Wszyscy użytkownicy konta domyślnie otrzymują BROWSE.
      • Wybierz z menu rozwijanego pozycję Czytnik danych, aby przyznać read uprawnienia do obiektów w katalogu.
      • Wybierz pozycję Edytor danych z menu rozwijanego, aby przyznać read i modify uprawnienia do obiektów w wykazie.
      • Ręcznie wybierz uprawnienia do udzielenia.
    3. Kliknij , aby przyznać.
  16. Kliknij przycisk Dalej.
  17. Na stronie Metadane określ pary klucz-wartość dla tagów. Aby uzyskać więcej informacji, zobacz Nakładanie tagów na obiekty zabezpieczalne w katalogu Unity.
  18. (Opcjonalnie) Dodaj komentarz.
  19. Kliknij Zapisz.

SQL

Uruchom następujące polecenie w notesie lub edytorze zapytań SQL usługi Databricks:

CREATE CONNECTION <connection-name> TYPE oracle
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>'
);

Databricks zaleca używanie tajemnic Azure Databricks zamiast ciągów tekstowych dla poufnych informacji, takich jak poświadczenia,. Na przykład:

CREATE CONNECTION <connection-name> TYPE oracle
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>')
)

Jeśli musisz używać ciągów w postaci zwykłego tekstu w poleceniach SQL w zeszycie, unikaj obcinania ciągu, stosując odpowiednie sekwencje escape dla znaków specjalnych, takich jak $ z \. Na przykład: \$.

Aby uzyskać informacje o konfigurowaniu tajnych danych, zobacz Zarządzanie tajnymi danymi.

Tworzenie wykazu obcego

Notatka

Jeśli używasz interfejsu użytkownika do utworzenia połączenia ze źródłem danych, uwzględnia to tworzenie katalogu zewnętrznego i możesz pominąć ten krok.

Wykaz obcy odzwierciedla bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania o dostęp do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog. Aby utworzyć wykaz obcy, należy użyć połączenia ze źródłem danych, które zostało już zdefiniowane.

Aby utworzyć wykaz obcy, możesz użyć Eksploratora wykazu lub polecenia CREATE FOREIGN CATALOG SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL. Do utworzenia katalogu można również użyć interfejsu API REST usługi Databricks lub interfejsu wiersza polecenia usługi Databricks. Zobacz POST /api/2.1/unity-catalog/catalogs i polecenia Unity Catalog.

Wymagane uprawnienia:CREATE CATALOG uprawnienie do magazynu metadanych i własność połączenia lub uprawnienia CREATE FOREIGN CATALOG w połączeniu.

Eksplorator wykazu

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę Dane.Wykaz do otwierania Eksploratora wykazu.

  2. W górnej części okienka Katalog, kliknij ikonę Dodaj lub plusDodaj i wybierz Dodaj katalog z menu.

    Alternatywnie na stronie Szybki dostęp kliknij przycisk Wykazy, a następnie kliknij przycisk Utwórz katalog.

  3. Postępuj zgodnie z instrukcjami dotyczącymi tworzenia katalogów obcych w Tworzenie katalogów.

SQL

Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Elementy w nawiasach są opcjonalne. Zastąp wartości zastępczych.

  • <catalog-name>: nazwa wykazu w usłudze Azure Databricks.
  • <connection-name>: obiekt połączenia określający źródło danych, ścieżkę i poświadczenia dostępu.
  • <service-name>: nazwa usługi, którą chcesz odwzorować jako wykaz w usłudze Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (service_name '<service-name>');

Obsługiwane wypychania

Obsługiwane są następujące wypychania:

  • Filtry
  • Prognozy
  • Ograniczenie
  • Agregatów
  • Przesunięcie
  • Obsada
  • Zawiera, Zaczyna się od, Kończy się na

Mapowania typów danych

Podczas odczytywania z bazy danych Oracle do platformy Spark typy danych są mapowane w następujący sposób:

Typ Oracle Typ Spark
ZNACZNIK CZASU Z TIMEZONE, ZNACZNIK CZASU Z LOKALNYM TIMEZONE Typ znacznika czasu
DATA, SYGNATURA CZASOWA TimestampType/TimestampNTZType*
LICZBA, ZMIENNOPRZECINKOWY Typ liczby dziesiętnej
ZMIENNOPRZECINKOWY BINARNY FloatType
BINARNE PODWÓJNE PodwójnyTyp
CHAR, NCHAR, VARCHAR2, NVARCHAR2 Typ String
  • Atrybut DATE i TIMESTAMP są mapowane na wartość Spark TimestampType, jeśli spark.sql.timestampType = TIMESTAMP_LTZ (ustawienie domyślne). Mapuje się je na TimestampNTZType, jeśli spark.sql.timestampType = TIMESTAMP_NTZ.