Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Databricks

Możesz użyć Databricks jako docelowa platforma danych w potoku danych. W potoku danych można wykonywać różne operacje na platformie docelowej, w tym umieszczanie danych, przechowywanie danych, tworzenie data martów oraz rejestrowanie danych.

Wiąże się to z następującymi czynnościami:

InformacjaObsługiwane tylko z klastrami SQL Warehouse

Konfiguracja obszaru tymczasowego w chmurze

Podczas używania łącznika z miejscem docelowym Databricks wymagane jest również zdefiniowanie obszaru przechowywania w chmurze, w którym dane i zmiany są przechowywane przed zastosowaniem i zapisaniem. Obsługiwane są następujące platformy pamięci masowej:

InformacjaJeśli rejestrujesz istniejące dane, nie musisz konfigurować obszaru tymczasowego w chmurze.

Konfiguracja połączenia z Databricks

Wybierz łącznik miejsca docelowego Databricks i skonfiguruj następujące ustawienia.

Miejsce docelowe danych

Brama danych: Brama Brama danych ruchu danych jest wymagana tylko wtedy, gdy docelowa baza danych nie jest dostępna z Qlik Cloud i można uzyskać do niej dostęp tylko za pośrednictwem łącza prywatnego (na przykład jeśli znajduje się w wirtualnej chmurze prywatnej). W takim przypadku wybierz tę bramę Brama danych ruchu danych, przez którą chcesz uzyskiwać dostęp do docelowej bazy danych.

W zależności od zastosowania będzie to ta sama Brama danych ruchu danych, która została wdrożona do umieszczania danych ze źródła, lub inna. Aby uzyskać informacje na temat możliwości wdrożenia Brama danych ruchu danych, zobacz temat Typowe zastosowania.

InformacjaWymaga bramy Brama danych ruchu danych w wersji 2023.5.10 lub nowszej.

Jeśli docelowa baza danych jest bezpośrednio dostępna z Qlik Cloud, wybierz Brak.

InformacjaW celu uzyskiwania dostępu do docelowej bazy danych za pośrednictwem Brama danych ruchu danych należy też zainstalować odpowiedni sterownik na urządzeniu z Brama danych ruchu danych. Szczegółowe informacje zawiera temat Konfiguracja sterowników poniżej.

Właściwości połączenia

  • Host: nazwa hosta obszaru roboczego Databricks.
  • Port: port, przez który można uzyskać dostęp do obszaru roboczego.
  • Ścieżka HTTP: ścieżka do używanego klastra.
  • Token: Twój osobisty token umożliwiający dostęp do obszaru roboczego.

Właściwości katalogu

Kliknij opcję Załaduj katalogi, aby załadować dostępne katalogi, a następnie wybierz Katalog. Jeśli w Twoim środowisku nie skonfigurowano żadnych katalogów, wybierz opcję hive_metastore, która jest katalogiem domyślnym.

Informacja

Musisz zezwolić bramie Brama danych ruchu danych na dostęp do zewnętrznych (niezarządzanych) tabel, definiując zewnętrzną lokalizację w Databricks. Wskazówki można znaleźć pod adresem:

https://docs.databricks.com/data-governance/unity-catalog/manage-external-locations-and-credentials.html#manage-permissions-for-an-external-location

Właściwości wewnętrzne

Właściwości wewnętrzne są przeznaczone dla specjalnych przypadków, w związku z czym nie są ukazywane w oknie dialogowym. Należy ich używać tylko na polecenie Qlik Pomocy technicznej.

Użyj przycisków Utwórz nowy i Anuluj znajdujących się po prawej stronie pól, aby dodać lub usunąć właściwości zgodnie z potrzebą.

Nazwa

Nazwa wyświetlana dla połączenia.

Wymagania wstępne

