Dieses Dokument enthält Antworten auf häufig gestellte Fragen zum Abfrage-Service und eine Liste der häufig verwendeten Fehler-Codes bei der Verwendung des Abfrage-Service. Fragen und Fehlerbehebungen für andere Services in Adobe Experience Platform finden Sie im Handbuch zur Fehlerbehebung in Experience Platform.
Die folgende Liste von Antworten auf häufig gestellte Fragen ist in folgende Kategorien unterteilt:
Dieser Abschnitt enthält Informationen zu Leistung, Beschränkungen und Prozessen.
Nr. Das Deaktivieren der Funktion zur automatischen Vervollständigung wird derzeit vom Editor nicht unterstützt.
Eine potenzielle Ursache ist die Funktion zur automatischen Vervollständigung. Die Funktion verarbeitet bestimmte Metadatenbefehle, die den Editor bei der Abfragebearbeitung gelegentlich verlangsamen können.
Ja, Sie können alle Adobe-API-Dienste mithilfe von Postman (eine kostenlose Drittanbieteranwendung) visualisieren und mit ihnen interagieren. Sehen Sie sich das Postman Setup-Handbuch an, um schrittweise Anleitungen zum Einrichten eines Projekts in der Adobe Developer Console und zum Abrufen aller erforderlichen Anmeldeinformationen für die Verwendung mit Postman zu erhalten. In der offiziellen Dokumentation finden Sie Anleitungen zum Starten, Ausführen und Freigeben von Postman -Sammlungen.
Ja, der Abfrage-Service wendet intern eine Beschränkung von 50.000 Zeilen an, es sei denn, extern wird eine explizite Begrenzung angegeben. Weitere Informationen finden Sie in den Leitlinien zur interaktiven Ausführung von Abfragen.
In Batch-Abfragen wird das Aktualisieren einer Zeile im Datensatz nicht unterstützt.
Nr. Es gibt keine Begrenzung der Datengröße, aber es gibt eine Zeitbeschränkung von 10 Minuten für Abfragen aus einer interaktiven Sitzung. Wenn die Abfrage als Batch-CTAS ausgeführt wird, gilt keine Zeitbeschränkung auf 10 Minuten. Weitere Informationen finden Sie in den Leitlinien zur interaktiven Ausführung von Abfragen.
Wenden Sie „LIMIT 0“ in der Abfrage an, um die Beschränkung für die Ausgabezeilen zu umgehen. Beispiel:
SELECT * FROM customers LIMIT 0;
Es werden eine oder mehrere der folgenden Lösungen empfohlen, wenn bei Abfragen eine Zeitüberschreitung auftritt.
Nr. Der Abfrage-Service verfügt über eine Funktion zur automatischen Skalierung, die sicherstellt, dass gleichzeitige Abfragen keine merklichen Auswirkungen auf die Leistung des Service haben.
Es gibt bestimmte reservierte Keywords, die nicht als Spaltenname verwendet werden können, z. B.: ORDER
, GROUP BY
, WHERE
und DISTINCT
. Wenn Sie diese Keywords verwenden möchten, müssen Sie diese Spalten mit Escape-Zeichen versehen.
Die folgenden Schritte beschreiben, wie Sie eine tabellarische Ansicht eines Datensatzes einschließlich aller verschachtelten Felder und Spalten in einer vereinfachten Form über die Benutzeroberfläche anzeigen.
Die vollständige Anleitung finden Sie in der Dokumentation zum Arbeiten mit verschachtelten Datenstrukturen mit dem Abfrage-Editor oder dem Client eines Drittanbieters.
Um die Leistung von Abfragen von Datensätzen mit Arrays zu verbessern, sollten Sie das Array zunächst während der Laufzeit als CTAS-Abfrage auflösen. Danach können Sie es weiter auf Möglichkeiten zur Verbesserung der Verarbeitungszeit untersuchen.
Wenn die Abfrage für einen sehr kleinen Datensatz lange gedauert hat, wenden Sie sich an den Kunden-Support.
Es kann verschiedene Gründe dafür geben, dass eine Abfrage bei der Verarbeitung hängenbleibt. Um die genaue Ursache zu bestimmen, ist eine gründliche Analyse von Fall zu Fall erforderlich. Kontaktieren Sie den Kunden-Support von Adobe zu diesem Prozess.
Eine vollständige Liste der Telefonnummern des Kunden-Supports von Adobe ist auf der Hilfeseite von Adobe verfügbar. Alternativ können Sie Hilfe online finden, indem Sie die folgenden Schritte ausführen:
Es wird ein Dropdown-Banner mit dem Bereich Hilfe und Support geöffnet. Wählen Sie Kontakt, um den virtuellen Assistenten für Kundenunterstützung von Adobe zu öffnen, oder wählen Sie Enterprise-Support, um spezielle Hilfe für große Unternehmen zu erhalten.
Mit der Funktion für anonyme Blöcke können Sie eine oder mehrere SQL-Anweisungen verketten, die nacheinander ausgeführt werden. Sie beinhalten auch die Möglichkeit der Ausnahmebehandlung.
Weitere Informationen finden Sie in der Dokumentation zu anonymen Blöcken.
Es gibt zwei Möglichkeiten, benutzerdefinierte Attributionen zu implementieren:
Ja, Sie können Abfragen mithilfe von vorbereiteten Anweisungen als Vorlage verwenden. Vorbereitete Anweisungen können die Leistung optimieren und das wiederholte Parsen derselben Abfrage vermeiden. Weitere Informationen finden Sie in der Dokumentation zu vorbereiteten Anweisungen.
Um Fehlerprotokolle für eine bestimmte Abfrage abzurufen, müssen Sie zunächst die Abfrage-Service-API verwenden, um die Details des Abfrageprotokolls abzurufen. Die HTTP-Antwort enthält die Abfrage-IDs, die zur Untersuchung eines Abfragefehlers erforderlich sind.
Verwenden Sie den Befehl „GET“, um mehrere Abfragen abzurufen. Informationen zum Aufruf der API finden Sie in der Dokumentation zu Beispielen für API-Aufrufe.
Identifizieren Sie in der Antwort die Abfrage, die Sie untersuchen möchten, und stellen Sie mithilfe ihres id
-Werts eine weitere GET-Anfrage. Vollständige Anweisungen finden Sie in der Dokumentation zum Abrufen einer Abfrage nach ID.
Eine erfolgreiche Antwort gibt den HTTP-Status 200 zurück und enthält das errors
-Array. Die Antwort wurde zur Vereinfachung gekürzt.
{
"isInsertInto": false,
"request": {
"dbName": "prod:all",
"sql": "SELECT *\nFROM\n accounts\nLIMIT 10\n"
},
"clientId": "8c2455819a624534bb665c43c3759877",
"state": "SUCCESS",
"rowCount": 0,
"errors": [{
'code': '58000',
'message': 'Batch query execution gets : [failed reason ErrorCode: 58000 Batch query execution gets : [Analysis error encountered. Reason: [sessionId: f055dc73-1fbd-4c9c-8645-efa609da0a7b Function [varchar] not defined.]]]',
'errorType': 'USER_ERROR'
}],
"isCTAS": false,
"version": 1,
"id": "343388b0-e0dd-4227-a75b-7fc945ef408a",
}
Die Referenzdokumentation zur Abfrage-Service-API bietet weitere Informationen zu allen verfügbaren Endpunkten.
Die Meldung „Fehler beim Validieren des Schemas“ bedeutet, dass das System ein Feld innerhalb des Schemas nicht finden kann. Sie sollten das Best Practice-Dokument für Organisieren von Datenbeständen im Abfrage-Service lesen, gefolgt von der Dokumentation Tabelle aus Auswahl erstellen.
Das folgende Beispiel zeigt die Verwendung einer CTAS-Syntax und eines „struct“-Datentyps:
CREATE TABLE table_name WITH (SCHEMA='schema_name')
AS SELECT '1' as _id,
STRUCT
('2021-02-17T15:39:29.0Z' AS taskActualCompletionDate,
'2020-09-09T21:21:16.0Z' AS taskActualStartDate,
'Consulting' AS taskdescription,
'5f6527c10011e09b89666c52d9a8c564' AS taskguide,
'Stakeholder Consulting Engagement' AS taskname,
'2020-09-09T15:00:00.0Z' AS taskPlannedStartDate,
'2021-02-15T11:00:00.0Z' AS taskPlannedCompletionDate
) AS _workfront ;
Die SNAPSHOT
-Klausel kann verwendet werden, um Daten einer Tabelle basierend auf einer Schnappschuss-ID inkrementell zu lesen. Dies eignet sich ideal für die Verwendung mit dem Design-Muster für inkrementelles Laden, bei dem nur Informationen im Datensatz verarbeitet werden, die seit der letzten Ausführung des Ladevorgangs erstellt oder geändert wurden. Dadurch hat es eine höhere Verarbeitungseffizienz und kann sowohl bei der Streaming- als auch bei der Batch-Datenverarbeitung verwendet werden.
Die im Profil-Dashboard angezeigten Zahlen entsprechen dem Stand des letzten Schnappschusses. Die in der Tabelle für den Profilexport generierten Zahlen hängen vollständig von der Exportabfrage ab. Daher ist die Abfrage der Anzahl der Profile, die für ein bestimmtes Segment qualifiziert sind, häufig eine Ursache für diese Diskrepanz.
Die Abfrage umfasst historische Daten, während in der Benutzeroberfläche nur die aktuellen Profildaten angezeigt werden.
Die wahrscheinlichste Ursache ist, dass Ihre Abfrage im Umfang zu eng gefasst ist. Sie sollten systematisch je einen Abschnitt der WHERE
-Klausel entfernen, bis Sie erste Daten sehen.
Sie können auch mithilfe einer kleinen Abfrage bestätigen, dass Ihr Datensatz Daten enthält, z. B.:
SELECT count(1) FROM myTableName
An dieser Funktion wird derzeit gearbeitet. Details werden in den Versionshinweisen und über die Dialogfelder der Platform-Benutzeroberfläche bekannt gegeben, sobald die Funktion zur Veröffentlichung bereit ist.
Der Abfrage-Service bietet mehrere integrierte SQL-Helferfunktionen zur Erweiterung der SQL-Funktionalität. Im Dokument finden Sie eine vollständige Liste der vom Abfrage-Service unterstützten SQL-Funktionen.
Bisher wurden noch nicht alle Open-Source-Spark SQL-Funktionen an Data Lake-Daten getestet. Sobald sie getestet und bestätigt sind, werden sie in die Liste der unterstützten Funktionen aufgenommen. Bitte sehen Sie in der Liste der unterstützten Spark SQL -Funktionen nach, um eine bestimmte Funktion zu finden.
Aus Gründen der Datensicherheit ist die benutzerdefinierte Definition von UDFs nicht zulässig.
Zunächst überprüfen Sie die Protokolle, um die Details des Fehlers zu ermitteln. Der FAQ-Abschnitt zum Suchen von Fehlern in Protokollen enthält weitere Informationen dazu.
Sie sollten auch in der Dokumentation nachlesen, wie Sie geplante Abfragen in der Benutzeroberfläche und über die API durchführen können.
Im Folgenden finden Sie eine Liste der Einschränkungen für geplante Abfragen bei Verwendung des Query Editor. Sie gelten nicht für die Query Service-API:
Sie können einen Zeitplan nur zu einer Abfrage hinzufügen, die bereits erstellt, gespeichert und ausgeführt wurde.
Sie können keinen Zeitplan zu einer parametrisierten Abfrage hinzufügen.
Geplante Abfragen können keinen anonymen Block enthalten.
Sie können nur eine Abfragevorlage über die Benutzeroberfläche planen. Wenn Sie einer Abfragevorlage zusätzliche Zeitpläne hinzufügen möchten, müssen Sie die API verwenden. Wenn Sie bereits einen Zeitplan über die API hinzugefügt haben, können Sie keine weiteren Zeitpläne über die Benutzeroberfläche hinzufügen.
„Sitzungs-Limit erreicht“ bedeutet, dass die für Ihr Organisation maximal zulässige Anzahl von Sitzungen des Abfrage-Service erreicht wurde. Wenden Sie sich an den Adobe Experience Platform-Administrator Ihrer Organisation.
Der Abfrage-Service löscht den Abfrageverlauf nie. Das bedeutet, dass alle Abfragen, die auf einen gelöschten Datensatz verweisen, als Ergebnis „Kein gültiger Datensatz“ zurückgeben.
Sie können eine Abfrage ausführen, die null Zeilen zurückgibt, um nur die Metadaten in der Antwort zu erhalten. Diese Beispielabfrage gibt nur die Metadaten für die angegebene Tabelle zurück.
SELECT * FROM <table> WHERE 1=0
Sie können temporäre Tabellen erstellen, um eine Abfrage schnell zu iterieren und zu experimentieren, bevor sie zur Verwendung materialisiert wird. Sie können auch temporäre Tabellen verwenden, um zu überprüfen, ob eine Abfrage funktioniert.
Sie können zum Beispiel eine temporäre Tabelle erstellen:
CREATE temp TABLE temp_dataset AS
SELECT *
FROM actual_dataset
WHERE 1 = 0;
Anschließend können Sie die temporäre Tabelle wie folgt verwenden:
INSERT INTO temp_dataset
SELECT a._company AS _company,
a._id AS _id,
a.timestamp AS timestamp
FROM actual_dataset a
WHERE timestamp >= TO_TIMESTAMP('2021-01-21 12:00:00')
AND timestamp < TO_TIMESTAMP('2021-01-21 13:00:00')
LIMIT 100;
Adobe Experience Platform behält Daten im UTC-Zeitstempelformat (Coordinated Universal Time) bei. Ein Beispiel für das UTC-Format ist 2021-12-22T19:52:05Z
Der Abfrage-Service unterstützt integrierte SQL-Funktionen zum Konvertieren eines bestimmten Zeitstempels in das und aus dem UTC-Format. Sowohl die Methode to_utc_timestamp()
als auch from_utc_timestamp()
benötigt zwei Parameter: Zeitstempel und Zeitzone.
Parameter | Beschreibung |
---|---|
Zeitstempel | Der Zeitstempel kann entweder im UTC-Format oder im einfachen {year-month-day} -Format geschrieben werden. Wenn keine Uhrzeit angegeben wird, ist der Standardwert Mitternacht am Morgen des angegebenen Tages. |
Zeitzone | Die Zeitzone wird im Format {continent/city}) angegeben. Es muss einer der anerkannten Zeitzonen-Codes sein, die in der öffentlich zugänglichen TZ-Datenbank zu finden sind. |
Die Methode to_utc_timestamp()
interpretiert die angegebenen Parameter und konvertiert sie in den Zeitstempel Ihrer lokalen Zeitzone im UTC-Format. Beispielsweise ist die Zeitzone in Seoul, Südkorea UTC/GMT +9 Stunden. Bei Angabe eines Zeitstempels, der nur das Datum enthält, verwendet die Methode den Standardwert Mitternacht am Morgen. Der Zeitstempel und die Zeitzone werden vom Zeitpunkt dieser Region in einen UTC-Zeitstempel Ihrer lokalen Region im UTC-Format konvertiert.
SELECT to_utc_timestamp('2021-08-31', 'Asia/Seoul');
Die Abfrage gibt einen Zeitstempel in der Ortszeit der Benutzenden zurück. In diesem Fall 15 Uhr am Vortag, da Seoul neun Stunden voraus ist.
2021-08-30 15:00:00
Ein weiteres Beispiel: Wenn der angegebene Zeitstempel 2021-07-14 12:40:00.0
für die Zeitzone Asia/Seoul
lautet, wäre der zurückgegebene UTC-Zeitstempel 2021-07-14 03:40:00.0
Die Konsolenausgabe in der Benutzeroberfläche des Abfrage-Service ist ein besser lesbares Format:
8/30/2021, 3:00 PM
Die Methode from_utc_timestamp()
interpretiert die angegebenen Parameter aus dem Zeitstempel Ihrer lokalen Zeitzone und liefert den entsprechenden Zeitstempel der gewünschten Region im UTC-Format. Im folgenden Beispiel ist es 14:40 Uhr in der lokalen Zeitzone der Benutzenden. Die als Variable übergebene Zeitzone Seoul ist der lokalen Zeitzone neun Stunden voraus.
SELECT from_utc_timestamp('2021-08-31 14:40:00.0', 'Asia/Seoul');
Die Abfrage gibt einen Zeitstempel im UTC-Format für die Zeitzone zurück, die als Parameter übergeben wird. Das Ergebnis liegt neun Stunden vor der Zeitzone, die die Abfrage ausgeführt hat.
8/31/2021, 11:40 PM
Bei Abfragen mit Zeitreihendaten sollten Sie den Zeitstempelfilter verwenden, wann immer dies möglich ist, um eine genauere Analyse zu ermöglichen.
Die Datums-Zeichenfolge muss im Format yyyy-mm-ddTHH24:MM:SS
sein.
Nachfolgend finden Sie ein Beispiel für die Verwendung des Zeitstempelfilters:
SELECT a._company AS _company,
a._id AS _id,
a.timestamp AS timestamp
FROM dataset a
WHERE timestamp >= To_timestamp('2021-01-21 12:00:00')
AND timestamp < To_timestamp('2021-01-21 13:00:00')
CAST
-Operator richtig, um meine Zeitstempel in SQL-Abfragen zu konvertieren?Wenn Sie den CAST
-Operator verwenden, um einen Zeitstempel zu konvertieren, müssen Sie sowohl das Datum als auch die Uhrzeit angeben.
Fehlt zum Beispiel die Zeitkomponente, wie unten gezeigt, führt dies zu einem Fehler:
SELECT * FROM ABC
WHERE timestamp = CAST('07-29-2021' AS timestamp)
Die korrekte Verwendung des CAST
-Operators finden Sie unten:
SELECT * FROM ABC
WHERE timestamp = CAST('07-29-2021 00:00:00' AS timestamp)
Sie können keine Platzhalter verwenden, um alle Daten aus Ihren Zeilen abzurufen, da der Abfrage-Service als Spalten-Speicher und nicht als traditionelles zeilenbasiertes Speichersystem behandelt werden sollte.
NOT IN
in meiner SQL-Abfrage verwenden?Der NOT IN
-Operator wird häufig zum Abrufen von Zeilen verwendet, die nicht in einer anderen Tabelle oder SQL-Anweisung gefunden werden. Dieser Operator kann die Leistung verlangsamen und unerwartete Ergebnisse liefern, wenn die zu vergleichenden Spalten NOT NULL
akzeptieren oder wenn Sie eine große Anzahl von Datensätzen haben.
Anstatt NOT IN
zu verwenden, können Sie entweder NOT EXISTS
oder LEFT OUTER JOIN
verwenden.
Wenn Sie zum Beispiel die folgenden Tabellen erstellt haben:
CREATE TABLE T1 (ID INT)
CREATE TABLE T2 (ID INT)
INSERT INTO T1 VALUES (1)
INSERT INTO T1 VALUES (2)
INSERT INTO T1 VALUES (3)
INSERT INTO T2 VALUES (1)
INSERT INTO T2 VALUES (2)
Wenn Sie den NOT EXISTS
-Operator verwenden, können Sie den NOT IN
-Operator replizieren, indem Sie die folgende Abfrage verwenden:
SELECT ID FROM T1
WHERE NOT EXISTS
(SELECT ID FROM T2 WHERE T1.ID = T2.ID)
Wenn Sie den LEFT OUTER JOIN
-Operator verwenden, können Sie alternativ mit dem NOT IN
-Operator replizieren, indem Sie die folgende Abfrage verwenden:
SELECT T1.ID FROM T1
LEFT OUTER JOIN T2 ON T1.ID = T2.ID
WHERE T2.ID IS NULL
test_table_001
.Nein, dies ist eine absichtliche Einschränkung in der gesamten Experience Platform, die für alle Adobe-Services gilt, einschließlich Abfrage-Service. Ein Name mit zwei Unterstrichen ist als Schema- und Datensatzname zulässig, aber der Tabellenname für den Datensatz darf nur einen einzigen Unterstrich enthalten.
Es gibt keine Begrenzung der Gleichzeitigkeit von Abfragen, da Batch-Abfragen als Backend-Aufträge ausgeführt werden. Es gibt jedoch ein Zeitlimit für Abfragen, das auf 24 Stunden festgelegt ist.
Es gibt Monitoring- und Warnfunktionen, mit denen Sie sich über Abfrageaktivitäten und -status informieren können. Weitere Informationen finden Sie in den Dokumenten zur Auditprotokollintegration für den Abfrage-Service und zu Abfrageprotokollen.
Derzeit unterstützen wir keine Zurücksetzungen oder Aktualisierungen auf diese Weise.
Das System hat keine Indizes, da es keine Datenbank ist, aber es sind andere Optimierungen im Zusammenhang mit dem Datenspeicher vorhanden. Die folgenden Optionen stehen zur Abstimmung Ihrer Abfragen zur Verfügung:
Der Abfrage-Service ist eine „Alles-oder-Nichts“-Lösung. Es kann kein Teilzugriff gewährt werden.
Ja, Sie können die Abfrage auf Datensätze mit schreibgeschütztem Zugriff beschränken.
Es gibt drei Möglichkeiten, den Zugriff zu beschränken. Diese sind wie folgt:
Ja, SSL-Modi werden unterstützt. Siehe Dokumentation zu SSL-Modi für eine Aufschlüsselung der verschiedenen verfügbaren SSL-Modi und des Schutzniveaus, das sie bieten.
Ja. Daten in Bewegung sind immer HTTPS-konform. Die derzeit unterstützte Version ist TLS1.2.
Ja, eine über Port 80 hergestellte Verbindung verwendet immer noch SSL. Sie können auch Port 5432 verwenden.
Ja, die attributbasierte Zugriffssteuerung wird erzwungen, wenn sie konfiguriert ist. Weitere Informationen finden Sie in der Übersicht über die attributbasierte Zugriffssteuerung.
Nein, Query Service unterstützt den Befehl „INSERT OVERWRITE INTO“ nicht.
Dieser Abschnitt enthält Informationen zum Exportieren von Daten und Einschränkungen.
Ja. Daten können aus dem Abfrage-Service extrahiert werden. Außerdem besteht die Möglichkeit, die Ergebnisse über einen SQL-Befehl im CSV-Format zu speichern.
Es gibt zwei Möglichkeiten, die Ergebnisse einer Abfrage bei der Verwendung eines PSQL-Clients zu speichern. Sie können den Befehl COPY TO
verwenden oder eine Anweisung in folgendem Format erstellen:
SELECT column1, column2
FROM <table_name>
\g <table_name>.out
Hinweise zur Verwendung des Befehls COPY TO
finden Sie in der SQL-Syntaxreferenzdokumentation.
Nr. Es gibt derzeit keine Funktion für die Extraktion aufgenommener Daten.
Eine häufige Ursache für dieses Problem ist die Abfrage von Zeitreihendaten ohne Zeitfilter. Beispiel:
SELECT * FROM prod_table LIMIT 1;
Sollte wie folgt geschrieben werden:
SELECT * FROM prod_table
WHERE
timestamp >= to_timestamp('2022-07-22')
and timestamp < to_timestamp('2022-07-23');
Dieser Abschnitt enthält Informationen zur Verwendung von Drittanbieter-Tools wie PSQL und Power BI.
Ja, Sie können mehrere Desktop-Clients von Drittanbietern mit dem Abfrage-Service verbinden. In der Dokumentation finden Sie ausführliche Informationen über die verfügbaren Clients und darüber, wie Sie sie mit dem Abfrage-Service verbinden.
Ja, Desktop-Clients von Drittanbietern können über eine einmalige Einrichtung ohne ablaufende Anmeldeinformationen mit dem Abfrage-Service verbunden werden. Nicht ablaufende Anmeldeinformationen können von einem autorisierten Benutzer generiert und in einer JSON-Datei empfangen werden, die automatisch auf den lokalen Computer heruntergeladen wird. Eine vollständige Anleitung zum Erstellen und Herunterladen von nicht ablaufenden Anmeldeinformationen finden Sie in der Dokumentation.
Der Wert für nicht ablaufende Anmeldeinformationen sind die verketteten Argumente aus der technicalAccountID
und dem credential
aus der JSON-Konfigurationsdatei. Der Kennwortwert hat folgende Form: {{technicalAccountId}:{credential}}
.
In der Dokumentation finden Sie weitere Informationen zur Verbindung mit externen Clients mit Anmeldeinformationen.
Alle SQL-Editoren von Drittanbietern, die PSQL oder Postgres Client-kompatibel sind, können mit dem Abfrage-Service-Editor verbunden werden. In der Dokumentation zum Verbinden von Clients mit dem Abfrage-Service finden Sie eine Liste der verfügbaren Anweisungen.
Ja, Sie können Power BI mit dem Abfrage-Service verbinden. In der Dokumentation finden Sie Anweisungen zum Verbinden der Power BI Desktop-Anwendung mit dem Abfrage-Service.
Wenn das System mit dem Abfrage-Service verbunden ist, ist es mit einer interaktiven oder Batch-Verarbeitungs-Engine verbunden. Dies kann zu längeren Ladezeiten führen, um die verarbeiteten Daten widerzuspiegeln.
Wenn Sie die Antwortzeiten für Ihre Dashboards verbessern möchten, sollten Sie einen Business Intelligence-Server (BI) als Caching-Ebene zwischen dem Abfrage-Service und den BI-Tools implementieren. Im Allgemeinen bieten die meisten BI-Tools ein zusätzliches Angebot für einen Server.
Durch Hinzufügen der Cache-Server-Ebene werden die Daten aus dem Abfrage-Service zwischengespeichert, wodurch Dashboards die Antwort beschleunigen können. Dies ist möglich, da die Ergebnisse für ausgeführte Abfragen jeden Tag auf dem BI-Server zwischengespeichert werden. Der Caching-Server stellt diese Ergebnisse dann für jeden Benutzer mit derselben Abfrage bereit, um die Latenz zu verringern. Weitere Informationen zu dieser Einrichtung finden Sie in der Dokumentation des Dienstprogramms oder des Drittanbieter-Tools, das Sie verwenden.
Nein, pgAdmin-Konnektivität wird nicht unterstützt. Eine Liste der verfügbaren Drittanbieter-Clients und eine Anleitung, wie Sie diese mit dem Abfrage-Service verbinden können, finden Sie in der Dokumentation.
Die folgende Tabelle enthält PSQL-Fehler-Codes und die möglichen Ursachen.
Fehler-Code | Verbindungsstatus | Beschreibung | Mögliche Ursache |
---|---|---|---|
08P01 | K. A. | Nicht unterstützter Nachrichtentyp | Nicht unterstützter Nachrichtentyp |
28P01 | Start-up – Authentifizierung | Ungültiges Kennwort | Ungültiges Authentifizierungs-Token |
28000 | Start-up – Authentifizierung | Ungültiger Autorisierungstyp | Ungültiger Autorisierungstyp. Muss AuthenticationCleartextPassword sein. |
42P12 | Start-up – Authentifizierung | Keine Tabellen gefunden | Keine Tabellen zur Verwendung gefunden |
42601 | Abfrage | Syntaxfehler | Ungültiger Befehl- oder Syntaxfehler |
42P01 | Abfrage | Tabelle nicht gefunden | Die in der Abfrage angegebene Tabelle wurde nicht gefunden |
42P07 | Abfrage | Tabelle vorhanden | Eine Tabelle mit demselben Namen ist bereits vorhanden (TABELLE ERSTELLEN) |
53400 | Abfrage | LIMIT überschreitet den Maximalwert | Benutzer hat eine LIMIT-Klausel über 100.000 angegeben |
53400 | Abfrage | Anweisungs-Timeout | Die abgesendete Live-Anweisung dauerte mehr als 10 Minuten |
58000 | Abfrage | Systemfehler | Interner Systemfehler |
0A000 | Abfrage/Befehl | Nicht unterstützt | Die Funktion/Funktionalität in der Abfrage/dem Befehl wird nicht unterstützt |
42501 | TABELLE LÖSCHEN Abfrage | Tabelle löschen, die nicht vom Abfrage-Service erstellt wurde | Die Tabelle, die gelöscht werden soll, wurde nicht vom Abfrage-Service mit der Anweisung CREATE TABLE erstellt |
42501 | TABELLE LÖSCHEN Abfrage | Tabelle nicht vom authentifizierten Benutzer erstellt | Die Tabelle, die gelöscht werden soll, wurde nicht von dem aktuell angemeldeten Benutzer erstellt |
42P01 | TABELLE LÖSCHEN Abfrage | Tabelle nicht gefunden | Die in der Abfrage angegebene Tabelle wurde nicht gefunden |
42P12 | TABELLE LÖSCHEN Abfrage | Keine Tabelle für dbName gefunden: Bitte überprüfen Sie dbName |
In der aktuellen Datenbank wurden keine Tabellen gefunden |
Die Methode history_meta()
wird verwendet, um auf einen Schnappschuss eines Datensatzes zuzugreifen. Wenn Sie früher eine Abfrage über einen leeren Datensatz in Azure Data Lake Storage (ADLS) durchgeführt haben, erhielten Sie einen 58000-Fehler-Code, der besagte, dass der Datensatz nicht existiert. Nachfolgend finden Sie ein Beispiel für den alten Systemfehler.
ErrorCode: 58000 Internal System Error [Invalid table your_table_name. historyMeta can be used on datalake tables only.]
Dieser Fehler war aufgetreten, weil für die Abfrage kein Rückgabewert vorhanden war. Dieses Verhalten wurde jetzt korrigiert und gibt nun die folgende Meldung zurück:
Query complete in {timeframe}. 0 rows returned.
Die folgende Tabelle enthält HTTP-Fehler-Codes und die möglichen Ursachen.
HTTP-Status-Code | Beschreibung | Mögliche Ursachen |
---|---|---|
400 | Ungültige Anfrage | Falsch formulierte oder illegale Abfrage |
401 | Authentifizierung fehlgeschlagen | Ungültiges Authentifizierungs-Token |
500 | Interner Server-Fehler | Interner Systemfehler |