Databricks | Qlik Cloud Pomoc
Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Databricks

Databricks może służyć jako docelowa platforma danych w potoku danych lub zadaniu replikacji. W potoku danych można wykonywać różne operacje ELT na platformie docelowej, w tym przechowywanie danych, przekształcanie danych, tworzenie data martów oraz rejestrowanie danych. Zadanie replikacji polega natomiast na replikacji danych bezpośrednio z systemu źródłowego do systemu docelowego z podstawowymi możliwościami transformacji, ale bez obsługi operacji ELT.

Konfigurowanie Databricks jako celu obejmuje:

InformacjaObsługiwane tylko z klastrami SQL Warehouse

Konfigurowanie obszaru przejściowego w chmurze

W przypadku korzystania z docelowego łącznika Databricks należy również zdefiniować obszar przejściowy w chmurze, w którym dane i zmiany są umieszczane przed ich zastosowaniem i zapisaniem. Obsługiwane są następujące platformy pamięci masowej:

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

Konfigurowanie połączenia z Databricks

Po podaniu ustawień obszaru przejściowego wykonaj następujące czynności:

  1. W sekcji Połączenia kliknij Utwórz połączenie.

  2. Wybierz docelowy łącznik Databricks i podaj następujące ustawienia:

Cel danych

Brama danych

InformacjaTo pole jest niedostępne w subskrypcji Qlik Talend Cloud Starter, ponieważ brama Brama danych ruchu danych jest nieobsługiwana na tym poziomie subskrypcji.

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 przenoszenia danych ze źródła, lub inna.

Informacje na temat zastosowań związanych z Brama danych ruchu danych zawierają tematy Kiedy jest wymagana brama Brama danych ruchu danych? i Typowe zastosowania.

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

InformacjaW przypadku uzyskiwania dostępu do docelowej bazy danych za pośrednictwem Brama danych ruchu danych należy również zainstalować odpowiedni sterownik na maszynie Brama danych ruchu danych. Szczegółowe informacje można znaleźć w sekcji Konfiguracja sterownika poniżej.

Właściwości połączenia

  • Host: nazwa hosta obszaru roboczego Databricks.
  • Port: port, przez który uzyskuje się dostęp do obszaru roboczego.
  • Ścieżka HTTP: ścieżka do używanego klastra.

Uwierzytelnianie

  • Metoda uwierzytelniania — wybierz jedną z następujących opcji:

    • OAuth: Podaj następujące informacje: 

      Informacja

      Wymagania wstępne uwierzytelniania OAuth:

      • Upewnij się, że baza danych Databricks jest skonfigurowana do korzystania z OAuth. Instrukcje można znaleźć w pomocy online dostawcy.
      • Jeśli używasz Brama danych ruchu danych do uzyskiwania dostępu do bazy danych, wymagana jest wersja Brama danych ruchu danych 2024.11.30 lub nowsza.
      • Identyfikator klienta: Identyfikator klienta Twojej aplikacji.

      • Klucz tajny klienta: Klucz tajny klienta Twojej aplikacji. Należy pamiętać, że w przypadku edycji połączenia klucz tajny klienta zostanie usunięty ze względów bezpieczeństwa i konieczne będzie jego ponowne wprowadzenie.

    • Osobisty token dostępu: W polu Token wprowadź swój osobisty token dostępu do obszaru roboczego.

Właściwości katalogu

Kliknij Załaduj katalogi, aby załadować dostępne katalogi, a następnie wybierz Katalog. Jeśli Twoje środowisko nie jest skonfigurowane z żadnymi katalogami, wybierz hive_metastore, który jest katalogiem domyślnym.

Informacja

Musisz zezwolić zadaniu danych na dostęp do zewnętrznych (niezarządzanych) tabel, definiując zewnętrzną lokalizację w Databricks. Wytyczne można znaleźć tutaj:

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 do specjalnych przypadków użycia i dlatego nie są widoczne w oknie dialogowym. Należy ich używać tylko na polecenie pomocy technicznej Qlik.

