Fråga service och data Distiller frågor och svar
Det här dokumentet besvarar vanliga frågor om Query Service och Data Distiller. Den innehåller även vanliga felkoder när man använder produkten "Frågor" för datavalidering eller skriver transformerade data tillbaka till datasjön. Om du har frågor eller vill felsöka andra Adobe Experience Platform-tjänster kan du läsa felsökningsguiden för Experience Platform.
Här är två grundläggande frågor för att klargöra hur Query Service och Data Distiller samverkar inom Adobe Experience Platform.
Vilken är relationen mellan Query Service och Data Distiller?
Query Service och Data Distiller är distinkta, kompletterande komponenter som ger specifika funktioner för datafrågor. Frågetjänsten är avsedd för ad hoc-frågor för att utforska, validera och experimentera med importerade data utan att ändra datasjön. Data Distiller fokuserar däremot på batchfrågor som omformar och berikar data, med resultat som lagras tillbaka i datasjön för framtida bruk. Batchfrågor i Data Distiller kan schemaläggas, övervakas och hanteras, vilket stöder mer omfattande databearbetning och -hantering som inte enbart kan hanteras med Query Service.
Frågetjänsten ger tillsammans snabba insikter, medan Data Distiller möjliggör djupgående, permanenta dataomvandlingar.
Vad är skillnaden mellan Query Service och Data Distiller?
Frågetjänst: Används för SQL-frågor med fokus på datautforskande, validering och experimenterande. Utdata lagras inte i datasjön och körningstiden är begränsad till 10 minuter. Ad hoc-frågor är lämpliga för enkla, interaktiva datakontroller och analyser.
Data Distiller: Aktiverar gruppfrågor som bearbetar, rensar och berikar data, med resultat som lagras i datasjön. Dessa frågor har stöd för längre körningstid (upp till 24 timmar) och ytterligare funktioner som schemaläggning, övervakning och snabbare rapportering. Data Distiller är idealiskt för omfattande datamanipulering och schemalagda databehandlingsåtgärder.
Mer information finns i paketeringsdokumentet för frågetjänsten.
Frågekategorier categories
Följande lista med svar på vanliga frågor är indelad i följande kategorier:
Allmänna frågor om frågetjänsten general
Det här avsnittet innehåller information om prestanda, begränsningar och processer.
Kan jag inaktivera funktionen för automatisk komplettering i frågetjänstredigeraren?
Varför blir Frågeredigeraren ibland långsam när jag skriver en fråga?
Kan jag använda Postman för API:t för frågetjänsten?
Finns det någon gräns för hur många rader som får returneras från en fråga via användargränssnittet?
Kan jag använda frågor för att uppdatera rader?
Finns det någon gräns för datastorlek för resultatet från en fråga?
Hur åsidosätter jag gränsen för antalet utgående rader i en SELECT-fråga?
Om du vill kringgå gränsen för utdataraden använder du "LIMIT 0" i frågan. Exempel:
code language-sql |
---|
|
Hur stoppar jag mina frågor från att tajma ut på tio minuter?
En eller flera av följande lösningar rekommenderas vid timeout i frågor.
- Konvertera frågan till en CTAS-fråga och schemalägg körningen. Du kan schemalägga en körning antingen via gränssnitteteller API.
- Kör frågan i ett mindre datasegment genom att tillämpa ytterligare filtervillkor.
- Kör EXPLAIN-kommandot om du vill samla in mer information.
- Granska statistiken för data i datauppsättningen.
- Konvertera frågan till ett förenklat formulär och kör den igen med förberedda satser.
Finns det något problem eller någon inverkan på frågetjänstens prestanda om flera frågor körs samtidigt?
Kan jag använda reserverade nyckelord som kolumnnamn?
ORDER
, GROUP BY
, WHERE
, DISTINCT
. Om du vill använda dessa nyckelord måste du undvika dessa kolumner.Hur hittar jag ett kolumnnamn från en hierarkisk datauppsättning?
Följande steg beskriver hur du visar en tabellvy av en datauppsättning via användargränssnittet, inklusive alla kapslade fält och kolumner i ett förenklat formulär.
- När du har loggat in på Experience Platform väljer du Datasets i den vänstra navigeringen i användargränssnittet för att navigera till Datasets-instrumentpanelen.
- Fliken för datauppsättningar Browse öppnas. Du kan använda sökfältet för att förfina de tillgängliga alternativen. Välj en datauppsättning i den lista som visas.
- Skärmen Datasets activity visas. Välj Preview dataset om du vill öppna en dialogruta med XDM-schemat och en tabellvy med separerade data från den valda datauppsättningen. Mer information finns i förhandsgranskningen av en datauppsättningsdokumentation
- Markera ett fält i schemat om du vill visa innehållet i en förenklad kolumn. Kolumnens namn visas ovanför innehållet till höger på sidan. Du bör kopiera det här namnet om du vill använda det för att fråga om den här datauppsättningen.
I dokumentationen finns fullständig vägledning om hur du arbetar med kapslade datastrukturer med frågeredigeraren eller en tredjepartsklient.
Hur snabbar jag upp en fråga i en datauppsättning som innehåller arrayer?
Varför bearbetas min CTAS-fråga fortfarande efter många timmar för ett litet antal rader?
Om frågan har tagit lång tid på en mycket liten datauppsättning kontaktar du kundsupporten.
Det kan finnas många orsaker till att en fråga har fastnat under bearbetningen. För att fastställa den exakta orsaken krävs en djupgående analys från fall till fall. Kontakta Adobe kundsupport om du vill vara den här processen.
Hur kontaktar jag Adobe kundsupport? customer-support
En fullständig lista över telefonnummer till kundsupport för Adobe finns på hjälpsidan för Adobe. Du kan även hitta hjälp online genom att utföra följande steg:
- Navigera till https://www.adobe.com/ i webbläsaren.
- Välj Sign In till höger om det övre navigeringsfältet.
- Använd ditt Adobe ID och lösenord som är registrerat med din licens för Adobe.
- Välj Help & Support i det övre navigeringsfältet.
En rullgardinsmeny med avsnittet Help and support visas. Välj Contact us om du vill öppna den virtuella kundtjänstassistenten på Adobe eller välj Enterprise support om du vill ha dedikerad hjälp för stora organisationer.
Hur implementerar jag en sekventiell serie med jobb, utan att köra efterföljande jobb om det tidigare jobbet inte slutförs korrekt?
Med den anonyma blockfunktionen kan du kedja en eller flera SQL-satser som körs i sekvens. De gör det även möjligt att hantera undantag.
Mer information finns i dokumentationen för anonyma block.
Hur implementerar jag anpassad attribuering i Query Service?
Det finns två sätt att implementera anpassad attribuering:
- Använd en kombination av de befintliga Adobe-definierade funktionerna för att identifiera om användningsbehoven uppfylls.
- Om föregående förslag inte uppfyller ditt användningssätt bör du använda en kombination av fönsterfunktioner. Fönsterfunktioner tittar på alla händelser i en sekvens. De gör det även möjligt att granska historiska data och kan användas i valfri kombination.
Kan jag formatera mina frågor så att jag enkelt kan återanvända dem?
Hur hämtar jag felloggar för en fråga? error-logs
Om du vill hämta felloggar för en viss fråga måste du först använda API:t för frågetjänsten för att hämta information om frågeloggen. HTTP-svaret innehåller de fråge-ID:n som krävs för att undersöka ett frågefel.
Använd kommandot GET för att hämta flera frågor. Information om hur du anropar API finns i exempeldokumentationen för API-anrop.
Identifiera den fråga du vill undersöka från svaret och gör en annan GET-förfrågan med hjälp av dess id
-värde. Fullständiga instruktioner finns i Hämta en fråga efter ID-dokumentation.
Ett lyckat svar returnerar HTTP-status 200 och innehåller arrayen errors
. Svaret har förkortats av kortfattad anledning.
code language-json |
---|
|
Referensdokumentationen för API:t för frågetjänsten innehåller mer information om alla tillgängliga slutpunkter.
Vad betyder "Fel vid validering av schema"?
Meddelandet "Fel vid validering av schema" betyder att systemet inte kan hitta ett fält i schemat. Du bör läsa dokumentet med bästa praxis för att organisera dataresurser i frågetjänsten följt av Skapa tabell som markeringsdokumentation.
I följande exempel visas hur en CTAS-syntax och en strukturell datatyp används:
code language-sql |
---|
|
Hur behandlar jag snabbt nya data som kommer in i systemet varje dag?
SNAPSHOT
kan användas för att stegvis läsa data i en tabell baserat på ett ögonblicksbild-ID. Detta är idealiskt för användning med designmönstret inkrementell last som endast bearbetar information i datauppsättningen som har skapats eller ändrats sedan den senaste inläsningen. Resultatet blir effektivare bearbetning och kan användas med både direktuppspelning och batchdatabearbetning.Varför är det en skillnad mellan siffrorna som visas i profilgränssnittet och siffrorna som beräknas från datauppsättningen för profilexport?
Siffrorna som visas på profilkontrollpanelen är korrekta vid den senaste ögonblicksbilden. De tal som genereras i exporttabellen är helt beroende av exportfrågan. Därför är det en vanlig orsak att fråga hur många profiler som är kvalificerade för en viss målgrupp.
note note |
---|
NOTE |
Vid sökning inkluderas historiska data, medan användargränssnittet bara visar aktuella profildata. |
Varför returnerade min fråga en tom delmängd och vad ska jag göra?
Den mest troliga orsaken är att frågan är för smal i omfånget. Du bör systematiskt ta bort ett avsnitt i WHERE
-satsen tills du börjar se data.
Du kan också bekräfta att datauppsättningen innehåller data genom att använda en liten fråga som:
code language-sql |
---|
|
Kan jag ta prov på mina data?
Vilka hjälpfunktioner stöds av frågetjänsten?
Stöds alla inbyggda Spark SQL-funktioner eller är användarna begränsade till endast de Spark SQL-wrapperfunktioner som tillhandahålls av Adobe?
Kan användare definiera egna användardefinierade funktioner (UDF) som kan användas i andra frågor?
Vad ska jag göra om min schemalagda fråga misslyckas?
Kontrollera först loggarna för att få reda på mer om felet. Avsnittet med vanliga frågor om att hitta fel i loggar innehåller mer information om hur du gör detta.
Du bör även läsa dokumentationen om hur du utför schemalagda frågor i användargränssnittet och via API.
När du använder Query Editor kan du bara lägga till ett schema i en fråga som redan har skapats och sparats. Detta gäller inte API:t Query Service.
Vad betyder felet "Sessionsgräns nådd"?
Hur hanterar frågeloggen frågor som relaterar till en borttagen datamängd?
Hur hämtar jag bara metadata för en fråga?
Du kan köra en fråga som returnerar noll rader för att bara få metadata som svar. Den här exempelfrågan returnerar bara metadata för den angivna tabellen.
code language-sql |
---|
|
Hur kan jag snabbt iterera på en CTAS-fråga (Skapa tabell som markerad) utan att materialisera den?
Du kan skapa tillfälliga tabeller för att snabbt iterera och experimentera med en fråga innan den materialiseras för användning. Du kan också använda temporära tabeller för att validera om en fråga fungerar.
Du kan till exempel skapa en tillfällig tabell:
code language-sql |
---|
|
Sedan kan du använda den temporära tabellen enligt följande:
code language-sql |
---|
|
Hur ändrar jag tidszonen till och från en UTC-tidsstämpel?
Adobe Experience Platform innehåller data i UTC-format (Coordinated Universal Time) för tidsstämpling. Ett exempel på UTC-formatet är 2021-12-22T19:52:05Z
Frågetjänsten stöder inbyggda SQL-funktioner för konvertering av en viss tidsstämpel till och från UTC-format. Metoderna to_utc_timestamp()
och from_utc_timestamp()
har två parametrar: timestamp och timezone.
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Parameter | Beskrivning |
Tidsstämpel | Tidsstämpeln kan skrivas i antingen UTC-format eller enkelt {year-month-day} -format. Om ingen tid anges är standardvärdet midnatt på morgonen den angivna dagen. |
Tidszon | Tidszonen skrivs i formatet {continent/city}) . Det måste vara en av de erkända tidszonskoderna som finns i TZ-databasen för offentlig domän. |
Konvertera till UTC-tidsstämpeln
Metoden to_utc_timestamp()
tolkar de angivna parametrarna och konverterar den till tidsstämpeln för den lokala tidszonen i UTC-format. Exempelvis är tidszonen i Seoul i Sydkorea UTC/GMT +9 timmar. Genom att ange en tidsstämpel som bara är ett datum, använder metoden standardvärdet midnatt på morgonen. Tidsstämpeln och tidszonen konverteras till UTC-format från tidpunkten i den regionen till en UTC-tidsstämpel för den lokala regionen.
code language-sql |
---|
|
Frågan returnerar en tidsstämpel i användarens lokala tid. I det här fallet är klockan 16.00 föregående dag som Seoul nio timmar framåt.
code language-none |
---|
|
Om den angivna tidsstämpeln var 2021-07-14 12:40:00.0
för tidszonen Asia/Seoul
skulle den returnerade UTC-tidsstämpeln vara 2021-07-14 03:40:00.0
Konsolutdata i gränssnittet för frågetjänsten är ett mer läsbart format:
code language-none |
---|
|
Konvertera från UTC-tidsstämpeln
Metoden from_utc_timestamp()
tolkar de angivna parametrarna från tidsstämpeln för den lokala tidszonen och tillhandahåller motsvarande tidsstämpel för det önskade området i UTC-format. I exemplet nedan är timmen 2:40 PM i användarens lokala tidszon. Seoul-tidszonen som skickas som en variabel ligger nio timmar före den lokala tidszonen.
code language-sql |
---|
|
Frågan returnerar en tidsstämpel i UTC-format för den tidszon som skickas som en parameter. Resultatet är nio timmar före den tidszon som körde frågan.
code language-none |
---|
|
Hur ska jag filtrera mina tidsseriedata?
accordion | |||||
---|---|---|---|---|---|
Svar | |||||
När du frågar med tidsseriedata bör du använda tidsstämpelfiltret när det är möjligt för att få en mer korrekt analys.
Ett exempel på hur du använder tidsstämpelfiltret visas nedan:
|
Hur använder jag operatorn CAST
korrekt för att konvertera mina tidsstämplar i SQL-frågor?
När du använder operatorn CAST
för att konvertera en tidsstämpel måste du inkludera både datumet och tid.
Om du t.ex. saknar tidskomponenten, som visas nedan, uppstår ett fel:
code language-sql |
---|
|
Korrekt användning av operatorn CAST
visas nedan:
code language-sql |
---|
|
Ska jag använda jokertecken som * för att hämta alla rader från mina datamängder?
Ska jag använda NOT IN
i min SQL-fråga?
Operatorn NOT IN
används ofta för att hämta rader som inte finns i en annan tabell eller SQL-sats. Operatorn kan göra prestandan långsammare och kan returnera oväntade resultat om kolumnerna som jämförs accepterar NOT NULL
, eller om du har ett stort antal poster.
I stället för att använda NOT IN
kan du använda antingen NOT EXISTS
eller LEFT OUTER JOIN
.
Om du till exempel har skapat följande tabeller:
code language-sql |
---|
|
Om du använder operatorn NOT EXISTS
kan du replikera med operatorn NOT IN
genom att använda följande fråga:
code language-sql |
---|
|
Om du använder operatorn LEFT OUTER JOIN
kan du också replikera med operatorn NOT IN
genom att använda följande fråga:
code language-sql |
---|
|
Kan jag skapa en datauppsättning med en CTAS-fråga med ett namn med dubbla understreck som de som visas i gränssnittet? Till exempel: test_table_001
.
Hur många samtidiga frågor kan du köra samtidigt?
Finns det en aktivitetspanel där du kan se frågeaktiviteter och status?
Finns det något sätt att återställa uppdateringar? Om det till exempel finns ett fel eller om vissa beräkningar behöver konfigureras om när data skrivs tillbaka till plattformen, hur ska detta scenario hanteras?
Hur kan du optimera frågor i Adobe Experience Platform?
Systemet har inga index eftersom det inte är en databas, men det har andra optimeringar som är kopplade till datalagret. Följande alternativ är tillgängliga för att justera dina frågor:
- Ett tidsbaserat filter som bygger på tidsseriedata.
- Optimerad nedtryckning för strukturdatatypen.
- Optimerad kostnad och minneshantering för matriser och kartdatatyper.
- Inkrementell bearbetning med ögonblicksbilder.
- Ett beständigt dataformat.
Kan inloggningar begränsas till vissa aspekter av frågetjänsten eller är det en"allt eller ingenting"-lösning?
Kan jag begränsa vilka data Query Service kan använda, eller har den bara tillgång till hela Adobe Experience Platform datasjön?
Vilka andra alternativ finns det för att begränsa vilka data som kan nås via frågetjänsten?
Det finns tre sätt att begränsa åtkomsten. De är följande:
- Använd bara SELECT-programsatser och ge datauppsättningar skrivskyddad åtkomst. Tilldela även behörigheten Hantera fråga.
- Använd SELECT/INSERT/CREATE-programsatser och ge datauppsättningar skrivbehörighet. Tilldela även behörigheten för frågehantering.
- Använd ett integrationskonto med föregående förslag ovan och tilldela frågeintegrationsbehörigheten.
När data har returnerats av Query Service, finns det några kontroller som kan köras av Platform för att säkerställa att inga skyddade data har returnerats?
- Frågetjänsten stöder attributbaserad åtkomstkontroll. Du kan begränsa åtkomsten till data på kolumn-/lövnivå och/eller strukturnivå. Mer information om attributbaserad åtkomstkontroll finns i dokumentationen.
Kan jag ange ett SSL-läge för anslutningen till en tredjepartsklient? Kan jag till exempel använda verify-full med Power BI?
Använder vi TLS 1.2 för alla anslutningar från Power BI-klienter för att fråga tjänsten?
Använder en anslutning som görs på port 80 fortfarande https?
Kan jag styra åtkomsten till specifika datauppsättningar och kolumner för en viss anslutning? Hur är detta konfigurerat?
Stöder frågetjänsten kommandot INSERT OVERWRITE INTO?
Hur ofta uppdateras användningsdata på kontrollpanelen för licensanvändning för Data Distiller Compute-timmar?
Kan jag använda kommandot CREATE VIEW utan åtkomst till Data Distiller?
CREATE VIEW
utan åtkomst till Data Distiller. Det här kommandot ger en logisk vy av data men skriver inte tillbaka dem till datasjön.Kan jag använda anonyma block i DbVisualizer?
Data Distiller data-distiller
Hur spåras användningen av Data Distiller-licenser och var kan jag se den här informationen?
Vad är en Compute Hour?
Hur mäts Beräkna timmar?
Varför märker jag ibland en variation i konsumtionen av Beräkna timmar även när jag kör samma fråga i följd?
Är det normalt att lägga märke till en minskning av beräkningstimmar när jag kör samma fråga med samma data under en lång tid? Varför händer detta?
Användargränssnitt för frågor
"Skapa fråga" fastnar "Anslutningen initieras…" när du försöker ansluta till frågetjänsten. Hur åtgärdar jag problemet?
Datauppsättningsexempel
Kan jag skapa exempel på en systemdatauppsättning?
Exportera data exporting-data
I det här avsnittet finns information om hur du exporterar data och begränsningar.
Finns det något sätt att extrahera data från frågetjänsten efter frågebearbetning och spara resultaten i en CSV-fil? export-csv
Ja. Data kan extraheras från frågetjänsten och det finns även ett alternativ för att lagra resultaten i CSV-format via ett SQL-kommando.
Det finns två sätt att spara resultatet av en fråga när du använder en PSQL-klient. Du kan använda kommandot COPY TO
eller skapa en sats med följande format:
code language-sql |
---|
|
Vägledning om hur COPY TO
command används finns i referensdokumentationen för SQL-syntaxen.
Kan jag extrahera innehållet i den slutliga datauppsättningen som har importerats via CTAS-frågor (förutsatt att det är större mängder data som Terabytes)?
Varför returnerar inte Analytics-dataanslutningen data?
En vanlig orsak till det här problemet är att fråga efter tidsseriedata utan tidsfilter. Exempel:
code language-sql |
---|
|
Ska skrivas som:
code language-sql |
---|
|
SQL-syntax
Stöds MERGE INTO av Data Distiller eller Query Service?
ITAS-frågor
Vad är ITAS-frågor?
Tredjepartsverktyg third-party-tools
Detta avsnitt innehåller information om användning av tredjepartsverktyg som PSQL och Power BI.
Kan jag ansluta frågetjänsten till ett verktyg från tredje part?
Finns det något sätt att ansluta frågetjänsten en gång för kontinuerlig användning med ett verktyg från tredje part?
Varför fungerar inte mina inloggningsuppgifter som inte förfaller?
technicalAccountID
och credential
från JSON-konfigurationsfilen. Lösenordsvärdet har formatet: {{technicalAccountId}:{credential}}
.Mer information om hur du ansluter till externa klienter med autentiseringsuppgifter finns i dokumentationen.
Vilken typ av SQL-redigerare från tredje part kan jag ansluta till Query Service Editor?
Kan jag ansluta Power BI-verktyget till Query Service?
Varför tar det lång tid att läsa in kontrollpanelerna när de är anslutna till Query Service?
När systemet är anslutet till frågetjänsten är det anslutet till en interaktiv motor eller batchbearbetningsmotor. Detta kan leda till längre inläsningstider för att återspegla de bearbetade data.
Om du vill förbättra svarstiderna för dina instrumentpaneler bör du implementera en Business Intelligence-server (BI) som ett cachelagringslager mellan Query Service och BI-verktyg. I allmänhet har de flesta BI-verktyg ett extra erbjudande för en server.
Syftet med att lägga till cacheserverlagret är att cachelagra data från frågetjänsten och använda samma för kontrollpaneler för att snabba upp svaret. Detta är möjligt eftersom resultaten för frågor som körs cachelagras i BI-servern varje dag. Cachelagringsservern skickar sedan dessa resultat till alla användare med samma fråga för att minska fördröjningen. Se dokumentationen för verktyget eller tredjepartsverktyget som du använder för att få mer information om den här konfigurationen.
Är det möjligt att komma åt Query Service med anslutningsverktyget pgAdmin?
PostgreSQL API-fel postgresql-api-errors
Följande tabell innehåller PSQL-felkoder och deras möjliga orsaker.
AuthenticationCleartextPassword
.CREATE TABLE
dbName
: kontrollera dbName
Varför fick jag en 58000-felkod när jag använde metoden history_meta() i min tabell?
Metoden history_meta()
används för att komma åt en ögonblicksbild från en datauppsättning. Tidigare, om du skulle köra en fråga på en tom datauppsättning i Azure Data Lake Storage (ADLS), skulle du få en felkod på 58000 som anger att datauppsättningen inte finns. Ett exempel på det gamla systemfelet visas nedan.
code language-shell |
---|
|
Det här felet uppstod eftersom det inte fanns något returvärde för frågan. Det här beteendet har nu åtgärdats för att returnera följande meddelande:
code language-text |
---|
|
REST API-fel rest-api-errors
Följande tabell innehåller HTTP-felkoder och deras möjliga orsaker.