Gå till huvudinnehåll Gå till ytterligare innehåll

Databricks

Du kan använda Databricks som en måldataplattform i en datapipeline eller i en replikeringsuppgift. I en datapipeline kan diverse ELT-åtgärder utföras på målplattformen, inklusive lagring av data, omvandling av data, skapande av datamart och dataregistrering. En replikeringsuppgift å andra sidan omfattar replikering av data direkt från ett källsystem till ett målsystem med grundläggande omvandlingsfunktioner, men utan stöd för ELT-åtgärder.

Ställa in Databricks som mål omfattar att:

Anteckning om informationStöds bara med SQL Warehouse-kluster

Konfigurera ett molnförberedelseområde

När du använder en Databricks-målkoppling måste du också definera ett molnförberedelseområde, som är ett område där data och ändringar förbereds innan de tillämpas och lagras. Följande lagringsplattformar stöds:

Anteckning om informationOm du registrerar befintliga data behöver du inte konfigurera ett molnförberedelseområde.

Konfigurera en koppling till Databricks

När du har angett mellanlagringsinställningarna gör du följande:

  1. I Kopplingar klickar du på Skapa koppling.

  2. Välj Databricks-målkopplingen och ange följande inställningar:

Datamål

Anteckning om informationDetta fält är inte tillgängligt med Qlik Talend Cloud Starterprenumeration eftersom Gateway för dataflytt inte stöds med denna prenumerationsnivå.

Gateway för dataflytt behövs enbart om det inte går att komma åt måldatabasen från Qlik Cloud och bara kan nås via en privat länk (om den exempelvis är placerad i ett virtuellt privat moln). I så fall ska du välja Gateway för dataflytt att använda för åtkomst till måldatabasen.

Beroende på användningsfall kan det vara samma Gateway för dataflytt som distribuerats för att flytta data från datakällan eller någon annan.

Information om Gateway för dataflytt-användningsfall finns i När krävs Gateway för dataflytt? och Vanliga användningsfall.

Om måldatabasen kan kommas åt direkt från Qlik Cloud ska du välja Ingen.

Anteckning om informationVid åtkomst till databasen via Gateway för dataflytt måste du även installera korrekt drivrutin på Gateway för dataflytt-maskinen. Information finns i Inställning av drivrutin nedan.

Anslutningsegenskaper

  • Värd: värdnamnet för Databricks-arbetsutrymmet.
  • Port: porten som används för att komma åt arbetsutrymmet.
  • HTTP-sökväg: sökvägen till det kluster som används.
  • Token: din personliga token för att komma åt arbetsutrymmet.

Katalogegenskaper

Klicka på Ladda kataloger för att ladda de tillgängliga katalogerna och därefter välja en Katalog. Om din miljö inte är konfigurerad med några kataloger väljer du hive_metastore, som är standardkatalogen.

Anteckning om information

Du måste ge Gateway för dataflytt tillgång till externa (ohanterade) tabeller genom att definiera en extern plats i Databricks. Riktlinjer finns i:

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

Interna egenskaper

Interna egenskaper är till för speciella användarfall och visas därför inte i dialogen. De ska bara användas om Qlik-supporten uppmanar dig att göra det.

Använd Skapa ny- och Avbryt-knapparna till höger om fälten för att lägga till och ta bort egenskaper efter behov.

Namn

Visningsnamnet för anslutningen.

Förutsättningar

Allmänna behörigheter

  • Tiden på Qlik Talend Data Integration-serverdatorn måste vara korrekt.
  • Tabellbehörigheter för Databricks: Qlik Talend Data Integration kräver behörigheter för att utföra följande åtgärder på Databricks-tabeller: CREATE, DROP, TRUNCATE, DESCRIBE och ALTER.
  • I inställningarna för åtkomstkontroll (IAM) för ADLS Gen2-filsystemet tilldelar du rollen "Storage Blob Data Contributor" till Qlik Talend Data Integration (AD-app-ID). Det kan ta några minuter innan rollen träder i kraft.
  • För att Qlik Talend Data Integration ska kunna ansluta till ett Databricks-kluster via ODBC, måste användare beviljas ”Can Attach To”-behörighet i sitt Databricks-konto.
  • Ett giltigt säkerhetstoken krävs för att få åtkomst till Databricks. Token ska anges när du konfigurerar Databricks ODBC Access-fälten i slutpunktsinställningarna.
  • När du konfigurerar ett nytt kluster med Microsoft Azure Data Lake Storage (ADLS) Gen2, måste följande rad läggas till i avsnittet ”Spark Config”.

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

  • För att kunna komma åt lagringskatalogerna från Databricks-klustret, måste användare lägga till en konfiguration (i Spark Config) för det lagringskontot och dess nyckel.

    Exempel:  

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

    Mer information finns i onlinehjälpen till Databricks på: https://docs.databricks.com/clusters/configure.html#spark-configuration

  • Bästa praxis är att inte använda rotplats (/Usr/Hive/Warehouse/) för Databricks-databasen, eftersom detta kan påverka prestandan.

Åtkomstbehörighet till lagring

Databricks SQL-beräkningar måste konfigureras för att ge tillgång till molnlagring. Instruktioner finns i leverantörens direkthjälp.

Inställning av drivrutin

En drivrutin behövs bara om du kommer åt en databas via Gateway för dataflytt. I det här fallet måste du installera drivrutinen på Gateway för dataflytt-maskinen.

Du kan installera driver med verktyget för installation av drivrutiner (rekommenderas) eller manuellt. Manuell installation ska bara användas om det mot förmodan skulle inträffa ett problem med verktyget för installation av drivrutiner.

