テキスト出力のファイル・ネーミング(「CSV、JSON、ParquetまたはXML」)
「CSV、JSON、ParquetまたはXML」テキスト・ファイル出力でDBMS_CLOUD.EXPORT_DATA
を使用した出力ファイルのネーミングについて説明します。
DBMS_CLOUD.EXPORT_DATA
は、query
パラメータで指定された問合せを実行し、結果をクラウド・オブジェクト・ストア・バケットまたはディレクトリのいずれかのテキスト・ファイルに送信します。 出力形式は、指定したformat
パラメータtype
(「CSV、JSON、ParquetまたはXML」のいずれか)によって異なります。
プロシージャを高速化し、できるだけ速く出力を生成するために、DBMS_CLOUD.EXPORT_DATA
はその作業を分割します。 つまり、システム・リソースに応じて、DBMS_CLOUD.EXPORT_DATA
を実行すると、プロシージャによってクラウド・オブジェクト・ストア・バケットまたはディレクトリ内に複数の出力ファイルが作成されます。
生成された各ファイルの形式は次のとおりです:
[ FileNamePrefix | client_info _ module _ action ] _ sequenceNum _ timestamp 。 format_extension 。 [ compression_extension ]
-
FileNamePrefix: (オプション) FileNamePrefixが指定されている場合、
DBMS_CLOUD.EXPORT_DATA
はファイル名プレフィクスを使用して結果のファイル名を生成します。 FileNamePrefixは、file_uri_list
パラメータ値のバケットまたはディレクトリ名の後に指定されたテキストを使用して指定されます。file_uri_list
のFileNamePrefixには複数の値を指定できません。 -
client_info _ module _ action: ファイル名のプレフィクスに
file_uri_list
パラメータが指定されていない場合、DBMS_CLOUD.EXPORT_DATA
は、ファイル名プレフィクスとしてclient_info、アプリケーションmoduleおよびactionの組合せを使用します(この情報が使用可能な場合)。 この手順では、問合せを実行するデータベース・セッションのアプリケーション情報からこれらの名前を取得します。 client_info、module名およびaction名の詳細は、DBMS_APPLICATION_INFOを参照してください。ファイル名のプレフィクスに
file_uri_list
が指定されておらず、データベース・セッション属性が使用できない場合、DBMS_CLOUD.EXPORT_DATA
はファイル名プレフィクスdata
を使用します。 -
sequenceNum:
DBMS_CLOUD.EXPORT_DATA
問合せに関連付けられた順序番号。 問合せ、データベース・サービスおよび「ECPU (データベースがOCPUを使用している場合はOCPU)」の数によっては、1つ以上のsequenceNumがあります。 また、結果のサイズに応じて、sequenceNumごとに1つ以上の出力ファイルがあります。データベース・サービスの詳細は、「Autonomous Databaseでの同時実行性と優先度の管理」を参照してください。
-
timestamp: ファイルがアップロードされるときのタイムスタンプ。
-
format_extension : デフォルト値は、
format
type
値によって異なります:- CSV形式:
.csv
- JSON形式:
.json
- PARQUET形式
.parquet
- XMLフォーマット:
.xml
詳細は、「EXPORT_DATAのDBMS_CLOUDパッケージ形式オプション」の
format
オプションfileextension
の説明を参照してください。 - CSV形式:
-
compression_extension:
format
パラメータを値gzip
とともにcompression
オプションとともに含める場合、これは"gz"
です。format
type
がparquet
の場合、compression
値snappy
もサポートされ、これがデフォルトです。
たとえば、次のDBMS_CLOUD.EXPORT_DATA
プロシージャのファイル名のプレフィクスは、file_uri_list
パラメータにdept_export
として指定されます。 この例では、指定した形式で、指定したオブジェクト・ストアに出力を生成します。
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'json'));
END;
/
ファイル名のプレフィクスを指定すると、生成される出力ファイルには、次のようなファイル名プレフィクスが含まれます:
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json
生成される出力ファイルの数は、結果のサイズ、データベース・サービス、およびAutonomous Databaseインスタンスの「ECPU (データベースがOCPUを使用している場合はOCPU)」の数によって異なります。
次の例では、file_uri_list
パラメータにファイル名プレフィクスが含まれず、compression
パラメータに値gzip
が指定されています:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
query => 'SELECT * FROM DEPT',
format => json_object('type' value 'json', 'compression' value 'gzip'));
END;
/
ファイル名のプレフィクスがfile_uri_list
パラメータに含まれていない場合、DBMS_CLOUD.EXPORT_DATA
はフォームのファイル名プレフィクスを使用: client_info _ module _ action. この例では、生成された出力ファイルには、DBMS_CLOUD.EXPORT_DATA
が提供するファイル名プレフィクスが含まれ、ファイルはgzipで圧縮され、ファイル拡張子.gz
が追加されています。次に例を示します:
Client1_Module1_Action1_1_20210809T173033Z.json.gz
Client1_Module1_Action1_2_20210809T173034Z.json.gz
Client1_Module1_Action1_3_20210809T173041Z.json.gz
Client1_Module1_Action1_4_20210809T173035Z.json.gz
DBMS_CLOUD.EXPORT_DATA
の実行時にclient_info _ module _ actionセッション情報を使用できない場合、ファイル名のプレフィクスはdata
に設定されます。 たとえば:
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz
たとえば、次のDBMS_CLOUD.EXPORT_DATA
プロシージャのファイル名のプレフィクスは、file_uri_list
パラメータにdept_export
として指定されます。 この例では、指定されたディレクトリへの出力を指定された形式で生成します。
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'DATA_PUMP_DIR:sales.json',
query => 'SELECT * FROM SALES',
format => JSON_OBJECT('type' value 'json'));
END;
/
ファイル名プレフィクスを指定すると、生成される出力ファイルには、次のようなファイル名プレフィクスが含まれます:
sales_1_20230705T124523275915Z.csv
DBMS_CLOUD.EXPORT_DATA
を使用したファイル・ネーミングに関するノート:
-
DBMS_CLOUD.EXPORT_DATA
では、バケットまたはディレクトリは作成されません。 -
DBMS_CLOUD.EXPORT_DATA
によって生成されるファイルの数は、「ECPU (データベースがOCPUを使用している場合はOCPU)」の数、データベース・サービスおよび結果データのサイズによって決まります。 -
file_uri_list
パラメータにディレクトリ・オブジェクト名を指定する場合、次のことが適用されます:-
指定されたディレクトリが存在し、そのディレクトリへの
WRITE
アクセス権が必要です。 -
ディレクトリ名は、二重引用符で囲むと大文字と小文字が区別されます。
-
資格証明名パラメータを指定しないでください。
-
-
CSV、JSONまたはXML出力の場合、生成されたファイルに10MBのデータが含まれていると、新しい出力ファイルが作成されます。 ただし、結果データが10MB未満の場合は、データベース・サービスおよびAutonomous DatabaseインスタンスのECPU数(データベースがOCPUを使用する場合はOCPU)に応じて、複数の出力ファイルが存在する可能性があります。
CSV、JSONまたはXMLのデフォルト出力ファイルのチャンク・サイズは10MBです。 この値は、
format
パラメータのmaxfilesize
オプションを使用して変更できます。 詳細については、「EXPORT_DATAのDBMS_CLOUDパッケージ形式オプション」を参照してください。 -
Parquet出力の場合、生成される各ファイルは128MB未満で、複数の出力ファイルを生成できます。 ただし、結果データが128MB未満の場合は、データベース・サービスおよびAutonomous DatabaseインスタンスのECPU数(データベースがOCPUを使用する場合はOCPU)に応じて、複数の出力ファイルが存在する場合があります。
format
パラメータのmaxfilesize
オプションは、Parquetファイルには適用されません。
親トピック: データをテキストとしてオブジェクト・ストアにエクスポート