Beispiele:
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 DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
-Parameter für strukturierte Datendateien, z.B. für eine Parquet-Datendatei, sind die Parameter column_list
oder field_list
nicht erforderlich. Die Spaltennamen und Datentypen für die Spalten werden aus der ersten Parquet-Datei abgeleitet, die die Prozedur scannt (und daher müssen alle Dateien dieselbe Form haben). Die generierte Spaltenliste enthält die vom Objektnamen abgerufenen Spalten, und diese Spalten haben die Datentypen, die mit dem Parameter partition_columns
format
angegeben werden.
Parameter:
-
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-URs. Für diese Liste gibt es zwei Optionen:
-
Eine durch Komma getrennte Liste mit einzelnen Datei-URIs ohne Platzhalter angeben.
-
Geben Sie einen einzelnen Datei-URI mit Platzhalter 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 kommagetrennte Liste der Spaltennamen und Datentypen für die externe Tabelle. Die Liste enthält die Spalten in der Datei sowie die Spalten, die aus dem Objektnamen abgeleitet wurden.
column_list
ist nicht erforderlich, wenn es sich bei den Datendateien nicht um strukturierte Dateien (Parkett, 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.
field_list
ist nicht erforderlich, wenn es sich bei den Datendateien nicht um strukturierte Dateien (Parkett, 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-Object Storage-Services 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. Als Alternative 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.