コネクター・オプション

dsbulkコマンドのコネクター・オプション

コネクターによって、dsbulkを使用してさまざまな種類のデータを読み込み/アンロードできます。コネクター・オプションの一般的な形式は以下のとおりです。
--connector.name.option(string | number
たとえば、connector.csv.urlのようになります。

使用できるURLプロトコルは、インストールされているURLストリーム・ハンドラによって異なりますが、少なくともfileプロトコルは読み取りおよび書き込みをサポートするように保証され、HTTP/HTTPSプロトコルは読み取りをサポートするように保証されています。

fileプロトコルは、すべてのサポートされているファイル・システムで、ローカルまたは非ローカルで使用できます。
  • 読み取り時:URLは1つのファイルまたは既存のディレクトリーを参照します。ディレクトリーの場合は、fileNamePattern設定を使用して読み取るファイルをフィルターでき、recursive設定を使用してサブディレクトリーのファイルもコネクターが検索するかどうかを制御できます。
  • 書き込み時:URLはディレクトリーとして処理されます。ディレクトリーが存在しない場合は、ローダーによって作成が試行されます。CSVファイルはこのディレクトリー内に作成され、その名前はfileNameFormat設定によって制御されます。
ここで指定された値にプロトコルが含まれていない場合は、fileプロトコルが指定されます。現在の作業ディレクトリーに対して、相対URLが解決されます。また、便宜上、パスがチルダ(~)で始まる場合、その記号は現在のユーザーのホームディレクトリーまで拡張されます。

オプションは、短い形式(-k keyspace_name)でも、長い形式(--schema.keyspace keyspace_name)でも使用できます。

-c,--connector.name csv | json

使用するコネクターの名前。

デフォルト:csv

CSVコネクターとJSONコネクターの共通事項

--connector.(csv|json).fileNameFormat string

アップロード中の書き込み時に使用するファイル名形式。この設定は、読み取り時と非ファイルURLに対しては、無視されます。ファイル名はString.format()の形式ルールに従う必要があり、ファイル名カウンターをインクリメントするために使用される%d形式指定子が含まれている必要があります。

デフォルト:output-%0,6d.csv(CSV)、output-%0,6d.json(JSON)

--connector.(csv|json).fileNamePattern string

読み込むファイルを検索する際に使用するグロブ・パターン。使用する構文は、java.nio.file.FileSystem.getPathMatcher()に記述されているように、グロブ構文です。この設定は、書き込み時と非ファイルURLに対しては、無視されます。url設定が既知のファイル・システムのディレクトリーを参照する場合にのみ適用され、それ以外の場合は無視されます。

デフォルト:**/*.csv(CSV)、**/*.json(JSON)

-encoding,--connector.(csv|json).encoding string

ファイルの読み取りまたは書き込みファイルに使用するファイル・エンコーディング。

デフォルト:UTF-8

-maxConcurrentFiles,--connector.(csv|json).maxConcurrentFiles string

同時に書き込み可能なファイルの最大数。この設定は、読み込み時、および出力URLがファイル・システムのディレクトリー以外の場合は、無視されます。使用可能なコアの数が複数であるスレッドの数を指定するために、特別な構文NCを使用できます。たとえば、コア数が8の場合は、0.5C = 0.5 * 8 = 4のスレッド数になります。アンロードにのみ使用されます。

デフォルト:0.25C

-maxRecords,--connector.(csv|json).maxRecords number

各ファイルに対する読み取りまたは書き込み対象のレコードの最大数。読み取り時、この数字を超えるすべてのレコードは破棄されます。書き込み時、この数字までのレコード数がファイルに含まれます。さらに書き込み対象のファイルが残っている場合、fileNameFormat設定を使用して新しいファイルが作成されます。ディレクトリー以外の場所に書き込む場合、この設定は無視されます。CSVの場合は、この設定はheader設定を考慮します。すなわち、ファイルがヘッダー行で始まる場合、その行はレコードとしてカウントされません。この機能は、デフォルトで無効になっています(-1値で示されています)。

デフォルト:-1

--connector.(csv|json).recursive(true | false)

rootのサブディレクトリーのファイルのスキャンを有効または無効にします。urlが既知のファイル・システムのディレクトリーに設定されている場合にのみ適用されます。読み込みにのみ使用されます。

デフォルト:false

-skipRecords,--connector.(csv|json).skipRecords number

パーサーが実行開始可能となる前に各入力ファイルからスキップするレコード数。ファイルにヘッダー行(CSVの場合)が含まれている場合、その行は有効なレコードとしてカウントされません。読み込みにのみ使用されます。

デフォルト:0

-url,--connector.(csv|json).url string
読み取りまたは書き込みを行うリソースのURLまたはパス。使用可能なオプションは、-(読み込み用のstdinと書き込み用のstdoutを表す)とfile(ファイルパス)です。ファイルのURLは、fileプレフィックスを付けずに、単純なパスとしても表現できます。ファイルのディレクトリーも指定できます。

デフォルト:-

CSVコネクター・オプション

-comment,--connector.csv.comment string

テキストの行の先頭にあった場合、単一行コメントを表す文字。指定できるのは1文字だけです。この設定は、読み取りまたは書き込み対象のすべてのファイルに適用されます。

デフォルト:デフォルトでは無効で、null文字の値"\u0000"で示されます

-delim,--connector.csv.delimiter string

フィールド区切り文字として使用する文字。

デフォルト:,(カンマ)

-escape,--connector.csv.escape string

既に引用符で囲まれている値内の引用符をエスケープするために使用される文字。指定できるのは1文字だけです。この設定は、読み取りまたは書き込み対象のすべてのファイルに適用されます。

デフォルト:\

-header,--connector.csv.header ( true | false )
ファイルの読み込みや書き込みをヘッダー行から始めるかどうかを有効または無効にします。読み込みに対して有効になっていると、スキーマ・マッピングfieldA = col1, fieldB = col2, fieldC = col3の代わりに、すべてのファイルの最初の空でない行によってレコード・カラムごとのフィールド名が割り当てられます。読み込みに対して無効になっているとレコードにはフィールド名が含まれず、フィールド・インデックスの0 = col1, 1 = col2, 2 = col3のみです。アンロードについては、この設定を有効にした場合は各ファイルはヘッダー行で始まり、無効にした場合は各ファイルにヘッダー行が含まれません。
注: このオプションは、読み込みまたはアンロードされるすべてのファイルに適用されます。

デフォルト:true

--connector.csv.maxCharsPerColumn number

フィールドに含めることができる文字の最大数。この設定は、内部バッファーのサイズを調整したり、メモリー不足の問題を避けるために使用されます。-1に設定されると、内部バッファーは動的にサイズ変更されます。これは便利ですが、メモリーの問題につながる場合があります。一部の大きなフィールドで定数のサイズ変更が必要な場合、スループットを損なう可能性もあります。このような場合、この値をすべてのフィールド値を含むのに十分な大きさの固定された正の数に設定します。

デフォルト:4096

--connector.csv.quote character

フィールド区切り文字がフィールド値の一部である場合にフィールドを引用するために使用される文字。指定できるのは1文字だけです。この設定は、読み取りまたは書き込み対象のすべてのファイルに適用されます。

デフォルト:\

JSONコネクター・オプション

--connector.json.mode(SINGLE_DOCUMENT | MULTI_DOCUMENT)
JSONドキュメントの読み込みおよびアンロードのためのモード。有効な値は以下のとおりです。
  • MULTI_DOCUMENT:各リソースには、レコードにマップされる連続する任意の数のJSONドキュメントが含まれる可能性があります。たとえば、各JSONドキュメントの形式は単一ドキュメント、{doc1}です。JSONドキュメントのルート・ディレクトリーは、urlで指定でき、ドキュメントは、connector.json.recursiveをtrueに設定することで再帰的に読み込むことができます。
  • SINGLE_DOCUMENT:各リソースには、レコードにマップされるJSONドキュメントが要素であるルート・アレイが含まれています。たとえば、JSONドキュメントの形式は、埋め込みJSONドキュメントの配列、[ {doc1}, {doc2}, {doc3} ]です。

デフォルト:MULTI_DOCUMENT:

--connector.json.parserFeatures map

有効にできるJSONパーサーの機能。有効な値は、com.fasterxml.jackson.core.JsonParser.Featureで定義されたenum定数です。たとえば、{ ALLOW_COMMENTS : true, ALLOW_SINGLE_QUOTES : true }の値は、JSONデータにおけるコメントと単一引用符で囲まれた文字列の使用を許可するようにパーサーを構成します。読み込みにのみ使用されます。

デフォルト:{ }

--connector.json.generatorFeatures map

有効にできるJSONジェネレーターの機能。有効な値は、com.fasterxml.jackson.core.JsonGenerator.Featureで定義されたenum定数です。たとえば、{ ESCAPE_NON_ASCII : true, QUOTE_FIELD_NAMES : true }の値によって、7ビットのASCIIを超えるすべての文字をエスケープし、JSON出力の書き込み時にフィールド名を引用するようにジェネレータが構成されます。アンロードにのみ使用されます。

デフォルト:{ }

--connector.json.serializationFeatures map

設定できるJSONシリアライズ機能のマップ。マップ・キーは、com.fasterxml.jackson.databind.SerializationFeatureで定義されたenum定数である必要があります。アンロードにのみ使用されます。

デフォルト:{ }

--connector.json.deserializationFeatures map

設定できるJSONデシリアライズ機能のマップ。マップ・キーは、com.fasterxml.jackson.databind.DeserializationFeatureで定義されたenum定数である必要があります。デフォルト値は、解析時にTRUNCATEされた精度が浮動小数点数に含まれないことを保証する唯一の方法ですが、解析速度がわずかに遅くなる可能性があります。読み込みにのみ使用されます。

デフォルト:{ USE_BIG_DECIMAL_FOR_FLOATS : true }

--connector.json.serializationStrategy string

出力をフォーマットする際にエントリーを除外するためのストラテジ。有効な値は、com.fasterxml.jackson.annotation.JsonInclude.Includeで定義されたenum定数です(CUSTOMストラテジは受け付けられないことに注意してください)。アンロードにのみ使用されます。

デフォルト:ALWAYS

--connector.json.prettyPrint(true | false)
整形出力を有効または無効にします。有効な場合、JSONレコードはインデントを使用して書き込まれます。アンロードにのみ使用されます。
注: レコードのサイズが非常に大きくなる可能性があります。

デフォルト:false