Beispiel:
BEGIN DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/sales/*.parquet',
format =>
json_object('type' value 'parquet', 'schema' value 'first',
'partition_columns' value
json_array(
json_object('name' value 'country', 'type' value 'varchar2(100)'),
json_object('name' value 'year', 'type' value 'number'),
json_object('name' value 'month', 'type' value 'varchar2(2)')
)
)
);
END;
/
Für die Parameter DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
für strukturierte Datendateien, wie z.B. für eine Parquet-Datendatei, sind die Parameter column_list
oder field_list
nicht erforderlich. Die Spaltennamen und Datentypen werden für die Spalten aus der ersten Parkettdatei abgeleitet, die von der Prozedur gescannt wird (und daher müssen alle Dateien dieselbe Ausprägung aufweisen). Die generierte Spaltenliste enthält die aus dem Objektnamen abgeleiteten Spalten, und diese Spalte enthält die Datentypen, die mit dem Parameter partition_columns
format
angegeben sind.
Die Parameter sind:
-
table_name
: Der Name der externen Tabelle.
-
credential_name
: Der Name der Zugangsdaten, die im vorherigen Schritt erstellt wurden.
-
file_uri_list
: ist eine durch Komma getrennte Liste der Quelldatei-URIs. Diese Liste enthält zwei Optionen:
-
Geben Sie eine durch Komma getrennte Liste einzelner Datei-URIs ohne Platzhalter an.
-
Geben Sie eine einzelne Datei-URI mit Platzhaltern an, wobei die Platzhalter nur nach dem letzten Schrägstrich "/" stehen dürfen. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen, das Zeichen "?" als Platzhalter für ein einzelnes Zeichen verwendet werden.
-
column_list
: ist eine durch Komma getrennte Liste der Spaltennamen und Datentypen für die externe Tabelle. Die Liste enthält die Spalten, die sich in der Datei befinden, sowie die aus dem Objektnamen abgeleiteten Spalten.
Die column_list
ist nicht erforderlich, wenn es sich bei den Datendateien um strukturierte Dateien (Parquet, Avro oder ORC) handelt.
-
field_list
: Identifiziert die Felder in den Quelldateien und deren Datentypen. Der Standardwert ist NULL
, d.h. die Felder und ihre Datentypen werden durch den Parameter column_list
bestimmt.
Die field_list
ist nicht erforderlich, wenn es sich bei den Datendateien um strukturierte Dateien (Parquet, Avro oder ORC) handelt.
-
format
: Definiert die Optionen, die Sie zur Beschreibung des Formats der Quelldatei angeben können. Der Parameter partition_columns
format
gibt die Namen der Partitionsspalten an. Weitere Informationen finden Sie unter DBMS_CLOUD Packageformatoptionen.
Wenn die Daten in der Quelldatei verschlüsselt sind, entschlüsseln Sie die Daten, indem Sie die Formatoption encryption
angeben. Weitere Informationen zum Entschlüsseln von Daten finden Sie unter Daten beim Importieren aus Object Storage entschlüsseln.
In diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
Ausführliche Informationen zu den Parametern finden Sie unter Prozedur CREATE_EXTERNAL_PART_TABLE.
Weitere Informationen zu den unterstützten Cloud-Objektspeicherservices finden Sie unter DBMS_CLOUD URI-Formate.
Wenn die Quelldateien Zeilen enthalten, die nicht mit den angegebenen Formatoptionen übereinstimmen, gibt die Abfrage einen Fehler aus. Sie können DBMS_CLOUD
-Parameter wie rejectlimit
verwenden, um diese Fehler zu unterdrücken. Alternativ können Sie auch die erstellte externe partitionierte Tabelle validieren, um die Fehlermeldungen und abgelehnten Zeilen anzuzeigen, damit Sie die Formatoptionen entsprechend ändern können. Weitere Informationen finden Sie unter Externe Daten validieren und Externe partitionierte Daten validieren.