Verwalten von Datentypen | Qlik Cloud Hilfe
Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Verwalten von Datentypen

Wenn Sie den Datentyp oder die Datentypgröße einer Spalte ändern, kann dies Auswirkungen auf die Aufgaben haben, die den Datensatz verwenden.

Unterstützte Datentypen und Konvertierungen variieren je nach Zielplattform. Spezifische Dokumentation für Ihre Zielplattform finden Sie unter Einrichten von Verbindungen zu Zielen.

Verständnis der Auswirkung einer Änderung am Datensatz

Es gibt zwei häufige Anwendungsfälle für die Änderung der Datentypgröße oder den Wechsel zu einem anderen Datentyp:

  • Aufnahme von Daten, die nicht zum aktuellen Datentyp passen
  • Eine Anforderung für höhere numerische Genauigkeit. Zum Beispiel die Änderung von SMALLINT in DECIMAL (p,s).

In den meisten Fällen hat die Änderung eines Datentyps einen ALTER TABLE-Vorgang zur Folge, wodurch Datenverlust vermieden wird. Wenn zum Beispiel der vorherige Datentyp STRING (25) war und der neue Datentyp STRING (50) ist, werden die Daten in der Spalte mit dem neuen Datentyp ohne Probleme aktualisiert. In einigen Fällen führt die Änderung eines Datentyps jedoch dazu, das die Tabelle entfernt und neu erstellt wird. Wenn beispielsweise der Spaltendatentyp NUMBER ist und Sie ihn in DATE ändern, wird die Tabelle entfernt und neu erstellt, da die Konvertierung von Zahlen in Daten nicht möglich ist. Wenn gleichermaßen die Zielplattform ALTER-Tabellenvorgänge (wie beispielsweise Databricks) nicht unterstützt, wird die Tabelle entfernt und neu erstellt.

Es gibt einige Fälle, in denen es theoretisch möglich ist, eine Tabelle zu verändern. Aufgrund der zugrunde liegenden Komplexität lässt die Datenaufgabe die Tabelle weg und erstellt sie neu. Schließlich gibt es Fälle, in denen ein potenzieller Datenverlust und kein tatsächlicher Datenverlust ein Weglassen und Neuerstellen auslöst. Wenn Sie beispielsweise STRING(25) in STRING(1) ändern, tritt ein Datenverlust auf, wenn die aufgenommenen Daten nicht in STRING(1) passen. Es ist jedoch möglich, dass STRING(25) immer nur ein Zeichen enthält, sodass in der Praxis kein Datenverlust auftritt, aber die Tabelle aufgrund eines potenziellen Datenverlusts nach wie vor entfernt und neu erstellt wird.

Änderungen an Datentypen, bei denen die Tabelle unabhängig von der Zielplattform entfernt und neu erstellt werden muss

Die Änderung von Datentypen führt jedoch dazu, das die Tabelle entfernt und neu erstellt wird:

  • BYTES
  • BLOB
  • CLOB
  • NCLOB

Zielplattformen, die Änderungen an der Datentypgröße unterstützen, ohne die Tabelle zu entfernen und neu zu erstellen

Bei der Arbeit mit Snowflake, Google BigQuery, Amazon Redshift, Microsoft SQL Server und Azure Synapse Analytics können Sie die Größe bestimmter Datentypen ändern, ohne dass die Tabelle entfernt und neu erstellt wird. Die folgende Tabelle listet auf, welche Datentypen für jede der vorgenannten Plattformen unterstützt werden.

Datentyp Snowflake Google BigQuery Azure Synapse Analytics Microsoft SQL Server Amazon Redshift

INT1

Nein

Ja

Ja

Ja

Nein

INT2

Nein

Ja

Ja

Ja

Nein

INT4

Nein

Ja

Ja

Ja

Nein

INT8

Nein

Ja

Ja

Ja

Nein

REAL4

Nein

Nein

Ja

Ja

Nein

REAL8

Nein

Nein

Ja

Ja

Nein

UINT1

Nein

Ja

Ja

Ja

Nein

UINT2

Nein

Ja

Ja

Ja

Nein

UNIT4

Nein

Ja

Ja

Ja

Nein

UNIT8

Nein

Ja

Ja

Ja

Nein

NUMERIC

Ja

Ja

