Använd R-skript (Rserve) i ditt flöde
Ansvarsfriskrivning: Det här avsnittet innehåller information om en produkt från tredje part. Observera att även om vi gör allt vi kan för att hålla referenserna till innehåll från tredje part korrekta, kan den information vi tillhandahåller här komma att ändras utan föregående meddelande när R och Rserve ändras. För den senaste informationen kan du hänvisa till dokumentation och support för R och Rserve.
R är ett programmeringsspråk med öppen källkod och en programvarumiljö för statistisk databehandling och grafik. För att utöka funktionerna i Tableau Prep Builder kan du skapa skript i R som du kan använda i ditt flöde som körs genom en Rserve-server för att producera utdata som du kan arbeta vidare med i ditt flöde.
Du kanske till exempel vill lägga till statistiska modelleringsdata eller prognosdata till de data du redan har i ditt flöde med hjälp av ett skript i R och sedan använda kraften i Tableau Prep Builder för att rensa den resulterande datauppsättningen för analys.
För att inkludera R-skript i ditt flöde måste du konfigurera en anslutning mellan Tableau Prep Builder och en Rserve-server. Sedan kan du använda R-skript för att använda funktioner som stöds på data från ditt flöde med hjälp av R-uttryck. När du har angett konfigurationsuppgifterna och pekat Tableau Prep Builder på den fil och funktion du vill använda skickas data säkert till Rserve-servern, uttrycken tillämpas och resultaten returneras som en tabell (R data.frame) som du kan rensa eller mata ut efter behov.
Du kan köra flöden som innehåller skriptsteg i Tableau Server om du har konfigurerat en anslutning till din Rserve-server. Det finns för närvarande inget stöd för att köra flöden med skriptsteg i Tableau Cloud. Information om att konfigurera Tableau Server finns i Konfigurera Rserve-server för Tableau Server.
Förutsättningar
För att inkludera R-skriptsteg i ditt flöde, installera R och konfigurera en anslutning till en Rserve-server.
Resurser
- Ladda ner och installera R(Länken öppnas i ett nytt fönster). Ladda ner och installera den senaste versionen av R för Linux, Mac eller Windows.
- Anteckningar om R-implementering(Länken öppnas i ett nytt fönster) (community-inlägg). Installera och konfigurera en anslutning till R och Rserve för Windows.
- Installera och konfigurera Rserve(Länken öppnas i ett nytt fönster): Instruktioner för allmän installation och konfiguration för alla plattformar.
Rserve för Windows (versionsinformation)(Länken öppnas i ett nytt fönster): Det här ämnet omfattar begränsningar när du gör en lokal installation av Rserve på Windows.
Konfigurera Rserve-server för Tableau Server
Använd följande instruktioner för att konfigurera en anslutning mellan din Rserve-server och Tableau Server.
- Version 2019.3 och senare: Du kan köra publicerade flöden som inkluderar skriptsteg i Tableau Server.
- Version 2020.4.1 och senare: Du kan skapa, redigera och köra publicerade flöden som inkluderar skriptsteg i Tableau Server.
- Tableau Cloud: Det finns för närvarande inget stöd för att skapa och köra flöden med skriptsteg.
- Öppna TSM-kommandoraden.
Ange följande kommandon för att konfigurera värdadress, portvärden och tidsgräns för anslutning:
tsm security maestro-rserve-ssl enable --connection-type {maestro-rserve-secure/maestro-rserve} --rserve-host <Rserve IP address or host name> --rserve-port <Rserve port> --rserve-username <Rserve username> --rserve-password <Rserve password> --rserve-connect-timeout-ms <RServe connect timeout>
- Välj
{maestro-rserve-secure}
för att upprätta en säker anslutning eller{maestro-rserve}
för att upprätta en oskyddad anslutning. - Om du väljer
{maestro-rserve-secure}
måste du specificera certifikatfilen-cf<certificate file path>
på kommandoraden. - Specificera
--rserve-connect-timeout-ms <RServe connect timeout>
i millisekunder. Till exempel--rserve-connect-timeout-ms 900000
.
- Välj
För att inaktivera Rserve-anslutningen anger du följande kommando
tsm security maestro-rserve-ssl disable
Ytterligare Rserve-konfiguration (valfritt)
Du kan skapa en fil med namnet Rserv.cfg för att ställa in standardkonfigurationsvärden för att anpassa Rserve och placera den i /etc/Rserve.conf
installationsplatsen. Om du vill förbättra stabiliteten med Rserve-servern och Tableau Prep Builder kan du lägga till ytterligare värden till din Rserve-konfiguration. När du startar Rserve kan du hänvisa till den här filen för att tillämpa dina konfigurationsalternativ. Till exempel:
- Windows:
Rserve(args="--RS-conf C:\\folder\\Rserv.cfg")
- MacOS och Linux:
Rserve(args=" --no-save --RS-conf ~/Documents/Rserv.cfg")
Följande exempel visar några ytterligare alternativ som du kan inkludera i din konfigurationsfil för Rserve.conf
:
# If your data includes characters other than ASCII, make it explicit that data should be UTF8 encoded. encoding utf8 # Disable interactive behavior for Rserve or Tableau Prep Builder will stall when trying to run the script as it waits for an input response. interactive no
Mer information om hur du konfigurerar en Rserve.conf-fil finns i avsnittet Avancerad Rserve-konfiguration i Anteckningar om R-implementering(Länken öppnas i ett nytt fönster) community-inlägg).
Skapa ditt R-skript
När du skapar ditt skript inkluderar du en funktion som anger en dataram som ett argument för funktionen. Detta anropar data från Tableau Prep Builder. Du måste även returnera resultaten i en dataram med hjälp av datatyper som stöds.
Till exempel:
postal_cluster <- function(df) { out <- kmeans(cbind(df$Latitude, df$Longitude), 3, iter.max=10) return(data.frame(Latitude=df$Latitude, Longitude=df$Longitude, Cluster=out$cluster)) }
Följande datatyper stöds:
Datatyp i Tableau Prep Builder | Datatyp i R |
---|---|
Sträng | UTF-8-standardsträng |
Decimal | Dubbel |
Int | Heltal |
Bool | Logiskt |
Datum | Sträng i ISO_DATE-formatet ”ÅÅÅÅ-MM-DD” med valfri zonförskjutning. Exempelvis är ”2011-12-03+01:00” ett giltigt datum. |
DateTime | Sträng i ISO_DATE_TIME-formatet ”ÅÅÅÅ-MM-DDT:HH:mm:ss” med valfri zonförskjutning. Exempelvis är ”2011-12-03T10:15:30+01:00” ett giltigt datum. |
Obs! Date och DateTime måste alltid returneras som en giltig sträng. Inbyggda datumtyper (DateTime) i R stöds inte som returnerade värden men kan användas i skriptet.
Om du vill returnera andra fält än vad du anger i indata måste du inkludera en getOutputSchema-funktion i skriptet som definierar utdata och datatyper. I annat fall använder utdata fälten från indata, vilka hämtas från steget före skriptsteget i flödet.
Använd följande syntax när du anger datatyperna för dina fält i getOutputSchema:
Funktion i R | Resulterande datatyp |
---|---|
prep_string () | Sträng |
prep_decimal () | Decimal |
prep_int () | Heltal |
prep_bool () | Booleskt |
prep_date () | Datum |
prep_datetime () | DateTime |
Följande exempel visar funktionen getOutputSchema för skriptet postal_cluster:
getOutputSchema <- function() { return (data.frame ( Latitude = prep_decimal (), Longitude = prep_decimal (), Cluster = prep_int ())); }
Anslut till din Rserve-server
Viktigt: Från och med Tableau Prep Builder version 2020.3.3 kan du konfigurera din serveranslutning en gång från den övre hjälpmenyn istället för att konfigurera anslutningen per flöde i skriptsteget genom att klicka på Anslut till Rserve-server och ange din anslutningsinformation. Du måste konfigurera om anslutningen med hjälp av den här nya menyn för alla de flöden som har skapats i en äldre version av Tableau Prep Builder som du öppnar i version 2020.3.3.
- Välj Hjälp > Inställningar och prestanda > Hantera anslutningen till analystillägg.
I listrutan Välj ett analystillägg, välj Rserve.
- Ange dina inloggningsuppgifter:
- Port 6311 är standardporten för Rserve-servrar med klartext.
- Port 4912 är standardporten för SSL-krypterade Rserve-servrar.
- Om servern kräver inloggningsuppgifter anger du ett användarnamn och lösenord.
Om servern använder SSL-kryptering markerar du kryssrutan Kräv SSL och klickar sedan på länken Anpassad konfigurationsfil för att ange ett certifikat för anslutningen.
Obs! Tableau Prep Builder tillhandahåller inte något sätt att testa anslutningen på. Om det uppstår problem med anslutningen visas ett felmeddelande när du försöker köra flödet.
Lägg till ett skript i flödet
Starta din Rserve-server och följ stegen nedan:
Öppna Tableau Prep Builder och klicka på knappen Lägg till anslutning .
Klicka på Skapa > Flöde på sidan Start vid webbredigering, eller klicka på Nytt > Flöde på sidan Utforska. Klicka sedan på Anslut till data.
Välj den filtyp eller server som är värd för dina data i listan med kopplingar. Ange den information som behövs för att logga in och få åtkomst till dina data om du uppmanas till detta.
Klicka på plusikonen och välj Lägg till skript på kontextmenyn.
I rutan Skript under Anslutningstyp väljer du Rserve.
- Välj skriptfil genom att klicka på Bläddra i avsnittet Filnamn.
Ange Funktionsnamn och kör skriptet genom att trycka på Retur.