Uprawnienia ogólne:

  • Czas na serwerze Integracja danych Qlik Cloud musi być dokładny.
  • Uprawnienia do tabeli Databricks: Brama danych ruchu danych wymaga uprawnień umożliwiających wykonywanie następujących operacji na tabelach Databricks: CREATE, DROP, TRUNCATE, DESCRIBE i ALTER.
  • U ustawieniach kontroli dostępu (IAM) systemu plików ADLS Gen2 należy przypisać rolę „Storage Blob Data Contributor” (Współautor danych Blob w pamięci masowej) usłudze Brama danych ruchu danych (ID aplikacji AD). Zastosowanie tej roli może potrwać kilka minut.
  • Aby umożliwić połączenie Brama danych ruchu danych z klastrem Databricks za pomocą ODBC, użytkownicy muszą mieć przyznane uprawnienie „Can Attach To” (Może dołączyć) na koncie Databricks.
  • W celu uzyskania dostępu do platformy Databricks jest wymagany ważny token zabezpieczeń. Token należy podać podczas konfigurowania pól dostępu do Databricks przy użyciu ODBC w ustawieniach punktu końcowego.
  • Podczas konfigurowania nowego klastra z usługą Microsoft Azure Data Lake Storage (ADLS) Gen2 do sekcji „Spark Config” należy dodać następujący wiersz.

    spark.hadoop.hive.server2.enable.doAs false

  • Aby mieć dostęp do katalogów pamięci masowej z klastra Databricks, użytkownicy muszą dodać konfigurację (w sekcji Spark Config) tego konta pamięci masowej oraz jego klucz.

    Przykład:  

    fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>

    Szczegółowe informacje zawiera pomoc online platformy Databricks na stronie: https://docs.databricks.com/clusters/configure.html#spark-configuration

  • W ramach najlepszych praktyk zalecane jest, aby nie używać lokalizacji katalogu głównego (/Usr/Hive/Warehouse/) do zapisywania baz danych Databricks, ponieważ to może wpływać na wydajność.

uprawnienie dostępu do pamięci masowej

Obliczenia Databricks SQL muszą być skonfigurowane tak, aby uzyskać dostęp do pamięci masowej w chmurze Instrukcje można znaleźć w pomocy online sprzedawcy.

Konfiguracja sterowników

Sterownik jest wymagany tylko do uzyskiwania dostępu za pośrednictwem Brama danych ruchu danych. W takim przypadku należy zainstalować sterownik na urządzeniu Brama danych ruchu danych.

Sterownik driver można zainstalować za pomocą Narzędzia do instalacji sterowników (zalecane) lub ręcznie. Instalacji ręcznej należy próbować tylko w mało prawdopodobnym przypadku wystąpienia problemu z Narzędziem do instalacji sterowników.

Używanie Narzędzia do instalacji sterowników w celu instalacji sterownika

W tej sekcji opisano, jak zainstalować wymagany driver. Proces ten obejmuje uruchomienie skryptu, który automatycznie pobierze, zainstaluje i skonfiguruje wymagany driver. W razie potrzeby można także uruchamiać skrypty, aby zaktualizować i odinstalować driver.

  • Na serwerze bramy Ruch danych musi być zainstalowane środowisko Python 3.6 lub nowsze.

    Środowisko Python jest preinstalowane w większości dystrybucji systemu Linux. Aby sprawdzić, która wersja środowiska Pythona jest zainstalowana w Twoim systemie, uruchom następujące polecenie:

    python3 --version