Ja

Ja

Nein

STRING

Ja

Ja

Ja

Ja

Ja

WSTRING

Nein

Ja

Ja

Ja

Nein

Zielplattformen, die Änderungen der Datentypen in STRING unterstützen, ohne dass die Tabelle entfernt und neu erstellt wird

Beim Verschieben von Daten in Microsoft SQL Server und Azure Synapse Analytics können Sie die folgenden Datentypen in STRING ändern, ohne dass die Tabele entfernt und neu erstellt wird:

  • BOOLEAN
  • DATE
  • TIME
  • DATETIME
  • INT1
  • INT2
  • INT4
  • INT8
  • REAL4
  • REAL8
  • UINT1
  • UINT2
  • UNIT4
  • UNIT8
  • NUMERIC
  • WSTRING (nur bei Azure Synapse Analytics unterstützt)

Verwalten von JSON-Daten

Qlik hat im Jahr 2025 Unterstützung für den JSON-Datentyp eingeführt. Die Unterstützung des JSON-Datentyps ist in Aufgaben, die vor der Einführung erstellt wurden, nicht verfügbar. In neuen Aufgaben werden Spalten mit JSON-Daten in den für die Zielplattform angegebenen Datentyp konvertiert. Data Movement Gateway 2024.11.78 oder höher ist erforderlich, um JSON-Datentypen in Bereitstellungsaufgaben zu erkennen, wenn Sie ein Client-Managed Gateway verwenden.

Wenn JSON-Daten konvertiert werden, können die folgenden neuen globalen Umwandlungsregeln erstellt werden.

  • QLIK__PARSE_TO_JSON

    Diese Regel wird in Snowflake-Projekten erstellt, bei denen beim Bereitstellen Daten in die Lake-Bereitstellung geladen werden. Die Regel wird in der Speicheraufgabe nach der Bereitstellung hinzugefügt, um alle JSON-Spalten in Snowflake in JSON zu parsen.

  • QLIK__JSON_AS_VARCHAR

    Diese Regel wird in Snowflake-Projekten erstellt, bei denen die Daten in Snowflake bereitgestellt werden und der Speicher von Snowflake verwaltete Iceberg-Tabellen erstellt. Die Regel konvertiert JSON in Varchar, da Iceberg den Typ „Variant“ nicht unterstützt.

Verwalten vorhandener JSON-Daten in Aufgaben, die vor Einführung der Unterstützung für JSON-Datentypen erstellt wurden

  • Wenn Sie bestehende Aufgaben mit JSON-, VARIANT- oder SUPER-Daten in der Datenplattform haben, die in einen anderen Datentyp wie z. B. BLOB, konvertiert wurden, sollten Sie in Erwägung ziehen, die Spalten in den Datentyp zu konvertieren, der in der Zielplattform für JSON verwendet wird. Sie können dies mit einer Umwandlungsregel durchführen. Das kann erforderlich sein, wenn Sie neue Spalten zusammen mit bestehenden Spalten in nachgelagerten Aufgaben verwenden müssen.

  • Eine andere Möglichkeit besteht darin, die Spalten in der neuen Aufgabe in denselben Datentyp zu konvertieren, der in den bestehenden Datentypen verwendet wird, um die Abwärtskompatibilität zu wahren.

Datentypen in SaaS-Anwendungsquellen

Beim Verschieben von Daten aus einer SaaS-Anwendungsquelle werden alle VARCHAR-Spalten außer Primärschlüsseln anfänglich als VARCHAR (1) erstellt. Wenn die Aufgabe zu laufen beginnt, wird die Spaltenlänge automatisch erweitert (zum Beispiel auf VARCHAR (15)), um die Daten aufzunehmen, wodurch ein manuelles Eingreifen überflüssig wird.

Datentypen in nicht-materialisierten Datensätzen

Bei nicht-materialisierten Datensätzen entscheidet die Datenplattform zur Laufzeit über die Spaltentypen. Der logische Typ dient nur zu Informationszwecken und kann vom tatsächlichen Typ abweichen.

  • Um den endgültigen Typ anzuzeigen, überprüfen Sie die generierten Datenbankartefakte.

  • Um einen Typ zu erzwingen, fügen Sie eine explizite Übertragung in den Spaltenausdruck ein.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!