翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Cryptographic Computing for Clean Rooms でサポートされているファイルとデータの種類
C3R 暗号化クライアントは、以下の種類のファイルを認識します。
-
CSV ファイル
-
Parquet ファイル
C3R 暗号化クライアントの --fileFormat フラグを使用して、ファイル形式を明示的に指定できます。明示的に指定した場合、ファイル形式はファイル拡張子によって判断されません。
CSV ファイル
.csv 拡張子の付いたファイルは CSV 形式で、UTF-8 でエンコードされたテキストを含むものとみなされます。C3R 暗号化クライアントはすべての値を文字列として扱います。
.csv ファイルでサポートされるプロパティ
C3R 暗号化クライアントでは、.csv ファイルに次のプロパティが必要です。
-
各列に一意の名前を付ける最初のヘッダー行 (含まれる場合と含まれない場合があります)。
-
カンマ区切り (現在、カスタム区切り文字はサポートされていません)。
-
UTF-8 でエンコードされたテキスト。
.csv エントリからの空白の削除
.csv エントリから先頭および末尾の空白が両方とも削除されます。
.csv ファイルのカスタム NULL エンコーディング
.csv ファイルではカスタム NULL エンコーディングを使用できます。
C3R 暗号化クライアントでは、--csvInputNULLValue=<csv-input-null> フラグを使用して入力データの NULL エントリにカスタムエンコーディングを指定できます。C3R 暗号化クライアントは、--csvOutputNULLValue=<csv-output-null> フラグを使用することで、生成された出力ファイル内の NULL エントリに対してカスタムエンコーディングを使用できます。
注記
特に SQL テーブルのようなよりリッチな表形式のコンテキストでは、NULL エントリは欠落したコンテンツとみなされます。.csv は歴史的な理由からこの特性を明示的にサポートしていませんが、空白だけを含む空のエントリは NULL と見なすのが一般的な慣習です。したがって、これは C3R 暗号化クライアントのデフォルト動作であり、必要に応じてカスタマイズできます。
C3R による .csv エントリの解釈
次の表は、--csvInputNULLValue=<csv-input-null> および --csvOutputNULLValue=<csv-output-null> のフラグに指定された値 (存在する場合) に基づいて、.csv エントリを (わかりやすくするために cleartext から cleartext に) 整列化する方法の例を示しています。引用符の外側にある先頭と末尾の空白は、C3R が値の意味を解釈する前に削除されます。
<csv-input-null> |
<csv-output-null> |
入力エントリ | 出力エントリ |
|---|---|---|---|
| None | None | ,任意の製品, |
,任意の製品, |
| None | None | , 任意の製品 , |
,任意の製品, |
| None | None | ,"任意の製品", |
,任意の製品, |
| None | None | , "任意の製品" , |
,任意の製品, |
| None | None | ,, |
,, |
| None | None | , , |
,, |
| None | None | ,"", |
,, |
| None | None | ," ", |
," ", |
| None | None | , " " , |
," ", |
"任意の製品" |
"NULL" |
,任意の製品, |
,NULL, |
"任意の製品" |
"NULL" |
, 任意の製品 , |
,NULL, |
"任意の製品" |
"NULL" |
,"任意の製品", |
,NULL, |
"任意の製品" |
"NULL" |
, "任意の製品" , |
,NULL, |
| None | "NULL" |
,, |
,NULL, |
| None | "NULL" |
, , |
,NULL, |
| None | "NULL" |
,"", |
,NULL, |
| None | "NULL" |
," ", |
," ", |
| None | "NULL" |
, " " , |
," ", |
"" |
"NULL" |
,, |
,NULL, |
"" |
"NULL" |
, , |
,NULL, |
"" |
"NULL" |
,"", |
,"", |
"" |
"NULL" |
," ", |
," ", |
"" |
"NULL" |
, " " , |
," ", |
"\"\"" |
"NULL" |
,, |
,, |
"\"\"" |
"NULL" |
, , |
,, |
"\"\"" |
"NULL" |
,"", |
,NULL, |
"\"\"" |
"NULL" |
," ", |
," ", |
"\"\"" |
"NULL" |
, " " , |
," ", |
ヘッダーのない CSV ファイル
ソースの .csv ファイルでは、各列に一意の名前を付けるヘッダーが最初の行になくてもかまいません。ただし、ヘッダー行のない .csv ファイルには位置暗号化スキーマが必要です。ヘッダー行のある .csv ファイルと Parquet ファイルの両方に使用される一般的なマッピングスキーマの代わりに、位置暗号化スキーマが必要になります。
位置暗号化スキーマは、出力列を名前ではなく位置で指定します。マッピング暗号化スキーマは、ソースの列名をターゲットの列名にマッピングします。両方のスキーマ形式の詳細な説明や例については、「マッピングテーブルスキーマと位置テーブルスキーマ」を参照してください。
Parquet ファイル
.parquet 拡張子の付いたファイルは、Apache Parquet 形式であるとみなされます。
サポートされている Parquet データ型
C3R 暗号化クライアントでは、 AWS Clean Roomsでサポートされているデータ型を表す Parquet ファイル内の複雑でない (つまり、プリミティブ型の) データを処理できます。
ただし、sealed列には文字列の列しか使用できません。
以下の Parquet データ型 がサポートされています。
-
以下の論理アノテーション付きの
Binaryプリミティブ型-
--parquetBinaryAsStringが設定されている場合は不要 (STRINGデータ型) -
Decimal(scale, precision)(DECIMALデータ型) -
String(STRINGデータ型)
-
-
論理アノテーションのない
Booleanプリミティブデータ型 (BOOLEANデータ型) -
論理アノテーションのない
Doubleプリミティブデータ型 (DOUBLEデータ型) -
Decimal(scale, precision)論理アノテーション付きのFixed_Len_Binary_Arrayプリミティブ型 (DECIMALデータ型) -
論理アノテーションのない
Floatプリミティブデータ型 (FLOATデータ型) -
以下の論理アノテーション付きの
Int32プリミティブ型-
不要 (
INTデータ型) -
Date(DATEデータ型) -
Decimal(scale, precision)(DECIMALデータ型) -
Int(16, true)(SMALLINTデータ型) -
Int(32, true)(INTデータ型)
-
-
以下の論理アノテーション付きの
Int64プリミティブデータ型-
不要 (
BIGINTデータ型) -
Decimal(scale, precision)(DECIMALデータ型) -
Int(64, true)(BIGINTデータ型) -
Timestamp(isUTCAdjusted, TimeUnit.MILLIS)(TIMESTAMPデータ型) -
Timestamp(isUTCAdjusted, TimeUnit.MICROS)(TIMESTAMPデータ型) -
Timestamp(isUTCAdjusted, TimeUnit.NANOS)(TIMESTAMPデータ型)
-
文字列以外の値の暗号化
現在、sealed列では文字列値のみがサポートされています。
.csv ファイルの場合、C3R 暗号化クライアントはすべての値を UTF-8 でエンコードされたテキストとして扱い、暗号化前にそれらを異なる方法で解釈しようとはしません。
フィンガープリント列では、データ型は等価クラスにグループ化されます。等価クラスは、代表的なデータ型を使用して同等かどうかを明確に比較できるデータ型のセットです。
等価クラスを使用すると、元の表現に関係なく、同一のフィンガープリントを同じセマンティック値に割り当てることができます。ただし、2 つの等価クラスで同じ値があっても、同じフィンガープリント列にはなりません。
例えば、42 の INTEGRAL 値には、元の値が SMALLINT、INT、または BIGINT であったかどうかにかかわらず、同じフィンガープリントが割り当てられます。また、0 の INTEGRAL 値が FALSE の BOOLEAN 値 (値 0 で表される) と一致することはありません。
フィンガープリント列では、次の等価クラスと対応する AWS Clean Rooms データ型がサポートされています。
| 等価クラス | サポートされている AWS Clean Rooms データ型 |
|---|---|
BOOLEAN |
BOOLEAN |
DATE |
DATE |
INTEGRAL |
BIGINT, INT, SMALLINT |
STRING |
CHAR, STRING, VARCHAR |