本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在加密計算中支持的文件和數據類型 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 加密用戶端,您可以使用旗標為輸入資料中的NULL項目指定自訂編碼。--csvInputNULLValue=<csv-input-null>
C3R 加密用戶端可以使用旗標,在產生的輸出檔案中針對 NULL 項目使用自訂編碼。--csvOutputNULLValue=<csv-output-null>
注意
NULL條目被認為是缺少內容,特別是在更豐富的表格格式(如 SQL 表)的上下文中。雖然 .csv 基於歷史原因並未明確支援此特性分析,但考慮只包含空白區域的空白項目是一種常見慣例。NULL因此,這是 C3R 加密用戶端的預設行為,可視需要進行自訂。
C3R 如何解釋 .csv 條目
下表提供了如何根據cleartext為和旗標提供的值 (如果有的話) 封送 .csv 項目的範例 (以cleartext便清楚起見)。--csvInputNULLValue=<csv-input-null>
--csvOutputNULLValue=<csv-output-null>
在 C3R 解釋任何值的含義之前,引號外的前導和尾隨空格被修剪。
<csv-input-null> |
<csv-output-null> |
輸入項目 | 輸出項目 |
---|---|---|---|
無 | 無 | ,AnyProduct, |
,AnyProduct, |
無 | 無 | , AnyProduct , |
,AnyProduct, |
無 | 無 | ,"AnyProduct", |
,AnyProduct, |
無 | 無 | , "AnyProduct" , |
,AnyProduct, |
無 | 無 | ,, |
,, |
無 | 無 | , , |
,, |
無 | 無 | ,"", |
,, |
無 | 無 | ," ", |
," ", |
無 | 無 | , " " , |
," ", |
"AnyProduct" |
"NULL" |
,AnyProduct, |
,NULL, |
"AnyProduct" |
"NULL" |
, AnyProduct , |
,NULL, |
"AnyProduct" |
"NULL" |
,"AnyProduct", |
,NULL, |
"AnyProduct" |
"NULL" |
, "AnyProduct" , |
,NULL, |
無 | "NULL" |
,, |
,NULL, |
無 | "NULL" |
, , |
,NULL, |
無 | "NULL" |
,"", |
,NULL, |
無 | "NULL" |
," ", |
," ", |
無 | "NULL" |
, " " , |
," ", |
"" |
"NULL" |
,, |
,NULL, |
"" |
"NULL" |
, , |
,NULL, |
"" |
"NULL" |
,"", |
,"", |
"" |
"NULL" |
," ", |
," ", |
"" |
"NULL" |
, " " , |
," ", |
"\"\"" |
"NULL" |
,, |
,, |
"\"\"" |
"NULL" |
, , |
,, |
"\"\"" |
"NULL" |
,"", |
,NULL, |
"\"\"" |
"NULL" |
," ", |
," ", |
"\"\"" |
"NULL" |
, " " , |
," ", |
不含標題的 CSV 檔案
來源 .csv 檔案不需要在第一列中具有唯一命名每一欄的標題。但是,沒有標題列的 .csv 檔案需要位置加密結構描述。需要位置加密結構描述,而不是標題列和Parquet檔案的 .csv 檔案所使用的典型對應結構描述。
位置加密結構描述會依位置而非名稱來指定輸出資料行。對應的加密架構會將來源資料欄名稱對應至目標資料欄名稱。如需詳細資訊,包括兩種結構描述格式的詳細討論和範例,請參閱對映和位置表格資料架構。
Parquet檔案
具有.parquet擴展名的文件被假定為Apache Parquet格式。
支援的Parquet資料類型
C3R 加密客戶端可以處理代表支持的數據類型的Parquet文件中的任何非複雜(也就是原始類型)數據。 AWS Clean Rooms
但是,只有字串資料行可用於sealed欄。
支援下列實木複合地板資料類型:
-
Binary
具有以下邏輯註釋的原始類型:-
如果設定
--parquetBinaryAsString
為「無」(STRING
資料類型) -
Decimal(scale, precision)
(DECIMAL
資料類型) -
String
(STRING
資料類型)
-
-
Boolean
沒有邏輯註釋的原始數據類型(BOOLEAN
數據類型) -
Double
沒有邏輯註釋的原始數據類型(DOUBLE
數據類型) -
Fixed_Len_Binary_Array
帶有Decimal(scale, precision)
邏輯註釋的原始類型(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 編碼文字,並且在加密之前不會嘗試以不同的方式解譯它們。
對於指紋資料行,類型會分組為對等類別。等價類是一組數據類型,可以通過代表性數據類型明確地比較相等性。
等價類允許將相同的指紋分配給相同的語義值,而不管原始表示。但是,兩個等價類別中的相同值不會產生相同的指紋資料行。
例如,無論該INTEGRAL
值原本是、或SMALLINT
,INT
都42
會指派相同的指紋BIGINT
。此外,該INTEGRAL
值永遠不0
會匹配BOOLEAN
值FALSE
(由值表示0
)。
指紋資料行支援下列對等類別和對應的 AWS Clean Rooms 資料類型:
等價類 | 支援的 AWS Clean Rooms 資料類型 |
---|---|
BOOLEAN |
BOOLEAN |
DATE |
DATE |
INTEGRAL |
BIGINT , INT , SMALLINT |
STRING |
CHAR , STRING , VARCHAR |