Zum Inhalt springen

Eine hochgeladene Datei über DuckDB abfragen

Der Starter-Plan von Saiku Cloud unterstützt einen Datei-Upload-Datenpfad. Sie laden ein Parquet oder CSV hoch; Saiku speichert es in R2; die Engine fragt es über in-process DuckDB ab. Kein Kunden-Warehouse erforderlich; keine Firewall einzurichten.

Dies ist der einfachste „Ich möchte sehen, wie Saiku etwas abfragt”-Pfad für Evaluatoren und kleine Workloads.

Plan-Auswirkung: [Starter] — Datei-Upload ist der Starter-Plan-Datenpfad. [Team]- und [Business]-Kunden haben in der Regel ein eigenes Warehouse, sodass sie eine der anderen Verbindungs-Dokumentationen treffen, obwohl Datei-Upload auf jedem Plan funktioniert.

Treiber: Saiku Cloud liefert DuckDBs offiziellen JDBC-Treiber. Dateien werden in-process abgefragt — kein Netzwerk-Round-Trip auf dem Datenpfad.

Was Sie brauchen

  • Eine Parquet-, CSV- oder JSON-Datei ≤ 5 GB.
  • Eine Vorstellung davon, welche Spalten Dimensionen vs. welche Measures sind (wir leiten automatisch ab, wenn Sie uns lassen).

Schritt 1 — Die Datei hochladen

  1. Melden Sie sich bei https://cloud.saiku.bi/ an.

  2. Navigieren Sie zu Dateien in der linken Seitenleiste.

  3. Ziehen Sie Ihre Datei per Drag-and-Drop in den Upload-Bereich, oder klicken Sie auf Datei hochladen und wählen Sie sie aus Ihrem Dateisystem.

Während der Upload fortschreitet, tut Saiku Cloud Folgendes:

  1. Streamt die Datei in unseren R2-Bucket (einen S3-kompatiblen Speicher).
  2. Startet eine in-process DuckDB-Session gegen die Datei.
  3. Führt DESCRIBE aus, um Spaltentypen zu lesen.
  4. Gibt das Schema zum Review an das Dashboard zurück.

Für Parquet und JSON ist die Schema-Inferenz exakt (das Dateiformat trägt Spaltentypen). Für CSV schnüffeln wir die ersten 10.000 Zeilen und raten — meist korrekt, aber Sie können Typen im nächsten Schritt überschreiben, wenn etwas falsch herauskommt.

Schritt 2 — Das vorgeschlagene Schema überprüfen

Nach dem Upload navigiert Saiku Sie zu einem Schema-Review-Bildschirm. Die Spalten werden mit den abgeleiteten Typen aufgeführt:

  • INTEGER / BIGINT / DOUBLE → numerisch. Standardvorschlag: ein Sum-Measure.
  • VARCHAR / TEXT → kategorisch. Standardvorschlag: eine Dimension.
  • TIMESTAMP / DATE → Zeit. Standardvorschlag: eine Zeit-Hierarchie-Dimension mit Year/Month/Day-Levels.

Sie können:

  • Spalten verwerfen, die Sie nicht brauchen (verkürzt die Cube-Ladezeit).
  • Eine numerische Spalte von Sum zu Avg / Count / Min / Max ändern.
  • Eine String-Spalte zu einer Dimensionshierarchie befördern, wenn sie natürliche Levels hat (Region → Land → Stadt).
  • Ein Calculated Measure hinzufügen (Mondrian-MDX-Ausdruck — für Power User).

Oder die Standardwerte akzeptieren und auf Schema vorschlagen klicken. Die meisten gelegentlichen Evaluatoren tun genau das.

Schritt 3 — Den Cube öffnen

Nach dem Speichern navigiert Saiku Sie zu Analysieren. Ihre hochgeladene Datei ist jetzt ein abfragbarer Cube. Ziehen Sie Dimensionen auf Zeilen/Spalten, ziehen Sie Measures in die Werte, sehen Sie das Ergebnis.

Daten aktualisieren

Erneutes Hochladen derselben Datei (gleicher Name) ersetzt sie. Saiku führt die Schema-Inferenz erneut aus + markiert etwaige Spaltentyp-Änderungen. Wenn die neue Datei Spalten enthält, die nicht zum bestehenden Schema passen (Sie haben eine Spalte umbenannt, eine neue hinzugefügt), werden Sie aufgefordert, entweder:

  • Neu vorzuschlagen — ein frisches Schema zu generieren. Verliert alle Spalten-spezifischen Anpassungen, die Sie gemacht haben.
  • Behalten + abgleichen — bewahrt Ihre Anpassungen; verwirft Verweise auf Spalten, die nicht mehr existieren.

Datei-Format-Stolpersteine

CSV: Typ-Inferenz

CSV trägt keine Spaltentypen. Saiku Cloud schnüffelt die ersten 10.000 Zeilen und rät. Häufige Überraschungen:

  • Eine Spalte, die meist Ganzzahlen enthält, aber gelegentlich "NA" oder "-" hat, wird als VARCHAR abgeleitet. Bereinigen Sie entweder die Quelldaten oder überschreiben Sie die Spalte zu INTEGER (Saiku behandelt nicht-numerische Werte als NULL).
  • Datumsangaben im Nicht-ISO-Format (12/31/2025 statt 2025-12-31) werden als VARCHAR abgeleitet. Sauberer ist es, in Ihrer Quell-Pipeline in ISO zu konvertieren; Saiku erkennt keine locale-spezifischen Datumsformate automatisch.

Parquet: bevorzugen Sie dieses Format

Parquet trägt Spaltentypen + Statistiken nativ. Die Schema-Inferenz ist exakt, die Dateigröße ist typischerweise 1/4 des CSV-Äquivalents, und DuckDB kann ganze Row-Groups beim Filtern überspringen. Verwenden Sie Parquet, wenn Sie die Wahl haben.

JSON: verschachtelte Felder

JSON-lines (ein Objekt pro Zeile) wird unterstützt. Tief verschachtelte Strukturen (Objekte-in-Arrays-in-Objekten) werden zu Spaltennamen mit Punkten geflacht — customer.address.city wird zu einer Spalte customer.address.city. Wenn Ihre Verschachtelung sehr tief ist, explodiert die Spaltenzahl; flachen Sie in Ihrer Quell-Pipeline ab, falls Sie eine haben.

Größe + Aufbewahrung

Was Sie mit diesem Flow NICHT erhalten

  • Multi-Datei-Joins — jeder Upload ist sein eigener Cube. Um zwei Dateien zu joinen, tun Sie es in Ihrer Quell-Pipeline vor dem Upload, oder verwenden Sie die Cube-Bibliothek + ein Multi-Datei-Mondrian-Schema (fortgeschritten).
  • Live-Daten — Uploads sind Point-in-Time-Snapshots. Für Live-Daten verbinden Sie stattdessen ein Warehouse über die BYOC-Flows.
  • Custom Partitioning — DuckDB fragt die ganze Datei ab. Cubes über 1 GB fühlen sich bei der ersten Abfrage träge an (nachfolgende Abfragen werden gecacht). Für größere Workloads ziehen Sie stattdessen MotherDuck in Betracht — siehe MotherDuck verbinden.

Mit FoodMart ausprobieren

Möchten Sie Saiku Cloud mit diesem Dialekt testen, bevor Sie Ihre eigenen Daten verbinden? Laden Sie den FoodMart-Sample-Datensatz, gepackt für DuckDB, herunter:

FoodMart-Sample-Datensatz für DuckDB