Databricks
Możesz użyć Databricks 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 miejsca docelowego obejmuje:
- Spełnienie warunków wstępnych
- Konfiguracja połączenia z obszarem tymczasowym w chmurze. Nie jest to wymagane, jeśli rejestrujesz istniejące dane.
- Konfiguracja połączenia z Databricks
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:
Konfiguracja połączenia z Databricks
Po podaniu ustawień obszaru tymczasowego wykonaj następujące czynności:
-
W obszarze Połączenia kliknij Utwórz połączenie.
-
Wybierz łącznik miejsca docelowego Databricks, a następnie podaj 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 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.
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.
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:
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 i 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 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ść.
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.
Przygotowanie instalacji
-
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
Instalowanie aplikacji driver
Aby pobrać i zainstalować driver:
-
Zatrzymaj usługę Data Movement gateway:
sudo systemctl stop repagent
-
Opcjonalnie potwierdź, że usługa została zatrzymana:
sudo systemctl status repagent
Status powinien być następujący:
Active: inactive (dead) since <timestamp> ago
-
Na urządzenie bramy Ruch danych zmień katalog roboczy na:
opt/qlik/gateway/movement/drivers/bin
-
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.
-
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.
-
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ą.
-
Poczekaj na zakończenie instalacji (wskazane komunikatem „Ukończono!”), a następnie uruchom usługę Data Movement gateway:
sudo systemctl start repagent
-
Opcjonalnie potwierdź, że usługa została uruchomiona:
sudo systemctl status repagent
Status powinien być następujący:
Active: active (running) since <timestamp> ago
Zostanie zainstalowany driver.
driver — aktualizacja
Uruchom polecenie aktualizacji, jeśli chcesz odinstalować driver w poprzedniej wersji, zanim zainstalujesz dostarczony driver.
Aby pobrać i zaktualizować driver:
-
Zatrzymaj usługę Data Movement gateway:
sudo systemctl stop repagent
-
Opcjonalnie potwierdź, że usługa została zatrzymana:
sudo systemctl status repagent
Status powinien być następujący:
Active: inactive (dead) since <timestamp> ago
-
Na urządzenie bramy Ruch danych zmień katalog roboczy na:
opt/qlik/gateway/movement/drivers/bin
-
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.
-
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.
-
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.
-
Poczekaj na zakończenie instalacji (wskazane komunikatem „Ukończono!”), a następnie uruchom usługę Data Movement gateway:
sudo systemctl start repagent
-
Opcjonalnie potwierdź, że usługa została uruchomiona:
sudo systemctl status repagent
Status powinien być następujący:
Active: active (running) since <timestamp> ago
Stary driver zostanie odinstalowany, a zainstalowany zostanie nowy driver.
driver — odinstalowywanie
Uruchom polecenie odinstalowania, jeśli chcesz odinstalować driver.
Aby odinstalować driver:
-
Zatrzymaj wszystkie zadania skonfigurowane do korzystania z tego łącznika.
-
Na urządzenie bramy Ruch danych zmień katalog roboczy na:
opt/qlik/gateway/movement/drivers/bin
-
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.
Instalowanie sterownika ODBC
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.
-
Zatrzymaj usługę Data Movement gateway:
sudo systemctl stop repagent
-
Opcjonalnie potwierdź, że usługa została zatrzymana:
sudo systemctl status repagent
-
Zainstaluj sterownik na urządzeniu Data Movement gateway.
-
Po zainstalowaniu upewnij się, że w pliku /etc/odbcinst.ini znajduje się następująca sekcja:
-
Uruchom usługę Data Movement gateway:
sudo systemctl start repagent
-
Opcjonalnie potwierdź, że usługa została uruchomiona:
sudo systemctl status repagent
Status powinien być następujący:
Active: active (running) since <timestamp> ago
Status powinien być następujący:
Active: inactive (dead) since <timestamp> ago
[Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
Instalowanie sterownika JDBC
-
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
-
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.
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).
-