Tabellen

Tabellen definieren die Struktur Ihrer Daten.

Sie können neue Daten in Ihre Tabellen laden oder an einem vorhandenen Speicherort auf Daten verweisen. Sie können feingranulierte Zugriffskontrollberechtigungen für Tabellen definieren, indem Sie Tabellenberechtigungen erstellen.

Tabellen können entweder extern oder verwaltet werden.

Externe Tabellen

Eine externe Tabelle definiert eine Struktur für Daten, die in einem Speicherort gespeichert sind, der nicht von Oracle AI Data Platform Workbench verwaltet wird. Wenn Sie eine externe Tabelle in AI Data Platform Workbench erstellen, wird der Metadatenlebenszyklus von AI Data Platform Workbench verwaltet. Wenn Sie eine externe Tabelle löschen, wird nur die Tabellendefinition gelöscht. Die von der externen Tabelle referenzierten Daten werden nicht gelöscht.

Stellen Sie sicher, dass Ihre Benutzer über die folgenden IAM-Policys verfügen, die zum Erstellen externer Tabellen erforderlich sind:

allow group <GroupName> to read buckets in compartment id <external-data-CompartmentId>
allow group <GroupName> to inspect objects in compartment id <external-data-CompartmentId>

Für externe Tabellen sind zusätzliche IAM-Policys erforderlich. Weitere Informationen finden Sie unter IAM-Policys für Oracle AI Data Platform Workbench.

Verwaltete Tabellen

Eine verwaltete Tabelle definiert eine Struktur für Daten, die in der AI Data Platform gespeichert sind und nur von AI Data Platform Workbench-Benutzern aufgerufen werden können.

Wenn Sie eine verwaltete Tabelle löschen, werden die Tabellendefinition und die Tabellendaten gelöscht.

Unterstützte Tabellenformate

Formatieren Beschreibung Verwendung
Durch Kommas getrennte Werte (CSV) Die Daten werden als Textdatei mit einem angegebenen zeilenbasierten Dateiformat gespeichert, um die Daten zu strukturieren. Normalerweise ist die erste Zeile in der Datei eine Kopfzeile, die Spaltennamen für die Daten enthält. Wird zum Austausch von tabellarischen Daten zwischen Systemen verwendet. Jede Zeile in der Datei ist eine Zeile in einer Tabelle.
JavaScript Object Notation (JSON) Daten werden in einem textbasierten Standardformat gespeichert, um strukturierte Daten basierend auf der JavaScript-Objektsyntax darzustellen. JSON unterstützt Listen mit Objekten oder hierarchischen Strukturen. Wird in Stream-Anwendungen verwendet. JSON vereinfacht die Speicherung von zugehörigen Daten mit komplexen Beziehungen in einem einzigen Dokument und vermeidet eine chaotische Listenkonvertierung in ein relationales Datenmodell. Beachten Sie, dass JSON nicht teilbar ist.
Avro Daten werden in einem zeilenbasierten Binärformat gespeichert, während das Schema im JSON-Format gespeichert wird, um die Dateigröße zu minimieren und die Effizienz zu maximieren. Avro unterstützt die Schemaentwicklung zuverlässig, indem es hinzugefügte, fehlende und geänderte Felder verwaltet. So kann alte Software neue Daten lesen und neue Software alte Daten lesen. Wird auch als Datenserialisierungssystem bezeichnet. Wird für die Datenspeicherung verwendet, da Avro-Dateien teilbar und komprimierbar sind. Der serialisierte zeilenbasierte Speicher ist ideal für umfangreiche Schreibtransaktionen, wie das Einfügen von Daten in die AI Data Platform. Avro ist auch eine gute Wahl, wenn die Schemaentwicklung bei Schreibvorgängen mit hoher Geschwindigkeit kritisch ist.
Parquet Die Daten werden in einem spaltenförmigen Datenformat gespeichert und sind hochkomprimierbar und spaltbar. Parkett ist für das Paradigma Write Once Read Many (WORM) optimiert. Es schreibt langsam, liest aber unglaublich schnell, besonders wenn Sie nur auf eine Teilmenge von Spalten zugreifen. Wird zur Lösung von Big Data-Problemen verwendet, da Komprimierungsalgorithmen mit dem Spaltendatenformat besser funktionieren. Sie können Big Data in verschiedenen Formaten speichern, wie Bildern, Videos, Dokumenten und strukturierten Datentabellen. Parkett ist eine gute Wahl für schwere Arbeitslasten beim Lesen von Datenteilen. Beispiel: Wenn das Dataset viele Spalten enthält, Sie aber nur auf eine Teilmenge von Spalten zugreifen möchten. Ideal, wenn Sie von Spark abhängig sind oder wenn mehrere Services auf dieselben in Object Storage gespeicherten Daten zugreifen sollen.
Optimierte Zeilenspalte (ORC) Daten werden in Zusammenstellungen von Zeilen in einer einzelnen Datei im Spaltenformat gespeichert. Wird für die parallele Verarbeitung von Zeilen-Collections in einem Cluster verwendet. Ideal, wenn Lesetransaktionen mehr sind als Schreibtransaktionen oder wenn die Komprimierung Priorität hat.
Delta Daten werden in einem spaltenförmigen Format gespeichert, das Parquet-Datendateien um ein JSON-dateibasiertes Transaktionslog für ACID-Transaktionen und skalierbare Metadatenbehandlung erweitert. Wird für die Transaktionsunterstützung verwendet.

