Problembeschreibung
In meiner Produktionsumgebung (containerisierte Linux-Bereitstellung) stoße ich auf einen Syntaxfehler, wenn ich versuche, eine Stream-Berechnung in TDengine 3.3.8.8 zu erstellen. Der Fehler tritt auf, nachdem zwei Supertabellen erfolgreich erstellt wurden, und dadurch wird mein Echtzeit-Datenaggregationsworkflow blockiert, der auf Stream Computing basiert.
Umgebungsdetails
Bereitstellungsumgebung: Produktion
TDengine-Version: 3.3.8.8
Betriebssystem: Linux (generische Distribution)
Bereitstellung Methode: Containerisiert
Reproduktionsschritte
Zuerst erstelle ich erfolgreich die erste Supertabelle (keine Fehler):
CREATE STREAM IF NOT EXISTS equ_ss_stream
INTERVAL(1d)
FROM equ_state PARTITION BY code
into equ_ss
OUTPUT_SUBTABLE(concat('', code))
as
select
_wstart,
round(sum(case when status = 1 then 1 else 0 end)/60,2) run
from %%tbname;
Fehlerinformationen
Der TDengine-Fehler weist explizit auf einen Syntaxfehler in der Nähe des hervorgehobenen Abschnitts der Stream-Erstellungs-SQL hin. Die Kernfehlermeldung lautet:
round(sum(case when status = 1 then 1 else 0 end)/60,2) run
from %%tbname, desc: syntax error near "from equ_state partition by code
into equ_ss
output_subtable(concat(‘’, code))
Was ich bisher versucht habe
Validierte die Supertabellenerstellungs-SQL (beide Tabellen sind vorhanden und können über SHOW TABLES abgefragt werden).
Ich habe die offiziellen TDengine 3.3.8.8-Dokumente auf die Streamerstellungssyntax überprüft (mit Schwerpunkt auf PARTITION BY, INTO und OUTPUT_SUBTABLE-Klauseln).
Zusätzliche Leerzeichen im Stream-SQL entfernt, um Leerzeichen-bezogene Syntaxprobleme zu beseitigen (keine Verbesserung).
Eine minimale Stream-Erstellung getestet (ohne PARTITION BY/
), was funktioniert und bestätigt, dass die grundlegende Stream-Funktionalität intakt ist.
Meine Fragen
Welcher spezifische Syntaxfehler verursacht den Fehler in meiner TDengine 3.3.8.8-Stream-Erstellungsanweisung?
Gibt es strenge Reihenfolge-/Formatanforderungen für PARTITION BY, INTO und OUTPUT_SUBTABLE-Klauseln in TDengine-Stream-SQL?
Ist concat('', code) eine gültige Möglichkeit, auf das Code-Tag in OUTPUT_SUBTABLE für TDengine 3.3.8.8 zu verweisen, oder gibt es eine korrekte Alternative?
Problembeschreibung In meiner [b]Produktionsumgebung[/b] (containerisierte Linux-Bereitstellung) stoße ich auf einen Syntaxfehler, wenn ich versuche, eine Stream-Berechnung in TDengine 3.3.8.8 zu erstellen. Der Fehler tritt auf, nachdem zwei Supertabellen erfolgreich erstellt wurden, und dadurch wird mein Echtzeit-Datenaggregationsworkflow blockiert, der auf Stream Computing basiert. Umgebungsdetails [list] [*]Bereitstellungsumgebung: Produktion [*]TDengine-Version: 3.3.8.8 [*]Betriebssystem: Linux (generische Distribution) [*]Bereitstellung Methode: Containerisiert [/list] Reproduktionsschritte [list] [*]Zuerst erstelle ich erfolgreich die erste Supertabelle (keine Fehler): [code]CREATE TABLE IF NOT EXISTS equ_state (ts TIMESTAMP, status INT) TAGS (code BINARY(25)); [/code]
[*]Dann erstelle ich erfolgreich die zweite Supertabelle (keine Fehler): [code]CREATE TABLE IF NOT EXISTS equ_ss (ts TIMESTAMP, run DOUBLE) TAGS (code BINARY(25)); [/code]
[*]Beim Ausführen der folgenden CREATE STREAM-Anweisung zum Erstellen der Stream-Berechnung schlägt diese sofort mit einem Syntaxfehler fehl: [code]CREATE STREAM IF NOT EXISTS equ_ss_stream INTERVAL(1d) FROM equ_state PARTITION BY code into equ_ss OUTPUT_SUBTABLE(concat('', code)) as select _wstart, round(sum(case when status = 1 then 1 else 0 end)/60,2) run from %%tbname; [/code]
[/list] Fehlerinformationen Der TDengine-Fehler weist explizit auf einen Syntaxfehler in der Nähe des hervorgehobenen Abschnitts der Stream-Erstellungs-SQL hin. Die Kernfehlermeldung lautet: [code]round(sum(case when status = 1 then 1 else 0 end)/60,2) run from %%tbname, desc: syntax error near "from equ_state partition by code into equ_ss output_subtable(concat(‘’, code)) [/code] Was ich bisher versucht habe [list] [*]Validierte die Supertabellenerstellungs-SQL (beide Tabellen sind vorhanden und können über SHOW TABLES abgefragt werden). [*]Ich habe die offiziellen TDengine 3.3.8.8-Dokumente auf die Streamerstellungssyntax überprüft (mit Schwerpunkt auf PARTITION BY, INTO und OUTPUT_SUBTABLE-Klauseln). [*]Zusätzliche Leerzeichen im Stream-SQL entfernt, um Leerzeichen-bezogene Syntaxprobleme zu [url=viewtopic.php?t=30177]beseitigen[/url] (keine Verbesserung). [*]Eine minimale Stream-Erstellung getestet (ohne PARTITION BY/[code]OUTPUT_SUBTABLE[/code]), was funktioniert und bestätigt, dass die grundlegende Stream-Funktionalität intakt ist. [/list] Meine Fragen [list] [*]Welcher spezifische Syntaxfehler verursacht den Fehler in meiner TDengine 3.3.8.8-Stream-Erstellungsanweisung?
[*]Gibt es strenge Reihenfolge-/Formatanforderungen für PARTITION BY, INTO und OUTPUT_SUBTABLE-Klauseln in TDengine-Stream-SQL?
[*]Ist concat('', code) eine gültige Möglichkeit, auf das Code-Tag in OUTPUT_SUBTABLE für TDengine 3.3.8.8 zu verweisen, oder gibt es eine korrekte Alternative?
Problembeschreibung
In meiner Produktionsumgebung (containerisierte Linux-Bereitstellung) stoße ich auf einen Syntaxfehler, wenn ich versuche, eine Stream-Berechnung in TDengine 3.3.8.8 zu erstellen....
Ich habe eine schnelle iOS-App mit zwei statischen Bibliotheken – lib1 und lib2 (sagen wir). Lib2 ist von Lib1 abhängig (d. h. es importiert Lib1, um seine Typen zu verwenden). Lib1 und Lib2 werden...
Ich versuche, das Paket ultralytics_yolo: ^0.1.42 in meiner Flutter-App zu verwenden, aber der Android-Build schlägt mit diesem CMake/NDK-Verknüpfungsfehler fehl.
Ich erhalte dies...
Ich versuche, das Paket ultralytics_yolo: ^0.1.42 in meiner Flutter-App zu verwenden, aber der Android-Build schlägt mit diesem CMake/NDK-Verknüpfungsfehler fehl.
Ich erhalte dies...