Externe Tabellen mit impliziter Partitionierung abfragen
In Autonomous Database können Sie implizite partitionierte externe Tabellen aus im Hive-Stil partitionierten Daten oder aus im einfachen Ordner partitionierten Daten in Ihrem Cloud-Objektspeicher erstellen.
- Informationen zu externen Tabellen mit impliziter Partitionierung
Erstellen Sie in Autonomous Database mit der ProzedurDBMS_CLOUD.CREATE_EXTERNAL_TABLE
implizite partitionierte externe Tabellen aus im Hive-Stil partitionierten Daten oder aus im einfachen Ordner partitionierten Daten, die in Ihrem Cloud-Objektspeicher gespeichert sind. - Externe implizite partitionierte Daten mit Quelldateiorganisation im Hive-Format abfragen
Mit der ProzedurDBMS_CLOUD.CREATE_EXTERNAL_TABLE
können Sie eine implizite partitionierte externe Tabelle aus Daten im Objektspeicher erstellen, die aus Hive-Daten generiert wurde. - Externe implizite partitionierte Daten im Nicht-Hive-Format abfragen
Mit der ProzedurDBMS_CLOUD.CREATE_EXTERNAL_TABLE
können Sie eine implizite partitionierte externe Tabelle aus Daten im Objektspeicher erstellen, die aus Nicht-Hive-Daten generiert wurde.
Übergeordnetes Thema: Externe Daten mit Autonomous Database abfragen
Externe Tabellen mit impliziter Partitionierung
Verwenden Sie in Autonomous Database die Prozedur DBMS_CLOUD.CREATE_EXTERNAL_TABLE
, um implizite partitionierte externe Tabellen aus im Hive-Stil partitionierten Daten oder aus im einfachen Ordner partitionierten Daten in Ihrem Cloud-Objektspeicher zu erstellen.
Verwenden Sie die Prozedur DBMS_CLOUD.CREATE_EXTERNAL_TABLE
, um implizite partitionierte externe Tabellen zu erstellen. Wenn Sie die entsprechenden Optionen an dieses Verfahren übergeben, werden die Partitionen aus den Quelldaten abgeleitet. Die partitionierten externen Tabellen unterstützen die Laufzeiterkennung von Partitionsspalten und deren Werten. Die Laufzeiterkennung von Änderungen in der zugrunde liegenden Objektspeicherstruktur, wie das Hinzufügen oder Entfernen von Objekten, vereinfacht den Verwaltungsprozess, da keine zusätzlichen Synchronisierungsprozeduren erforderlich sind, die von DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
benötigt werden. Dadurch wird sichergestellt, dass die Daten zur Abfragelaufzeit auf dem neuesten Stand sind.
Bei der impliziten Partitionierung bestimmt Autonomous Database automatisch die Spalten, auf denen eine Tabelle "partitioniert" ist, basierend auf der hierarchischen Dateistruktur der Objektspeicherquelle. Ein Partitionierungsschema muss nicht explizit deklariert werden. Die implizite Partitionierung bietet partitioniertabellenartige Performancevorteile, ohne dass explizit eine partitionierte externe Tabelle mit der Prozedur DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
definiert werden muss.
Implizite partitionierte externe Tabellen unterstützen die folgenden Benennungsstile für partitionierte Objekte im Objektspeicher:
- Hive-Benennungsformat: Daten im Objektspeicher, die aus Hive generiert wurden, haben das folgende Format.
OBJBUCKET/<table>/<partcol1>=<value1>/<partcol2>=<value2>/file.parquet
Ein Beispiel finden Sie unter Externe implizite partitionierte Daten mit der Quelldatei im Hive-Format abrufen.
- Benennungsformat für Nicht-Hive-Pfadschwanz: Ein zweites Format, das häufig in Data Lakes gefunden wird, ähnelt dem Hive-Format, der Ordnername enthält jedoch keine Partitionsspalten.
OBJBUCKET/<table>/<value1>/<value2>/file.parquet
Ein Beispiel finden Sie unter Externe implizite partitionierte Nicht-Hive-Stildaten abfragen.
Weitere Informationen zu Benennungsformaten finden Sie unter Info über externe Tabellen mit der Partitionierung von Quelldateien.
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
können implizite partitionierte externe Tabellen wie folgt erstellt werden:
- Partitionstyp mit einer bestimmten Liste von Partitionsspalten auf "hive" setzen
In diesem Fall ist
implicit_partition_type
aufhive
gesetzt, undimplicit_partition_columns
stellt eine Liste der Partitionsspalten bereit.Beispiele:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_type":"hive", "implicit_partition_columns":["country","year","month"]}');
- Partitionstyp auf "hive" setzen, ohne eine Liste der Partitionsspalten anzugeben
In diesem Fall ist
implicit_partition_type
aufhive
gesetzt, undimplicit_partition_columns
wird nicht angegeben. Die Partitionsspalten werden automatisch ermittelt, indem in dem durchfile_uri_list
angegebenen Pfad nach "=" gesucht wird.column_name
befindet sich links neben "=", und der Wert befindet sich auf der rechten Seite. Wenn im Pfad keinecolumn_name
gefunden wird, wird ein Fehler ausgelöst.Beispiele:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_type":"hive"');
- Geben Sie eine Liste der Partitionsspalten an, ohne den Typ anzugeben
In diesem Fall ist
implicit_partition_type
nicht festgelegt, undimplicit_partition_columns
stellt eine Liste mit Spalten bereit.Beispiele:
DBMS_CLOUD.CREATE_EXTERNAL_TABLE ( table_name => 'mysales', credential_name => 'mycredential', file_uri_list => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/*.parquet', column_list => 'product varchar2(100), units number, country varchar2(100),year (number), month varchar2(2)', format => '{"type":"parquet", "implicit_partition_columns":["country","year","month"]}');
Weitere Informationen finden Sie unter Prozedur CREATE_EXTERNAL_TABLE.
Übergeordnetes Thema: Externe Tabellen mit impliziter Partitionierung abfragen
Externe implizite partitionierte Daten mit Quelldatei im Hive-Format abfragen
Verwenden Sie die Prozedur DBMS_CLOUD.CREATE_EXTERNAL_TABLE
, um eine implizite partitionierte externe Tabelle aus Daten im Objektspeicher zu erstellen, die aus Hive-Daten generiert wurde.
Die Beispielquelldateien im folgenden Beispiel verwenden dieses Benennungsformat:
OBJBUCKET/<table>/<partcol1>=<value1>/<partcol2>=<value2>/file.parquet
Betrachten Sie die folgenden Beispiele für Quelldateien:
OBJBUCKET/sales/country=USA/year=2024/month=01/sales-2024-01.parquet
OBJBUCKET/sales/country=USA/year=2024/month=02/sales-2024-02.parquet
OBJBUCKET/sales/country=USA/year=2024/month=02/sales-2024-03.parquet
Um eine implizite partitionierte externe Tabelle mit Daten zu erstellen, die in diesem Hive-Beispielformat gespeichert sind, gehen Sie wie folgt vor:
Übergeordnetes Thema: Externe Tabellen mit impliziter Partitionierung abfragen
Externe implizite partitionierte Nicht-Hive-Stildaten abfragen
Verwenden Sie die Prozedur DBMS_CLOUD.CREATE_EXTERNAL_TABLE
, um eine implizite partitionierte externe Tabelle aus Daten im Objektspeicher zu erstellen, die aus Nicht-Hive-Daten generiert wurde.
Die Beispielquelldateien im folgenden Beispiel verwenden dieses Benennungsformat:
OBJBUCKET/<table>/<value1>/<value2>/file.parquet
Betrachten Sie die folgenden Beispiele für Quelldateien:
OBJBUCKET/sales/USA/2024/01/sales-2024-01.parquet
OBJBUCKET/sales/USA/2024/01/sales-2024-02.parquet
OBJBUCKET/sales/USA/2024/01/sales-2024-03.parquet
Um eine implizite partitionierte externe Tabelle mit Daten zu erstellen, die in diesem Hive-Beispielformat gespeichert sind, gehen Sie wie folgt vor:
Übergeordnetes Thema: Externe Tabellen mit impliziter Partitionierung abfragen