Unterstützte Datentypen

Datentyp Beschreibung
Byte-Typ Stellt vorzeichenbehaftete 1-Byte-Ganzzahlen dar. Der Zahlenbereich liegt zwischen -128 und 127.
Kurztyp Stellt vorzeichenbehaftete 2-Byte-Ganzzahlen dar. Der Zahlenbereich liegt zwischen -32768 und 32767.
Ganzzahltyp Stellt vorzeichenbehaftete 4-Byte-Ganzzahlen dar. Der Zahlenbereich liegt zwischen -2147483648 und 2147483647.
Long-Typ Stellt vorzeichenbehaftete 8-Byte-Ganzzahlen dar. Der Zahlenbereich reicht von -9223372036854775808 bis 9223372036854775807.
Float-Typ Stellt Gleitkommazahlen mit einer 4-Byte-Präzision dar.
DoubleType Stellt Gleitkommazahlen mit doppelter Genauigkeit von 8 Byte dar.
Dezimaltyp Stellt mit Vorzeichen versehene Dezimalzahlen mit beliebiger Genauigkeit dar. Wird intern von java.math.BigDecimal unterstützt. Ein BigDecimal-Wert besteht aus einem unskalierten Ganzzahlwert mit beliebiger Genauigkeit und einer 32-Bit-Ganzzahlskala.
Stringtyp Stellt Zeichenfolgenwerte dar.
VarcharType (Länge) Eine Variante von StringType mit einer Längenbegrenzung. Das Schreiben von Daten schlägt fehl, wenn die Eingabezeichenfolge die Längenbegrenzung überschreitet.
CharType (Länge) Eine Variante von VarcharType (Länge), die feste Länge ist. Beim Lesen der Spalte vom Typ CharType(n) werden immer Zeichenfolgenwerte der Länge n zurückgegeben. Beim Vergleich der Eigenschaftstypspalte wird die kurze Spalte auf die längere Länge aufgefüllt.
Binärtyp Stellt Bytefolgenwerte dar.
Boolescher Typ Stellt boolesche Werte dar.
Datumstyp Stellt Werte dar, die Werte der Felder Jahr, Monat und Tag ohne Zeitzone enthalten.
TimestampType Zeitstempel mit lokaler Zone (TIMESTAMP_LTZ). Es stellt Werte dar, die Werte der Felder Jahr, Monat, Tag, Stunde, Minute und Sekunde mit der lokalen Zeitzone der Session enthalten. Der Zeitstempelwert stellt einen absoluten Zeitpunkt dar.
ZeitstempelNTZType Zeitstempel ohne Zeitzone (TIMESTAMP_NTZ). Es stellt Werte dar, die Werte aus den Feldern Jahr, Monat, Tag, Stunde, Minute und Sekunde enthalten. Alle Vorgänge werden ohne Berücksichtigung einer Zeitzone durchgeführt.
YearMonthIntervalType (startField, endField) Stellt ein Jahr-Monatsintervall dar, das aus einer zusammenhängenden Teilmenge von MONAT, Monaten innerhalb von Jahren [0..11] und JAHR, Jahren im Bereich [0..178956970] besteht.
DayTimeIntervalType (startField, endField) Stellt ein Tagesintervall dar, das aus einer zusammenhängenden Teilmenge von SECOND, Sekunden innerhalb von Minuten und möglicherweise Bruchteilen einer Sekunde besteht [0..59.999999], MINUTE, Minuten innerhalb von Stunden [0..59], STUNDEN, Stunden innerhalb von Tagen [0..23] und TAG, Tage im Bereich [0..106751991].
ArrayType(elementType, containsNull) Stellt Werte dar, die eine Folge von Elementen mit dem Typ elementType enthalten. containsNull wird verwendet, um anzugeben, ob Elemente in einem ArrayType-Wert Nullwerte aufweisen können.
MapType(keyType, valueType, valueContainsNull) Stellt Werte dar, die aus einer Gruppe von Schlüssel/Wert-Paaren bestehen. Der Datentyp der Schlüssel wird durch keyType beschrieben, und der Datentyp der Werte wird durch valueType beschrieben. Für einen MapType-Wert dürfen Schlüssel keine Nullwerte aufweisen. valueContainsNull wird verwendet, um anzugeben, ob Werte eines MapType-Wertes Nullwerte aufweisen können.
StructType(Felder) Stellt Werte mit der Struktur dar, die durch eine Folge von StructFields (Feldern) beschrieben wird.
StructField(Name, dataType, auf Null setzbar) Stellt ein Feld in einem StructType dar. Der Name eines Feldes wird durch den Namen angegeben. Der Datentyp eines Feldes wird durch dataType angegeben. Dieser Wert wird verwendet, um anzugeben, ob Werte dieser Felder Nullwerte aufweisen können.

