Amazon Redshift
Du kan använda Amazon Redshift 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 Amazon Redshift som mål omfattar att:
- Uppfylla förhandskraven
- Konfigurera en koppling till molnförberedelseområdet (Amazon S3). Detta krävs inte om du registrerar befintliga data.
- Konfigurera en koppling till Amazon Redshift
Konfigurera ett molnförberedelseområde
Konfigurering av en koppling till Amazon Redshift kräver också att du konfigurerar koppling till ett Amazon S3-molnområde för mellanlagring, där data och ändringar mellanlagras innan de tillämpas och lagras.
Mer information om att konfigurera en koppling till de här plattformarna finns i Amazon S3.
Konfigurera en koppling till Amazon Redshift
När du har angett mellanlagringsinställningarna gör du följande:
-
I Kopplingar klickar du på Skapa koppling.
-
Välj Amazon Redshift-målkopplingen och ange följande inställningar:
Datamål
Datagateway
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 på plats bakom en brandvägg eller 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.
Anslutningsegenskaper
-
Server: värdnamn för Amazon Redshift-databasservern.
-
Port: den port som används för att få tillgång till din Amazon Redshift-databas. Standardvärdet är 5439.
Kontoegenskaper
Användarnamn och Lösenord: Användarnamn och lösenord för en användare som har behörighet att komma åt Amazon Redshift-databasen.
Databasegenskaper
-
Databasnamn: du kan använda två metoder för att specificera en databas:
- Metod 1 - Välj från en lista: Klicka på Ladda databas och välj sedan en databas.
- Metod 2 - Manuellt: Välj Ange databasnamn manuellt och ange databasens namn.
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 - och -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
Behörigheter som krävs
Ge följande behörigheter till Redshift-databasen:
- Bevilja COPY
- Bevilja INSERT
- Bevilja UPDATE
- Bevilja DELETE
- Bevilja SELECT
- Skapa schema (krävs endast om det inte finns några scheman och du vill att Qlik Talend Data Integration ska skapa dem)
- Bevilja CREATE TABLE
- Bevilja ALTER TABLE
- Bevilja DROP TABLE
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.
Förbereda installationen
-
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
Installera driver
Så här hämtar och installerar du driver:
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
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
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./install redshift
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 redshift-kommandot igen.
I annat fall visas EULA för driver.
-
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.
-
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.
-
Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:
sudo systemctl start repagent
-
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
driver kommer att installeras.
Uppdatering av driver
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:
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
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
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./update redshift
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 redshift-kommandot igen.
I annat fall visas EULA för driver.
-
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.
-
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.
-
Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:
sudo systemctl start repagent
-
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
Den gamla driver avinstalleras och den nya driver installeras.
Avinstallera driver
Kör avinstalleringskommandot om du vill avinstallera driver.
Så här avinstallerar du driver:
-
Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
-syntax
./uninstall redshift
driver kommer att avinstalleras.
Installera drivrutinen manuellt
Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
Om du vill kan du bekräfta att tjänsten har stoppats:
sudo systemctl status repagent
-
Hämta och installera de klientverktyg för Linux SQL som krävs för att koppla till Amazon Redshift-klustret. För Qlik Data Gateway – dataflytt krävs bara drivrutinen Amazon Redshift ODBC (x64) 1.4.65.1000.
Hämta drivrutinen från:
När du har installerat ODBC-drivrutinen, redigerar du filen /etc/odbcinst.ini enligt följande:
[ODBC Drivers]
Amazon Redshift (x64)=Installed
Och:
[Amazon Redshift (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
-
Starta Gateway för dataflytt-tjänsten.
sudo systemctl start repagent
-
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
Statusen ska vara enligt följande:
Active: inactive (dead) since <timestamp> ago
En lista över de drivrutiner som stöds av Amazon Redshift hittar du här: http://docs.aws.amazon.com/redshift/latest/mgmt/configure-odbc-connection.html.
Port
Port 5439 (Amazon Redshift Cluster) måste vara öppen för utgående kommunikation.
CA-certifikat
Gateway för dataflytt kopplar till AWS med SSL. Detta kräver att det finns ett lämpligt CA-certifikat på Gateway för dataflytt-maskinen, annars misslyckas kopplingen. Syftet med CA-certifikatet är att autentisera äganderätten till AWS-servercertifikatet.
Kontrollera att det nödvändiga CA-certifikatet finns på följande plats på Linux-maskinen:
/etc/pki/tls/certs/ca-bundle.crt
Om det inte finns är den enklaste lösningen att kopiera certifikatpaketet från en annan Linux-maskin.
Allmänna förutsättningar och beaktanden
-
Om din datakälla har 4-bytes emojitecken ska du använda en omvandling för att konvertera datatypen från WSTRING(n ) till WSTRING ( n*2 ).
-
Kontrollera att inställningarna för tid och tidszon på Gateway för dataflytt-maskinen är korrekta. Detta krävs för att säkerställa:
- Korrekt synkronisering av uppgifter som rör fullständig inläsning och CDC
- Korrelation mellan transaktionsloggtiden och den faktiska tiden
-
Du kan inte läsa in live-vyer och historikvyer till Qlik Cloud Analystjänster från datauppsättningar som skapats i ett Amazon Redshift-mål av Qlik Talend Data Integration.
Begränsningar och överväganden
-
Amazon Redshift-kopplingen har endast stöd för standardautentisering (användarnamn och lösenord).
Datatyper
Följande tabell visar de Amazon Redshift-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.
Qlik Cloud-datatyper | Amazon Redshift-datatyper |
---|---|
BOOLEAN |
BOOLEAN |
Byte |
VARBINARY(längd) |
Datum |
Datum |
Tid |
VARCHAR (20) |
Datum och tid: |
Om skala är => 0 och =< 6, då: TIMESTAMP Om skala är => 7 och =< 12, då: VARCHAR (37) |
INT1 |
INT2 |
INT2 |
INT2 |
INT4 |
INT4 |
INT8 |
INT8 |
Numerisk |
Om skala är => 0 och =< 37, då: NUMERIC (precision, skala) Om skala är => 38 och =< 127, då: VARCHAR (längd) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
sträng |
Om längden är => 1 och =< 65535, så: VARCHAR (längd i bytes) Om längden är => 65535 och =< 2147483647, så: VARCHAR (65535) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC (20,0) |
WSTRING |
Om längd är => 1 och =< 21845, då: NVARCHAR (längd i bytes) Om längd är => 21846 och =< 2147483647, då: NVARCHAR (65535) |
BLOB |
VARBYTE (16777216) |
NCLOB |
VARCHAR (65535) |
CLOB |
VARCHAR (65535) |
Följande SQL-serverdatatyper stöds inte. Data kommer inte att läsas.
-
HLLSKETCH
Följande datatyper konverteras till VARCHAR (65535):
-
GEOGRAPHY
-
GEOMETRY