Aby pobrać i zainstalować driver:

  1. Zatrzymaj usługę Brama danych ruchu danych:

    sudo systemctl stop repagent

  2. Opcjonalnie potwierdź, że usługa została zatrzymana:

    sudo systemctl status repagent

    Status powinien być następujący:

    Active: inactive (dead) since <timestamp> ago

  3. Na urządzenie bramy Ruch danych zmień katalog roboczy na:

    opt/qlik/gateway/movement/drivers/bin

  4. Wykonaj następujące polecenie:

    Składnia:

    ./install databricks

    Jeśli driver nie może zostać pobrany (ze względu na ograniczenia dostępu lub problemy techniczne), zostanie wyświetlony komunikat informujący, skąd pobrać driver i dokąd go skopiować na urządzenie bramy Ruch danych. Po wykonaniu tej czynności ponownie uruchom polecenie install databricks.

    W przeciwnym razie zostanie wyświetlona umowa licencyjna dotycząca driver.

  5. Wykonaj jedną z poniższych czynności:

    • Naciśnij klawisz [Enter] wielokrotnie, aby powoli przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz spacji wielokrotnie, aby szybko przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz „q”, aby zamknąć tekst umowy licencyjnej i wyświetlić opcje jej akceptacji.
  6. Wykonaj jedną z poniższych czynności:

    • Wpisz „y” i naciśnij klawisz [Enter], aby zaakceptować umowę licencyjną i rozpocząć instalację.
    • Wpisz „n” i naciśnij klawisz [Enter], aby odrzucić umowę licencyjną i zakończyć instalację.
    • Wpisz „v” i naciśnij klawisz [Enter], aby ponownie wyświetlić umowę licencyjną.

  7. Zostanie zainstalowany driver.

  8. Poczekaj na zakończenie instalacji (wskazane komunikatem „Ukończono!”), a następnie uruchom usługę Brama danych ruchu danych:

    sudo systemctl start repagent

  9. Opcjonalnie potwierdź, że usługa została uruchomiona:

    sudo systemctl status repagent

    Status powinien być następujący:

    Active: active (running) since <timestamp> ago

Uruchom polecenie aktualizacji, jeśli chcesz odinstalować driver w poprzedniej wersji, zanim zainstalujesz dostarczony driver.

Aby pobrać i zaktualizować driver:

  1. Zatrzymaj usługę Brama danych ruchu danych:

    sudo systemctl stop repagent

  2. Opcjonalnie potwierdź, że usługa została zatrzymana:

    sudo systemctl status repagent

    Status powinien być następujący:

    Active: inactive (dead) since <timestamp> ago

  3. Na urządzenie bramy Ruch danych zmień katalog roboczy na:

    opt/qlik/gateway/movement/drivers/bin

  4. Wykonaj następujące polecenie:

    Składnia:

    ./update databricks

    Jeśli driver nie może zostać pobrany (ze względu na ograniczenia dostępu lub problemy techniczne), zostanie wyświetlony komunikat informujący, skąd pobrać driver i dokąd go skopiować na urządzenie bramy Ruch danych. Po wykonaniu tej czynności ponownie uruchom polecenie update databricks.

    W przeciwnym razie zostanie wyświetlona umowa licencyjna dotycząca driver.

  5. Wykonaj jedną z poniższych czynności:

    • Naciśnij klawisz [Enter] wielokrotnie, aby powoli przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz spacji wielokrotnie, aby szybko przewinąć treść umowy licencyjnej.
    • Naciśnij klawisz „q”, aby zamknąć tekst umowy licencyjnej i wyświetlić opcje jej akceptacji.
  6. Wykonaj jedną z poniższych czynności:

    • Wpisz „y” i naciśnij klawisz [Enter], aby zaakceptować umowę licencyjną i rozpocząć instalację.
    • Wpisz „n” i naciśnij klawisz [Enter], aby odrzucić umowę licencyjną i zakończyć instalację.
    • Wpisz „v” i naciśnij klawisz [Enter], aby wyświetlić umowę licencyjną od początku.
  7. Stary driver zostanie odinstalowany, a zainstalowany zostanie nowy driver.

  8. Poczekaj na zakończenie instalacji (wskazane komunikatem „Ukończono!”), a następnie uruchom usługę Brama danych ruchu danych:

    sudo systemctl start repagent

  9. Opcjonalnie potwierdź, że usługa została uruchomiona:

    sudo systemctl status repagent

    Status powinien być następujący:

    Active: active (running) since <timestamp> ago

Uruchom polecenie odinstalowania, jeśli chcesz odinstalować driver.

