外部データの問合せ
DBMS_CLOUD.CREATE_EXTERNAL_TABLEを使用して外部表を作成する必要があります。
プロシージャDBMS_CLOUD.CREATE_EXTERNAL_TABLEを使用して、アタッチされたファイル・システムまたはローカル・ファイル・システムの外部データを問い合せることもできます。
DBMS_CLOUD.CREATE_EXTERNAL_TABLEの手順では、次のようなサポートされているクラウド・オブジェクト・ストレージ・サービスの外部ファイルがサポートされます:
-
Oracle Cloud Infrastructureオブジェクト・ストレージ
-
Azure BlobストレージまたはAzure Data Lakeストレージ
-
Amazon S3
-
Amazon S3-Compatible(次を含む): Oracle Cloud Infrastructure Object Storage、Google Cloud StorageおよびWasabi Hot Cloud Storage。
-
GitHubリポジトリ
この例のソース・ファイルchannels.txtには、次のデータがあります。
S,Direct Sales,Direct T,Tele Sales,Direct C,Catalog,Indirect I,Internet,Indirect P,Partners,Others
外部表のMetadata列
外部表のメタデータは、問合せの実行時にデータの取得元を特定するのに役立ちます。
DBMS_CLOUD.CREATE_EXTERNAL_TABLE、DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEまたはDBMS_CLOUD.CREATE_HYBRID_PART_TABLEを使用して作成した外部表には、2つの非表示列file$pathおよびfile$nameが含まれます。 これらの列は、レコードの起点となるファイルの識別に役立ちます。
-
file$path: オブジェクト名の先頭までのファイル・パス・テキストを指定します。 -
file$name: 最後の「/」に続くすべてのテキストを含むオブジェクト名を指定します。
たとえば:
SELECT genre_id, name, file$name, file$path FROM ext_genre
WHERE rownum <= 2;
genre_id name file$name file$path
-------- --------- ----------- ----------------------
1 Action genre.csv https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/moviestream_gold/o/genre
2 Adventure genre.csv https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/moviestream_gold/o/genre非表示列の詳細は、「非表示列」を参照してください。