コネクター・オプション
dsbulkコマンドのコネクター・オプション
dsbulk
を使用してさまざまな種類のデータを読み込み/アンロードできます。コネクター・オプションの一般的な形式は以下のとおりです。--connector.name.option(string | number)
たとえば、connector.csv.url
のようになります。使用できるURLプロトコルは、インストールされているURLストリーム・ハンドラによって異なりますが、少なくともfileプロトコルは読み取りおよび書き込みをサポートするように保証され、HTTP/HTTPS
プロトコルは読み取りをサポートするように保証されています。
- 読み取り時:URLは1つのファイルまたは既存のディレクトリーを参照します。ディレクトリーの場合は、fileNamePattern設定を使用して読み取るファイルをフィルターでき、recursive設定を使用してサブディレクトリーのファイルもコネクターが検索するかどうかを制御できます。
- 書き込み時:URLはディレクトリーとして処理されます。ディレクトリーが存在しない場合は、ローダーによって作成が試行されます。CSVファイルはこのディレクトリー内に作成され、その名前はfileNameFormat設定によって制御されます。
~
)で始まる場合、その記号は現在のユーザーのホームディレクトリーまで拡張されます。オプションは、短い形式(-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:
- MULTI_DOCUMENT:各リソースには、レコードにマップされる連続する任意の数のJSONドキュメントが含まれる可能性があります。たとえば、各JSONドキュメントの形式は単一ドキュメント、
- --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