Använda verktyget för installation av drivrutiner för att installera drivrutinen

I det här delavsnittet beskrivs hur driver som krävs installeras. Processen innebär att ett skript körs som automatiskt hämtar, installerar och konfigurerar den nödvändiga driver. Du kan också köra skript som uppdaterar och avinstallerar driver efter behov.

  • Kontrollera att Python 3.6 eller senare är installerad på Dataflytt-gatewayservern.

    Python kommer förinstallerad på de flesta Linuxdistributioner. Du kan kontrollera vilken Pythonversion som är installerad på ditt system genom att köra följande kommando:

    python3 --version

Så här hämtar och installerar du driver:

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. Om du vill kan du bekräfta att tjänsten har stoppats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: inactive (dead) since <timestamp> ago

  3. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  4. Kör följande kommando:

    Syntax:

    ./install databricks

    Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du install databricks-kommandot igen.

    I annat fall visas EULA för driver.

  5. Gör ett av följande:

    • Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
    • Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
    • Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
  6. Gör något av följande:

    • Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
    • Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
    • Skriv in "v" och tryck på [Enter] för att visa EULA igen.

  7. driver kommer att installeras.

  8. Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:

    sudo systemctl start repagent

  9. Du kan även bekräfta att tjänsten har startats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: active (running) since <timestamp> ago

Kör uppdateringskommandot om du vill avinstallera tidigare versioner av driver innan du installerar den tillhandahållna driver.

Så här hämtar och uppdaterar du driver:

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. Om du vill kan du bekräfta att tjänsten har stoppats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: inactive (dead) since <timestamp> ago

  3. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  4. Kör följande kommando:

    Syntax:

    ./update databricks

    Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du update databricks-kommandot igen.

    I annat fall visas EULA för driver.

  5. Gör ett av följande:

    • Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
    • Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
    • Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
  6. Gör något av följande:

    • Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
    • Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
    • Skriv in "v" och tryck på [Enter] för att granska EULA från början.
  7. Den gamla driver avinstalleras och den nya driver installeras.

  8. Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:

    sudo systemctl start repagent

  9. Du kan även bekräfta att tjänsten har startats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: active (running) since <timestamp> ago

Kör avinstalleringskommandot om du vill avinstallera driver.

Så här avinstallerar du driver:

  1. Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.

  2. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  3. Kör följande kommando:

    -syntax

    ./uninstall databricks

    driver kommer att avinstalleras.

Installera drivrutinen manuellt

Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.

När Gateway för dataflytt har installerats hämtar du filen SimbaSparkODBC-<version>-LinuxRPM-64bit.zip. Du hittar en direkt nedladdningslänk till den version som stöds i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. När hämtningen har slutförts kopierar du filerna till Gateway för dataflytt-maskinen.

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. Om du vill kan du bekräfta att tjänsten har stoppats:

    sudo systemctl status repagent

  3. Statusen ska vara enligt följande:

    Active: inactive (dead) since <timestamp> ago

  4. Installera drivrutinen på Gateway för dataflytt-maskinen.

  5. Efter installationen kontrollerar du att följande avsnitt visas i filen /etc/odbcinst.ini:

  6.  [Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Starta Gateway för dataflytt-tjänsten.

    sudo systemctl start repagent

  8. Om du vill kan du bekräfta att tjänsten har startats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: active (running) since <timestamp> ago

  1. Hämta filen databricks-jdbc-<version>.jar . Du hittar en direkt nedladdningslänk till den version som stöds i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. När hämtningen har slutförts kopierar du JAR-filen till Gateway för dataflytt-maskinen.

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

  2. Starta om Gateway för dataflytt-tjänsten och kontrollera att den har startat genom att köra kommandona som beskrivs i Servicekommandon för Gateway för dataflytt

Port

Brandväggsport 443 måste öppnas för utgående kommunikation.

Datatyper

Följande tabell visar de Databricks-datatyper som stöds vid användning av Qlik Cloud och standardmappningen från Qlik Cloud-datatyper.

Information om inbyggd datatyp bevaras och visas i kolumnen Inbyggd datatyp i datauppsättningsvyer. Om kolumnen inte är synlig måste du öppna kolumnväljaren i datauppsättnignsvyn och välja kolumnen Inbyggd datatyp.

Datatyper som stöds
Qlik Cloud-datatyper Databricks-datatyper

BOOLEAN

BOOLEAN

Byte

sträng

Datum

Datum

Tid

sträng

Datum och tid:

TIMESTAMP

INT1

TINYINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

Numerisk

DECIMAL (precision, skala)

REAL4

FLOAT

REAL8

DOUBLE

UINT1

SMALLINT

UINT2

INT

UINT4

BIGINT

UINT8

DECIMAL (20, 0)

sträng

VARCHAR (längd i bytes)

WSTRING

VARCHAR (längd i bytes)

BLOB

sträng

NCLOB

sträng

CLOB

sträng

Följande datatyper konverteras till STRING(255):

  • MAP

  • ARRAY

  • STRUCT

Begränsningar och överväganden

  • När du använder Databricks på AWS med tabeller utan primärnyckel misslyckas den nya inläsningen av tabellerna i mellanlagringen i Storage-appen. För att lösa detta kan du antingen

    • Definiera en primärnyckel i tabellerna.

    • Ställ in spark.databricks.delta.alterTable.rename.enabledOnAWS på True i Databricks.

    • När du skapar en SQL-baserad omvandling returneras alla VARCHAR-fält som STRING(255).

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!