Użyj przycisków Utwórz nowy i Anuluj po prawej stronie pól, aby w razie potrzeby dodać lub usunąć właściwości.

Nazwa

Nazwa wyświetlana dla połączenia.

Wymagania wstępne

Uprawnienia ogólne

  • Czas na serwerze Qlik Talend Data Integration musi być dokładny.
  • Uprawnienia do tabeli Databricks: Qlik Talend Data Integration 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 Qlik Talend Data Integration (ID aplikacji AD). Zastosowanie tej roli może potrwać kilka minut.
  • Aby umożliwić połączenie Qlik Talend Data Integration 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ść.

Uprawnienia dostępu do pamięci masowej

Zasoby obliczeniowe Databricks SQL muszą być skonfigurowane w celu uzyskiwania dostępu do pamięci masowej w chmurze. Instrukcje można znaleźć w pomocy online dostawcy.

Konfiguracja sterownika

Sterownik jest wymagany tylko w przypadku uzyskiwania dostępu do bazy danych za pośrednictwem Brama danych ruchu danych. W takim przypadku należy zainstalować sterownik na maszynie 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życie narzędzia instalacji sterownika do zainstalowania 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 Data Movement 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ę Data Movement gateway:

    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 Data Movement 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 Data Movement. 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ę Data Movement gateway:

    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ę Data Movement gateway:

    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 Data Movement 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 Data Movement. 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ę Data Movement gateway:

    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 Data Movement zmień katalog roboczy na:

    opt/qlik/gateway/movement/drivers/bin

  3. Wykonaj następujące polecenie:

    Składnia:

    ./uninstall databricks

    Sterownik driverzostanie odinstalowany.

Ręczna instalacja 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-<version>-LinuxRPM-64bit.zip. Bezpośredni link do 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 maszynę Brama danych ruchu danych.

  1. Zatrzymaj usługę Data Movement gateway:

    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 maszynie Data Movement gateway.

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

  6. [Databricks ODBC Driver]
    Driver=/opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  7. Uruchom usługę Data Movement gateway:

    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-<version>.jar . Bezpośredni link do 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 maszynie 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, wykonując polecenia opisane w sekcji Polecenia usługi Brama danych ruchu danych

Port

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

Typy danych

Poniższa tabela przedstawia typy danych Databricks, które są obsługiwane podczas korzystania z Qlik Cloud, oraz 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

VARCHAR (długość w bajtach)

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

Precyzja wynosi zawsze 6, nawet jeśli kolumna wejściowa używa precyzji niższej niż 6.

Jeśli kolumna wejściowa używa precyzji wyższej niż 6, możesz zachować pełną precyzję, rozważając konwersję kolumny na inny obsługiwany typ, taki jak STRING.

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)

Gdy kolumna ma podtyp JSON, a wersja Databricks Runtime to 15.4 LTS lub nowsza, wtedy: VARIANT

WSTRING

VARCHAR (długość w bajtach)

Gdy kolumna ma podtyp JSON, a wersja Databricks Runtime to 15.4 LTS lub nowsza, wtedy: VARIANT

NCLOB

STRING

Gdy kolumna ma podtyp JSON, a wersja Databricks Runtime to 15.4 LTS lub nowsza, wtedy: VARIANT

CLOB

STRING

Gdy kolumna ma podtyp JSON, a wersja Databricks Runtime to 15.4 LTS lub nowsza, wtedy: VARIANT

BLOB

STRING

JSON

VARIANT

InformacjaTyp danych VARIANT jest obsługiwany jako publiczna wersja zapoznawcza (Public Preview) w Databricks.

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

  • MAP

  • ARRAY

  • STRUCT

Ograniczenia i uwagi

  • W przypadku korzystania z Databricks w AWS z tabelami bez klucza podstawowego ponowne ładowanie tabel w obszarze umieszczania zakończy się niepowodzeniem w aplikacji Storage. Aby rozwiązać ten problem, możesz

    • Zdefiniować klucz podstawowy 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ć!