コーデック・オプション
dsbulkコマンドのコーデック・オプション
dsbulkコマンドのコーデック・オプションを指定します。このオプションでは、読み込み時のレコード・フィールド解析方法や、アンロード時の行セル・フォーマット方法を指定します。
オプションは、短い形式(-k keyspace_name
)でも、長い形式(--schema.keyspace keyspace_name
)でも使用できます。
- -locale,--codec.locale string
-
ロケール依存の変換で使用するロケール。
デフォルト:en_US
- -timeZone,--codec.timeZone string
-
一時変換で使用するタイム・ゾーン。読み込み時は、このタイム・ゾーンを使用して、明示的なタイム・ゾーン情報を示さない入力からタイムスタンプを入手します。アンロード時は、タイム・ゾーンを使用して、すべてのタイムスタンプをフォーマットします。
デフォルト:UTC
- -nullStrings,--codec.nullStrings string
-
null
にマップする必要がある文字列の、カンマで区切られたリスト。読み込みで、特定のレコード・フィールド値が指定された文字列の値と正確に一致していれば、その値はDSEに書き込まれる前にnull
に置き換えられます。アンロードの場合、この設定は、CSVなどの文字列ベースのコネクターにのみ適用されます。消去時に、指定された最初の文字列を使用して、null
を含んだ行セルを指定された文字列に変更します。デフォルトでは、null
にマップされる文字列はありません。ターゲットのCQL型がテキスト形式(varcharまたはascii)である場合、元のフィールド値は影響を受けません。それ以外の型の場合、フィールド値が空の文字列であれば、読み込み時にnull
に変換され、アンロード時にnull
が空の文字列に変換されます。この設定はschema.nullToUnsetよりも先に適用されるため、必要に応じて、nullの文字列によって生成されるnull
を未設定の状態にしておくことができます。デフォルト:[ ](
null
にマップされる文字列はありません) - --codec.booleanStrings [ true_value:false_value, ...]
-
dsbulkがtrueおよびfalseの表現をどのように使用するのかを指定します。各表現は
true_value:false_value
の形式で、大文字と小文字が区別されます。読み込みでは、すべての表現が受け入れられます。アンロードでは、最初の表現が使用され、その他は無視されます。デフォルト:["1:0","Y:N","T:F","YES:NO","TRUE:FALSE"]
- --codec.booleanNumbers [ true_value, false_value ]
-
trueおよびfalseの数値表現を解釈する方法を設定します。表現は、
true_value,false_value
の形式です。マッピングは相互に行われます。つまり、数値はブーリアンにマッピングされ、その逆も行われます。この設定で指定されていない数値は、すべて拒否されます。デフォルト:[1, 0]
- --codec.number string
-
String
型とCQL数値型との変換で使用するDecimalFormat
パターン。使用するパターン構文の詳細については、「java.text.DecimalFormat 」を参照してください。オプションのローカライズされた3桁ごとの区切り文字、ローカライズされた小数点記号、オプションの指数など、大部分の入力が認識されます。localeen_US
、1234、1,234、1234.5678、1,234.5678、1,234.5678E2は、どれも有効です。アンロードおよびフォーマットでは、丸めによって精度の低下の可能性があります。「codec.formatNumbers」および「codec.roundingStrategy」を参照してください。デフォルト:#,###.##
- --codec.formatNumbers ( true | false )
-
すべての数値出力をフォーマットするために、
codec.number
パターンを使用するかどうかを指定します。true
に設定した場合、codec.number
によって定義される数値パターンが適用されます。これによって、出力が適切にフォーマットされますが、丸めが行われたり、(「codec.roundingStrategy
」を参照) 元の10進法が変化する可能性があります。false
に設定すると、数値はtoString
メソッドで文字列に変換され、丸めや記数法の変化は起きません。適用されるのは、アンロードする場合と、使用中のコネクターが文字列への変換を必要とした場合のみです。CSVコネクターなどのコネクターは生の数値データを処理しないので、適用されなければ数値は無視されます。デフォルト:false
- --codec.roundingStrategy string
-
CQL数値型からStringに変換するために使用する丸めストラテジ。有効な選択肢:
java.math.RoundingMode
列挙型定数名。CEILING、FLOOR、UP、DOWN、HALF_UP、HALF_EVEN、HALF_DOWN、およびUNNECESSARYを含みます。codec.number
に基づいて宣言される数値パターンから丸めを推測する際に使用する精度。たとえば、デフォルトcodec.number
(#,###.##)の丸め精度は2であり、codec.rounding Strategy
をUP
に設定した場合、数値123.456は123.46に丸められます。デフォルト値は無限精度になり、codec.number
設定は無視されます。適用されるのは、アンロードで、codec.formatNumbers
がtrueであり、使用中のコネクターが文字列変換を必要とした場合のみです。CSVコネクターなどのコネクターは生の数値データを処理しないので、適用されなければ数値は無視されます。デフォルト:UNECESSARY
- --codec.overflowStrategy string
-
この設定は、以下の3つの可能性のいずれかを意味することがあります。
- 値がターゲットCQL型の範囲から外れている。たとえば、128をCQL tinyint(最大値127)に変換しようとするとオーバーフローになります。
- 値は小数なのに、ターゲットCQL型が整数になっている。たとえば、123.45をCQL intに変換しようとするとオーバーフローになります。
- 値の精度がターゲットCQL型に対して大きすぎる。たとえば、0.1234567890123456789をCQL倍数に挿入しようとすると、64ビット倍数に適合させるには有効桁数が大すぎるためオーバーフローになります。
- REJECT:オーバーフローはエラーと見なされ、データは拒否されます。これはデフォルト値です。
- TRUNCATE:ターゲットのCQL型に適合するように、データがTRUNCATEされます。 注: 切り捨てアルゴリズムは、「Java言語の仕様」のセクション5.1.3に定義されている縮幅プリミティブ変換に似ており、以下の例外を伴います。(1)値が大きすぎるか小さすぎる場合は、ビット・レベルでTRUNCATEされるのではなく、許容される最大値や最小値に切り上げまたは切り捨てられます。たとえば、128は型に適合するように127に切り捨てられ、Javaは超過分のビットをTRUNCATEして、代わりに-127に変換します。(2)値が小数でターゲットのCQL型が整数である場合は、まず、定義済みの丸めストラテジを使用して丸められ、それからターゲットの型に適合するように縮幅されます。これによって精度の低下の可能性があるため、慎重に使用する必要があります。
デフォルト:REJECT
- --codec.timestamp ( formatter | string )
-
String
をCQLタイムスタンプに変換するために使用する時間パターン。有効な選択肢:- 日付時刻パターン
ISO_ZONED_DATE_TIME
やISO_INSTANT
などの事前定義のフォーマッター、またはjava.time.format.DateTimeFormatterのその他の公開静的フィールド- 特別なフォーマッター
CQL_TIMESTAMP
。timestamp
型のすべての有効なCQLリテラル形式を受け入れる特別なパーサーです。
注: パターンおよび事前定義フォーマッターの詳細については、Oracle Javaドキュメントの「フォーマットおよび解析用のパターン」を参照してください。CQLの日付、時刻、およびタイムスタンプのリテラルの詳細については、「日付、時刻、およびタイムスタンプの形式」を参照してください。以下に示すように、解析の際、この形式は大部分のCQL一時リテラルを認識します。
入力がローカル日付である場合、タイムスタンプは、タイプ 値 ローカル日付 2012-01-01 ローカル時間 12:34
12:34:56
12:34:56.123
12:34:56.123456
12:34:56.123456789
ローカル日時 2012-01-01T12:34
2012-01-01T12:34:56
2012-01-01T12:34:56.123
2012-01-01T12:34:56.123456
2012-01-01T12:34:56.123456789
タイムゾーン付き日時 2012-01-01T12:34+01:00
2012-01-01T12:34:56+01:00
2012-01-01T12:34:56.123+01:00
2012-01-01T12:34:56.123456+01:00
2012-01-01T12:34:56.123456789+01:00
2012-01-01T12:34:56.123456789+01:00[欧州/パリ]
timeZone
で指定されているタイム・ゾーンを使用して真夜中で解決されます。入力がローカル時間である場合、タイムスタンプはtimeZone
で指定されているタイム・ゾーンを使用して解決され、日付はepoch
(デフォルトでは、1970年1月1日)で指定されているインスタントから推測されます。フォーマット時、この形式はISO_OFFSET_DATE_TIME
パターンを使用します。これは、CQLとISO-8601の両方に適合しています。デフォルト:CQL_TIMESTAMP
- --codec.date ( formatter | string )
-
String
をCQL日付に変換するために使用する時間パターン。有効な選択肢:- 日付時刻パターン
ISO_LOCAL_DATE
などの事前定義のフォーマッター
注: パターンおよび事前定義フォーマッターの詳細については、Oracle Javaドキュメントの「フォーマットおよび解析用のパターン」を参照してください。CQLの日付、時刻、およびタイムスタンプのリテラルの詳細については、「日付、時刻、およびタイムスタンプの形式」を参照してください。デフォルト:ISO_LOCAL_DATE
- --codec.time ( formatter | string )
-
String
をCQL時間に変換するために使用する時間パターン。有効な選択肢:- HH:mm:ssなどの日付時刻パターン
ISO_LOCAL_TIME
などの事前定義のフォーマッター
注: パターンおよび事前定義フォーマッターの詳細については、Oracle Javaドキュメントの「フォーマットおよび解析用のパターン」を参照してください。CQLの日付、時刻、およびタイムスタンプのリテラルの詳細については、「日付、時刻、およびタイムスタンプの形式」を参照してください。デフォルト:ISO_LOCAL_TIME
- --codec.unit
-
この設定は、CQLタイムスタンプ列と、クエリーの
USING TIMESTAMP
句にのみ適用されます。入力がcodec.timestamp形式で解析できない桁のみを含んでいる文字列である場合、指定された時間単位が解析済みの値に適用されます。すべてのTimeUnit
列挙型定数が、有効です。デフォルト:MILLISECONDS
- --codec.epoch
-
この設定は、CQLタイムスタンプ列と、クエリーの
USING TIMESTAMP
句にのみ適用されます。入力が、codec.timestamp形式で解析できない桁のみを含んでいる文字列である場合、指定された日時によって、解析済みの値で使用される相対ポイントが決まります。値は、オプションcodec.timestamp
とcodec.timeZoneによって定義される、有効なタイムスタンプでなければなりません(値がタイム・ゾーンを含まない場合)。デフォルト:1970-01-01T00:00:00Z
- --codec.uuidStrategy ( RANDOM | FIXED | MIN | MAX )
-
タイムスタンプから時間ベースの(バージョン1)UUIDを生成する際に使用するストラテジ。生成されたUUIDのクロック・シーケンスおよびノードIDの部分はベストエフォート方式で決まり、RFC 4122に完全に適合することはありません。有効な値は以下のとおりです。
- RANDOM:ローカル・クロック・シーケンスとノードIDの代わりに乱数を使用してUUIDを生成します。このストラテジでは、元のタイムスタンプが一意であるとは限らなくても、生成されたUUIDは確実に一意になります。
- FIXED:元のタイムスタンプが一意であることが保証されている場合の推奨ストラテジ。高速。固定ローカル・クロック・シーケンスとノードIDを使用してUUIDを生成します。
- MIN:指定のタイムスタンプで可能な限り最小のタイプ1 UUIDを生成します。 警告: このストラテジは、 一意に生成されたUUIDを保証するものではないため、注意して使用する必要があります。
- MAX:指定のタイムスタンプで可能な限り最大のタイプ1 UUIDを生成します。 警告: このストラテジは、 一意に生成されたUUIDを保証するものではないため、注意して使用する必要があります。
デフォルト:RANDOM