Einschränkungen

Die folgenden Einschränkungen gelten für Tabellen in Oracle AI Data Platform:

  • Sie können keine externe Tabelle für Datendateien oder Verzeichnisse in/auf einem Volume definieren.
  • Sie können keine externe Tabelle in einem Bucket und/oder seinem Verzeichnis definieren, das bereits für eine andere externe Tabelle oder ein externes Volume verwendet wird
  • Ansichten können nicht im Masterkatalog angezeigt/gelistet werden.

Schemaentwicklung

Mit der Schemaentwicklung in Oracle AI Data Platform Workbench können Benutzer mit den erforderlichen Berechtigungen eine verwaltete Tabelle mit SQL in einem Notizbuch aktualisieren.

Dies ist nützlich, wenn sich eine Tabellendefinition im Laufe der Zeit ändert, um neue Spalten, entfernte Spalten, umbenannte Spalten, Partitionsänderungen oder Tabellenumbenennungen zu unterstützen, ohne das Dataset neu zu erstellen. Die unterstützten Formate sind Parquet, Avro und Delta.

Unterstützte Operationen

Die folgenden Schemaentwicklungsvorgänge wurden für verwaltete Tabellen analysiert:
  • Tabelle umbenennen: Wird für Delta, Parquet und Avro unterstützt
  • Spalten hinzufügen: Wird für Delta, Parquet und Avro unterstützt
  • Spalten löschen: Wird für Delta unterstützt; wird für Parquet und Avro nicht unterstützt
  • Spalten ändern oder umbenennen: Wird für Delta unterstützt; wird für Parquet und Avro nicht unterstützt
  • Spalten ersetzen: Wird nur für Delta unterstützt
  • Partitionen hinzufügen: Wird für Parquet und Avro über DDL unterstützt. Bei Delta wird die Partitionsverarbeitung beim Einfügen von Daten und nicht über DDL unterstützt
  • Drop-Partitionen: werden für Parquet und Avro unterstützt. Bei Delta werden Partitionen entfernt, indem Daten gelöscht werden und kein Vakuum ausgeführt wird, sondern durch direkte DDL
  • Datentyp ändern: wird für Parquet oder Avro nicht unterstützt; wird für Delta nicht über direkte DDL unterstützt und erfordert möglicherweise einen CTAS- oder Overrite-Schema-basierten Workaround

Verwaltete Tabelle erstellen