Aby odinstalować driver:

  1. Zatrzymaj wszystkie zadania skonfigurowane do korzystania z tego łącznika.

  2. Na urządzenie bramy Ruch danych zmień katalog roboczy na:

    opt/qlik/gateway/movement/drivers/bin

  3. Wykonaj następujące polecenie:

    Składnia:

    ./uninstall databricks

    Sterownik driverzostanie odinstalowany.

Ręczne instalowanie sterownika

Sterownik driver należy instalować ręcznie tylko wtedy, gdy automatyczna instalacja nie zakończyła się pomyślnie.

Po zainstalowaniu Brama danych ruchu danych pobierz plik SimbaSparkODBC-<wersja>-LinuxRPM-64bit.zip. Łącze do bezpośredniego pobrania obsługiwanej wersji można znaleźć w sekcji binary-artifacts w pliku /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Po zakończeniu pobierania skopiuj plik na komputer z Brama danych ruchu danych.

  1. Zatrzymaj usługę Brama danych ruchu danych:

    sudo systemctl stop repagent

  2. Opcjonalnie potwierdź, że usługa została zatrzymana:

    sudo systemctl status repagent

  3. Status powinien być następujący:

    Active: inactive (dead) since <timestamp> ago

  4. Zainstaluj sterownik na urządzeniu Brama danych ruchu danych.

  5. Po zainstalowaniu upewnij się, że w pliku /etc/odbcinst.ini znajduje się następująca sekcja:

  6.  [Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Uruchom usługę Brama danych ruchu danych:

    sudo systemctl start repagent

  8. Opcjonalnie potwierdź, że usługa została uruchomiona:

    sudo systemctl status repagent

    Status powinien być następujący:

    Active: active (running) since <timestamp> ago

  1. Pobierz plik databricks-jdbc-<wersja>.jar. Łącze do bezpośredniego pobrania obsługiwanej wersji można znaleźć w sekcji binary-artifacts w pliku /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Po zakończeniu pobierania skopiuj plik JAR do następującego folderu na komputerze z Brama danych ruchu danych:

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. Uruchom ponownie usługę Brama danych ruchu danych i sprawdź, czy została uruchomiona, używając poleceń opisanych w temacie Polecenia usługi Brama danych ruchu danych

Port

Należy otworzyć port 443 zapory na potrzeby komunikacji wychodzącej.

Typy danych

W poniższej tabeli przedstawiono typy danych Databricks, które są obsługiwane podczas używania Qlik Cloud, i domyślne mapowanie z typów danych Qlik Cloud.

Informacje o natywnym typie danych są zachowywane i wyświetlane w widokach zestawu danych w kolumnie Natywny typ danych. Jeśli kolumna nie jest widoczna, otwórz selektor kolumn w widoku zestawu danych i wybierz kolumnę Natywny typ danych.

Obsługiwane typy danych
Typy danych Qlik Cloud Typy danych Databricks

BOOLEAN

BOOLEAN

BYTES

STRING

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

INT1

TINYINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

DECIMAL (precyzja, skala)

REAL4

FLOAT

REAL8

DOUBLE

UINT1

SMALLINT

UINT2

INT

UINT4

BIGINT

UINT8

DECIMAL (20, 0)

STRING

VARCHAR (długość w bajtach)

WSTRING

VARCHAR (długość w bajtach)

BLOB

STRING

NCLOB

STRING

CLOB

STRING

Następujące typy danych są konwertowane na STRING(255):

  • MAP

  • ARRAY

  • STRUCT

Ograniczenia i uwagi

  • Podczas korzystania z Databricks na AWS z tabelami bez klucza głównego przeładowywanie tabel w umieszczaniu nie powiedzie się w aplikacji pamięci masowej. Aby rozwiązać ten problem, możesz

    • Zdefiniować klucz główny w tabelach.

    • Ustawić spark.databricks.delta.alterTable.rename.enabledOnAWS na True w Databricks.

    • Podczas tworzenia transformacji opartej na SQL wszystkie pola VARCHAR są zwracane jako STRING(255).

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!