Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jenis file dan data yang didukung dalam Komputasi Kriptografi untuk Clean Rooms
Klien enkripsi C3R mengenali jenis file berikut:
-
Berkas CSV
-
Parquetberkas
Anda dapat menggunakan --fileFormat
bendera di klien enkripsi C3R untuk menentukan format file secara eksplisit. Ketika ditentukan secara eksplisit, format file tidak ditentukan oleh ekstensi file.
Berkas CSV
File dengan ekstensi.csv diasumsikan berformat CSV dan berisi teks yang dikodekan UTF-8. Klien enkripsi C3R memperlakukan semua nilai sebagai string.
Properti yang didukung dalam file.csv
Klien enkripsi C3R mensyaratkan bahwa file.csv memiliki properti berikut:
-
Mungkin atau mungkin tidak berisi baris header awal yang secara unik menamai setiap kolom.
-
Dibatasi koma. (Saat ini, pembatas khusus tidak didukung.)
-
Teks yang dikodekan UTF-8.
Pemangkasan ruang putih dari entri .csv
Spasi putih depan dan belakang dipangkas dari entri .csv.
NULLPengkodean khusus untuk file.csv
File.csv dapat menggunakan pengkodean khususNULL.
Dengan klien enkripsi C3R, Anda dapat menentukan pengkodean kustom untuk NULL entri dalam data input dengan menggunakan bendera. --csvInputNULLValue=<csv-input-null>
Klien enkripsi C3R dapat menggunakan pengkodean khusus dalam file keluaran yang dihasilkan untuk entri NULL dengan menggunakan bendera. --csvOutputNULLValue=<csv-output-null>
catatan
NULLEntri dianggap kurang konten, khususnya dalam konteks format tabel yang lebih kaya seperti tabel SQL. Meskipun .csv tidak secara eksplisit mendukung karakterisasi ini karena alasan historis, itu adalah konvensi umum untuk mempertimbangkan entri kosong yang hanya berisi spasi putih. NULL Oleh karena itu, itulah perilaku default klien enkripsi C3R dan dapat disesuaikan sesuai kebutuhan.
Bagaimana entri .csv ditafsirkan oleh C3R
Tabel berikut memberikan contoh bagaimana entri .csv disusun (cleartextcleartextuntuk kejelasan) berdasarkan nilai (jika ada) yang disediakan untuk dan flag. --csvInputNULLValue=<csv-input-null>
--csvOutputNULLValue=<csv-output-null>
Memimpin dan membuntuti ruang putih di luar tanda kutip dipangkas sebelum C3R menafsirkan makna nilai apa pun.
<csv-input-null> |
<csv-output-null> |
Masukan entri | Entri keluaran |
---|---|---|---|
Tidak ada | Tidak ada | ,AnyProduct, |
,AnyProduct, |
Tidak ada | Tidak ada | , AnyProduct , |
,AnyProduct, |
Tidak ada | Tidak ada | ,"AnyProduct", |
,AnyProduct, |
Tidak ada | Tidak ada | , "AnyProduct" , |
,AnyProduct, |
Tidak ada | Tidak ada | ,, |
,, |
Tidak ada | Tidak ada | , , |
,, |
Tidak ada | Tidak ada | ,"", |
,, |
Tidak ada | Tidak ada | ," ", |
," ", |
Tidak ada | Tidak ada | , " " , |
," ", |
"AnyProduct" |
"NULL" |
,AnyProduct, |
,NULL, |
"AnyProduct" |
"NULL" |
, AnyProduct , |
,NULL, |
"AnyProduct" |
"NULL" |
,"AnyProduct", |
,NULL, |
"AnyProduct" |
"NULL" |
, "AnyProduct" , |
,NULL, |
Tidak ada | "NULL" |
,, |
,NULL, |
Tidak ada | "NULL" |
, , |
,NULL, |
Tidak ada | "NULL" |
,"", |
,NULL, |
Tidak ada | "NULL" |
," ", |
," ", |
Tidak ada | "NULL" |
, " " , |
," ", |
"" |
"NULL" |
,, |
,NULL, |
"" |
"NULL" |
, , |
,NULL, |
"" |
"NULL" |
,"", |
,"", |
"" |
"NULL" |
," ", |
," ", |
"" |
"NULL" |
, " " , |
," ", |
"\"\"" |
"NULL" |
,, |
,, |
"\"\"" |
"NULL" |
, , |
,, |
"\"\"" |
"NULL" |
,"", |
,NULL, |
"\"\"" |
"NULL" |
," ", |
," ", |
"\"\"" |
"NULL" |
, " " , |
," ", |
File CSV tanpa header
File sumber.csv tidak perlu memiliki header di baris pertama yang secara unik memberi nama setiap kolom. Namun, file.csv tanpa baris header memerlukan skema enkripsi posisi. Skema enkripsi posisi diperlukan alih-alih skema pemetaan khas yang digunakan untuk file.csv dengan baris header dan file. Parquet
Skema enkripsi posisi menentukan kolom keluaran berdasarkan posisi, bukan dengan nama. Skema enkripsi yang dipetakan memetakan nama kolom sumber untuk menargetkan nama kolom. Untuk informasi lebih lanjut, termasuk diskusi rinci dan contoh dari kedua format skema, lihatSkema tabel yang dipetakan dan posisi.
Parquetberkas
File dengan .parquet ekstensi diasumsikan dalam Apache Parquet format.
Tipe Parquet data yang didukung
Klien enkripsi C3R dapat memproses data non-kompleks (yaitu tipe primitif) dalam Parquet file yang mewakili tipe data yang didukung oleh. AWS Clean Rooms
Namun, hanya kolom string yang dapat digunakan untuk sealed kolom.
Tipe data Parket berikut didukung:
-
Binary
tipe primitif dengan anotasi logis berikut:-
Tidak ada jika
--parquetBinaryAsString
diatur (tipeSTRING
data) -
Decimal(scale, precision)
(tipeDECIMAL
data) -
String
(tipeSTRING
data)
-
-
Boolean
tipe data primitif tanpa anotasi logis (tipeBOOLEAN
data) -
Double
tipe data primitif tanpa anotasi logis (tipeDOUBLE
data) -
Fixed_Len_Binary_Array
tipe primitif dengan anotasiDecimal(scale, precision)
logis (tipeDECIMAL
data) -
Float
tipe data primitif tanpa anotasi logis (tipeFLOAT
data) -
Int32
tipe primitif dengan anotasi logis berikut:-
Tidak ada (tipe
INT
data) -
Date
(tipeDATE
data) -
Decimal(scale, precision)
(tipeDECIMAL
data) -
Int(16, true)
(tipeSMALLINT
data) -
Int(32, true)
(tipeINT
data)
-
-
Int64
tipe data primitif dengan anotasi logis berikut:-
Tidak ada (tipe
BIGINT
data) -
Decimal(scale, precision)
(tipeDECIMAL
data) -
Int(64, true)
(tipeBIGINT
data) -
Timestamp(isUTCAdjusted, TimeUnit.MILLIS)
(tipeTIMESTAMP
data) -
Timestamp(isUTCAdjusted, TimeUnit.MICROS)
(tipeTIMESTAMP
data) -
Timestamp(isUTCAdjusted, TimeUnit.NANOS)
(tipeTIMESTAMP
data)
-
Mengenkripsi nilai non-string
Saat ini, hanya nilai string yang didukung untuk sealed kolom.
Untuk file.csv, klien enkripsi C3R memperlakukan semua nilai sebagai teks yang dikodekan UTF-8 dan tidak berusaha untuk menafsirkannya secara berbeda sebelum enkripsi.
Untuk kolom sidik jari, jenis dikelompokkan ke dalam kelas ekivalensi. Kelas kesetaraan adalah sekumpulan tipe data yang dapat dibandingkan secara jelas untuk kesetaraan melalui tipe data yang representatif.
Kelas kesetaraan memungkinkan sidik jari identik untuk ditetapkan ke nilai semantik yang sama terlepas dari representasi aslinya. Namun, nilai yang sama dalam dua kelas ekivalensi tidak akan menghasilkan kolom sidik jari yang sama.
Misalnya, INTEGRAL
nilai 42
akan diberikan sidik jari yang sama terlepas dari apakah itu awalnyaSMALLINT
,INT
, atauBIGINT
. Juga, INTEGRAL
nilai tidak 0
akan pernah cocok dengan BOOLEAN
nilai FALSE
(yang diwakili oleh nilai0
).
Kelas kesetaraan berikut dan tipe AWS Clean Rooms data yang sesuai didukung oleh kolom sidik jari:
Kelas kesetaraan | Tipe AWS Clean Rooms data yang didukung |
---|---|
BOOLEAN |
BOOLEAN |
DATE |
DATE |
INTEGRAL |
BIGINT , INT , SMALLINT |
STRING |
CHAR , STRING , VARCHAR |