ディレクトリ内のファイルからのデータ・ロードまたはデータ問合せ
DBMS_CLOUDプロシージャを使用して、接続されたネットワーク・ファイル・システムに作成されたディレクトリを含むディレクトリ内のファイルからデータをロードできます。これらのプロシージャを使用して、データの問合せに使用できる外部表を作成することもできます。
次のDBMS_CLOUDプロシージャでは、ディレクトリからデータベースにデータをロードできます。
-
DBMS_CLOUD.COPY_COLLECTION -
DBMS_CLOUD.COPY_DATA
また、次のDBMS_CLOUDプロシージャでは、ディレクトリ内のファイル内のデータから外部表を作成することもできます。
-
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE -
DBMS_CLOUD.CREATE_EXTERNAL_TABLE -
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
プロシージャに応じて、file_uri_listパラメータまたはpartitioning_clauseパラメータのいずれかを使用して、1つ以上のディレクトリ内のファイルを指定します。
ディレクトリからデータをロードするには、credential_nameパラメータを含める必要はありませんが、ディレクトリに対するREADオブジェクト権限が必要です。
たとえば、DBMS_CLOUD.COPY_DATAを使用して既存の表にデータをロードできます。
-
既存のディレクトリを使用するか、ディレクトリを作成するか、ソース・ファイルのネットワーク・ファイル・システムをアタッチします。
Autonomous AI Databaseインスタンスにローカル・ディレクトリを作成する方法の詳細は、Autonomous AI Databaseでのディレクトリの作成を参照してください。
ロードするデータを含むネットワーク・ファイル・システムのアタッチの詳細は、Autonomous AIデータベースへのネットワーク・ファイル・システムのアタッチを参照してください。
-
DBMS_CLOUDプロシージャを使用してデータをロードします。たとえば:
CREATE TABLE CHANNELS (channel_id CHAR(1), channel_desc VARCHAR2(20), channel_class VARCHAR2(20) ); / BEGIN DBMS_CLOUD.COPY_DATA( table_name => 'CHANNELS', file_uri_list => 'MY_DIR:channels.txt', format => json_object('delimiter' value ',') ); END; /パラメータは次のとおりです。
-
table_name: ターゲット表の名前です。 -
file_uri_list: ロードするソース・ファイルのディレクトリおよびファイル名指定です。1つのディレクトリと1つ以上のファイル名を指定することも、ディレクトリとファイル名のカンマ区切りリストを使用することもできます。ディレクトリを指定する形式は、
'MY_DIR:filename.ext'です。デフォルトでは、ディレクトリ名MY_DIRはデータベース・オブジェクトであり、大/小文字は区別されません。ファイル名は、大/小文字が区別されます。ディレクトリにファイルを指定する詳細および例は、Autonomous AI Databaseのディレクトリからのデータのロードを参照してください。また、ディレクトリ名の大文字と小文字を区別するためにディレクトリ名を引用する方法や、ワイルドカードの使用に関する情報も示します。
-
format: ソース・ファイル形式(ファイルがテキスト型、ORC、ParquetまたはAvroのいずれであるかなど)を記述するために指定できるオプションを定義します。
-
詳細は、COPY_DATAプロシージャを参照してください。
ネットワーク・ファイル・システムのアタッチの詳細は、Autonomous AIデータベースへのネットワーク・ファイル・システムのアタッチを参照してください。