Sie können Tabellen für das von Ihnen verwaltete Schema erstellen.

  1. Navigieren Sie zu dem Schema, für das Sie eine Tabelle erstellen möchten.
  2. Wählen Sie die Registerkarte Tabellen aus.
  3. Klicken Sie auf Symbol "Tabelle erstellen" Tabelle erstellen.

    Tablett mit Tabellentyp erstellen Verwaltet ausgewählt

  4. Wählen Sie Verwaltet als Tabellentyp aus.
  5. Wählen Sie das Format für die Tabelle unter Format der verwalteten Tabelle aus.
  6. Ziehen Sie eine Datei mit Ihren Tabellendaten per Drag-and-Drop, oder klicken Sie, um zum Speicherort der Datei zu navigieren.
  7. Geben Sie einen Namen und die Beschreibung für die Tabelle an.
  8. Optional: Um Partitionen hinzuzufügen, blenden Sie Partitionsschlüssel (optional) ein. Klicken Sie auf Partition hinzufügen, und wählen Sie eine Datenspalte.
  9. Optional: Um Tabelleneigenschaften zu den Metadaten des Datenkatalogs hinzuzufügen, blenden Sie Tabelleneigenschaften (optional) ein. Klicken Sie auf Eigenschaft hinzufügen, und geben Sie die Eigenschaft und ihren Wert an.
  10. Klicken Sie auf Create.

Externe Tabelle erstellen

Sie können eine externe Tabelle mit Daten in OCI Object Storage erstellen.

  1. Navigieren Sie zu dem Schema, für das Sie eine Tabelle erstellen möchten.
  2. Wählen Sie die Registerkarte Tabellen aus.
  3. Klicken Sie auf Symbol "Tabelle erstellen" Tabelle erstellen.

    Tabellenseite erstellen, geöffnet mit Tabellentyp Extern ausgewählt

  4. Wählen Sie Extern als Tabellentyp aus.
  5. Wählen Sie das Compartment, den Bucket und den Ordner aus OCI Object Storage aus, in dem Daten gespeichert werden. Die Objekte, die Sie auswählen können, basieren auf den IAM-Berechtigungen des angemeldeten Benutzers.
  6. Geben Sie einen Namen und die Beschreibung für die Tabelle an.
  7. Optional: Um Tabelleneigenschaften zu den Metadaten des Datenkatalogs hinzuzufügen, blenden Sie Tabelleneigenschaften (optional) ein. Klicken Sie auf Eigenschaft hinzufügen, und geben Sie die Eigenschaft und ihren Wert an.
  8. Klicken Sie auf Create.

Tabellen bearbeiten

Sie können die Details der von Ihnen verwalteten Tabellen ändern.

Hinweis:

Änderungen an externen Katalogtabellen, die in Oracle AI Data Platform Workbench vorgenommen wurden, werden nicht in den Remotekatalog übertragen.
  1. Navigieren Sie zu Ihrem Schema.
  2. Wählen Sie die Registerkarte Tabellen aus.
  3. Klicken Sie neben der Tabelle, die Sie bearbeiten möchten, auf Aktionssymbol mit drei Punkten Aktionen.
    • Klicken Sie auf Umbenennen, um den Namen der Tabelle zu ändern. Geben Sie einen neuen Namen ein, und drücken Sie die Eingabetaste.
    • Klicken Sie auf Beschreibung bearbeiten, um die Beschreibung der Tabelle zu ändern. Geben Sie die neue Beschreibung an, und klicken Sie auf Speichern.

Tabellen-Details anzeigen

Sie können die Details von Tabellen im Schema anzeigen.

  1. Navigieren Sie zu Ihrem Schema. Klicken Sie auf die Registerkarte Tabellen.
  2. Klicken Sie auf den Namen des Volumes, für das Sie Details anzeigen möchten. Sie können auch auf Aktionssymbol mit drei Punkten Aktionen neben dem Volume klicken und dann auf Anzeigen klicken.
  3. Klicken Sie auf die Registerkarte Details.

Tabellen löschen

Sie können Tabellen aus dem von Ihnen verwalteten Schema löschen.

  1. Navigieren Sie zu dem Schema, aus dem Sie die Tabelle löschen möchten.
  2. Klicken Sie auf die Registerkarte Tabellen.
  3. Klicken Sie neben der zu löschenden Tabelle auf Aktionssymbol mit drei Punkten Aktionen, und klicken Sie auf Löschen.
  4. Klicken Sie auf Löschen.