コーデック・オプション

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桁ごとの区切り文字、ローカライズされた小数点記号、オプションの指数など、大部分の入力が認識されます。locale en_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 StrategyUPに設定した場合、数値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_TIMEISO_INSTANTなどの事前定義のフォーマッター、またはjava.time.format.DateTimeFormatterのその他の公開静的フィールド
  • 特別なフォーマッターCQL_TIMESTAMPtimestamp型のすべての有効な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.timestampcodec.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