Databricks
U kunt Databricks gebruiken als een doelgegevensplatform in een gegevenspijplijn of in een replicatietaak. In een gegevenspijplijn kunt u verschillende ELT-bewerkingen uitvoeren voor het doelplatform, zoals gegevens opslaan, gegevens transformeren, datamarts maken en gegevens registreren. Bij een replicatietaak daarentegen worden gegevens rechtstreeks van een bronsysteem naar een doelsysteem gerepliceerd met basistransformatie-opties, maar zonder ondersteuning voor ELT-bewerkingen.
Het instellen van Databricks als doel omvat:
- Voldoen aan de vereisten
- Het configureren van een verbinding met een cloud-staginggebied. Dit is niet vereist als u bestaande gegevens registreert.
- Het configureren van een verbinding met Databricks
Een cloud-staginggebied instellen
Wanneer u de Databricks Target-connector gebruikt, moet u ook een cloud-staginggebied definiëren waar gegevens en wijzigingen worden klaargezet voordat ze worden toegepast en opgeslagen. De volgende opslagplatforms worden ondersteund:
Een verbinding met Databricks configureren
Zodra u de staging-instellingen hebt opgegeven, doet u het volgende:
-
Klik in Verbindingen op Verbinding maken.
-
Selecteer de Databricks doelconnector en geef vervolgens de volgende instellingen op:
Gegevensdoel
Gegevensgateway
Een Data Movement gateway is alleen vereist als de doeldatabase niet toegankelijk is via Qlik Cloud en kan alleen worden geopend via een privékoppeling (bijvoorbeeld als deze zich in een virtuele privécloud bevindt). Als dit het geval is, selecteer dan de Data Movement gateway waarmee u toegang wilt krijgen tot de doeldatabase.
Afhankelijk van uw gebruikssituatie, gebruikt u dezelfde Data Movement gateway die is geïmplementeerd om gegevens van de bron te verplaatsen of u gebruikt een andere gateway.
Voor informatie over usecases voor de Data Movement gateway, gaat u naar Wanneer is de Data Movement gateway vereist? en Veelvoorkomende toepassingen:.
Als de doeldatabase rechtstreeks toegankelijk is vanuit Qlik Cloud, selecteert u Geen.
Verbindingseigenschappen
- Host: de hostnaam van de Databricks-werkruimte.
- Port: de poort via welke toegang wordt verkregen tot de werkruimte.
- HTTP Path: het pad naar het cluster dat wordt gebruikt.
Verificatie
-
Verificatiemethode - Selecteer een van de volgende opties:
-
OAuth: Geef de volgende informatie op:
InformatieVereisten voor OAuth-verificatie:
- Zorg ervoor dat uw Databricks database is geconfigureerd om OAuth te gebruiken. Raadpleeg de online help van de leverancier voor instructies.
- Als u Data Movement gateway gebruikt om toegang te krijgen tot de database, is Data Movement gateway 2024.11.30 of later vereist.
-
Client-ID: De client-ID van uw applicatie.
-
Clientgeheim: Het clientgeheim van uw applicatie. Houd er rekening mee dat als u de verbinding bewerkt, het clientgeheim uit veiligheidsoverwegingen wordt verwijderd en u het opnieuw moet invoeren.
- Persoonlijk toegangstoken: Voer in het veld Token uw persoonlijke token in voor toegang tot de werkruimte.
-
Cataloguseigenschappen
Klik op Catalogi laden om de beschikbare catalogi te laden en selecteer vervolgens een Catalogus. Als uw omgeving niet is geconfigureerd met catalogi, selecteert u hive_metastore, wat de standaardcatalogus is.
U moet de gegevenstaak toegang geven tot externe (onbeheerde) tabellen door een externe locatie in Databricks te definiëren. Zie voor richtlijnen:
Interne eigenschappen
Interne eigenschappen zijn voor speciale gebruiksscenario's en worden daarom niet weergegeven in het dialoogvenster. U mag ze alleen gebruiken als u hiertoe de opdracht krijgt van Qlik Support.
Gebruik de knoppen en
rechts van de velden om eigenschappen naar behoefte toe te voegen of te verwijderen.
Naam
De weergavenaam voor de verbinding.
Vereisten
Algemene machtigingen
- De tijd op de Qlik Talend Data Integration-servermachine moet correct zijn.
- Machtigingen voor Databricks-tabellen: voor Qlik Talend Data Integration zijn machtigingen vereist voor het uitvoeren van de volgende bewerkingen voor Databricks-tabellen: CREATE, DROP, TRUNCATE, DESCRIBE en ALTER.
- In de instellingen voor toegangsbeheer (IAM) voor het ADLS Gen2-bestandssysteem, wijst u de rol “Storage Blob Data Contributor” toe aan Qlik Talend Data Integration (AD-app-id). Het kan enkele minuten duren voordat de rol van kracht is.
- Gebruikers moeten beschikken over de machtiging 'Kan koppelen aan' in hun Databricks-account om Qlik Talend Data Integration te verbinden met een Databricks-cluster via ODBC.
- Er is een geldige beveiligingstoken vereist voor toegang tot Databricks. De token moet worden opgegeven tijdens het configureren van de velden voor Databricks ODBC-toegang in de eindpuntinstellingen.
-
Bij het configureren van een nieuwe cluster met Microsoft Azure Data Lake Storage (ADLS) Gen2, moet de volgende regel worden toegevoegd aan de sectie 'Spark Config'.
spark.hadoop.hive.server2.enable.doAs false -
Om toegang te krijgen tot de opslagmappen van het Databricks-cluster, moeten gebruikers een configuratie (in Spark Config) en de bijbehorende sleutel toevoegen voor dat opslagaccount.
Voorbeeld:
fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>
Voor meer informatie raadpleegt u de Databricks online help op: https://docs.databricks.com/clusters/configure.html#spark-configuration
-
Gebruik de hoofdmaplocatie (/Usr/Hive/Warehouse/) niet voor de Databricks-database omdat dit van invloed kan zijn op de prestaties.
Machtiging voor opslagtoegang
Databricks SQL-compute moet worden geconfigureerd voor toegang tot cloudopslag. Raadpleeg de online help van de leverancier voor instructies.
Stuurprogramma instellen
Een stuurprogramma is alleen vereist als u toegang krijgt tot de database via Data Movement gateway. In dat geval moet u het stuurprogramma installeren op de Data Movement gateway-machine.
U kunt het driver installeren met het installatieprogramma (aanbevolen) of handmatig. U moet een handmatige installatie alleen uitvoeren als er een probleem ontstaat bij het hulpprogramma.
Het hulpprogramma voor stuurprogramma-installatie gebruiken om het stuurprogramma te installeren
In deze sectie wordt beschreven hoe u het vereiste driver installeert. Het proces omvat het uitvoeren van een script dat automatisch het vereiste driver downloadt, installeert en configureert. U kunt indien nodig ook scripts uitvoeren om het driver bij te werken en verwijderen.
De installatie voorbereiden
-
Controleer of Python 3.6 of hoger is geïnstalleerd op de Data Movement-gatewayserver.
Python is al geïnstalleerd op de meeste Linux-distributies. U kunt controleren welke Python-versie is geïnstalleerd op uw systeem door de volgende opdracht uit te voeren:
python3 --version
De driver installeren
Ga als volgt te werk om het driverte downloaden en installeren:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
-
Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
Voer de volgende opdracht uit:
Syntaxis:
./install databricks
Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Data Movement-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht install databricks nogmaals uit.
Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.
-
Voer een van de volgende handelingen uit:
- Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
- Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
- Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.
-
Voer een van de volgende handelingen uit:
- Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.
- Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.
-
Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals te tonen.
-
Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig eventueel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
Het driver wordt geïnstalleerd.
Het driver bijwerken
Voer de update-opdracht uit als u eerdere versies van het driver wilt verwijderen voordat u het meegeleverde driver installeert.
Ga als volgt te werk om het driver te downloaden en bij te werken:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
-
Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
Voer de volgende opdracht uit:
Syntaxis:
./update databricks
Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Data Movement-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht update databricks nogmaals uit.
Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.
-
Voer een van de volgende handelingen uit:
- Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
- Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
- Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.
-
Voer een van de volgende handelingen uit:
- Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.
- Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.
- Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals vanaf het begin te tonen.
-
Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig eventueel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
Het oude driver wordt verwijderd en het nieuwe driver wordt geïnstalleerd.
Het driver verwijderen
Voer de uninstall-opdracht uit als u het driver wilt verwijderen.
Ga als volgt te werken om het driver te verwijderen:
-
Stop alle taken die zijn geconfigureerd om deze connector te gebruiken.
-
Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
Voer de volgende opdracht uit:
Syntaxis:
./uninstall databricks
driver wordt verwijderd.
Het stuurprogramma handmatig installeren
U moet het driver alleen handmatig uitvoeren als de geautomatiseerde installatie van het stuurprogramma niet is voltooid.
Het ODBC-stuurprogramma installeren
Nadat Data Movement gateway is geïnstalleerd, moet u het bestand SimbaSparkODBC-<version>-LinuxRPM-64bit.zip downloaden. U kunt een directe downloadlink naar de ondersteunde versie vinden onder binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Zodra het downloaden is voltooid, kopieert u het bestand naar de Data Movement gateway-machine.
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig optioneel dat de service is gestopt:
sudo systemctl status repagent
-
Installeer het stuurprogramma op de Data Movement gateway-machine.
-
Zorg er na de installatie voor dat de volgende sectie in het bestand /etc/odbcinst.ini staat:
-
Start de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig optioneel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
[Databricks ODBC Driver] Driver=/opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
Het JDBC-stuurprogramma installeren
-
Download het bestand databricks-jdbc-<version>.jar . U kunt een directe downloadlink naar de ondersteunde versie vinden onder binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Zodra het downloaden is voltooid, kopieert u het JAR-bestand naar de volgende map op de Data Movement gateway-machine:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Start de Data Movement gateway-service opnieuw en controleer of deze is gestart door de opdrachten uit te voeren die worden beschreven in Opdrachten Data Movement gateway-service
Poort
Firewallpoort 443 moet zijn geopend voor uitgaande communicatie.
Gegevenstypen
De volgende tabel toont de Databricks-gegevenstypen die worden ondersteund bij het gebruik van Qlik Cloud en de standaardtoewijzing van Qlik Cloud-gegevenstypen.
Informatie in eigen gegevenstypen wordt behouden en wordt weergegeven in de kolom Eigen gegevenstype in weergaven van gegevensverzamelingen. Als de kolom niet zichtbaar is, moet u de kolomkiezer van de weergave van de gegevensverzameling openen en de kolom Eigen gegevenstype selecteren.
| Qlik Cloud-gegevenstypen | Databricks-gegevenstypen |
|---|---|
|
BOOLEAN |
BOOLEAN |
|
BYTES |
VARCHAR (lengte in bytes) |
|
DATE |
DATE |
|
TIME |
STRING |
|
DATETIME |
TIMESTAMP De precisie is altijd 6, zelfs als de invoerkolom een precisie lager dan 6 gebruikt. Als de invoerkolom een precisie hoger dan 6 gebruikt, kunt u de volledige precisie behouden. Overweeg de kolom te converteren naar een ander ondersteund type, zoals STRING. |
|
INT1 |
TINYINT |
|
INT2 |
SMALLINT |
|
INT4 |
INT |
|
INT8 |
BIGINT |
|
NUMERIC |
DECIMAL (precisie, schaal) |
|
REAL4 |
FLOAT |
|
REAL8 |
DOUBLE |
|
UINT1 |
SMALLINT |
|
UINT2 |
INT |
|
UINT4 |
BIGINT |
|
UINT8 |
DECIMAL (20, 0) |
|
STRING |
VARCHAR (lengte in bytes) Wanneer de kolom een JSON-subtype heeft en de Databricks Runtime-versie 15.4 LTS of later is, dan: VARIANT |
|
WSTRING |
VARCHAR (lengte in bytes) Wanneer de kolom een JSON-subtype heeft en de Databricks Runtime-versie 15.4 LTS of later is, dan: VARIANT |
|
NCLOB |
STRING Wanneer de kolom een JSON-subtype heeft en de Databricks Runtime-versie 15.4 LTS of later is, dan: VARIANT |
|
CLOB |
STRING Wanneer de kolom een JSON-subtype heeft en de Databricks Runtime-versie 15.4 LTS of later is, dan: VARIANT |
|
BLOB |
STRING |
| JSON |
VARIANT InformatieHet VARIANT-gegevenstype wordt ondersteund als Public Preview in Databricks.
|
De volgende gegevenstypen worden geconverteerd naar STRING(255):
-
MAP
-
ARRAY
-
STRUCT
Beperkingen en overwegingen
-
Wanneer u Databricks op AWS gebruikt met tabellen zonder primaire sleutel, zal het opnieuw laden van de tabellen in de tussenopslag mislukken in de Storage-app. Om dit op te lossen, kunt u het volgende doen:
-
Definieer een primaire sleutel in de tabellen.
-
Stel spark.databricks.delta.alterTable.rename.enabledOnAWS in op True in Databricks.
-
Bij het maken van een op SQL gebaseerde transformatie worden alle VARCHAR-velden geretourneerd als STRING(255).
-