Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tipi di file e dati supportati in Cryptographic Computing per Clean Rooms
Il client di crittografia C3R riconosce i seguenti tipi di file:
-
File CSV
-
Parquet files
È possibile utilizzare il --fileFormat flag nel client di crittografia C3R per specificare un formato di file in modo esplicito. Se specificato in modo esplicito, il formato del file non è determinato dall'estensione del file.
File CSV
Si presume che un file con estensione.csv sia in formato CSV e contenga testo con codifica UTF-8. Il client di crittografia C3R tratta tutti i valori come stringhe.
Proprietà supportate nei file.csv
Il client di crittografia C3R richiede che i file.csv abbiano le seguenti proprietà:
-
Potrebbe contenere o meno una riga di intestazione iniziale che nomina in modo univoco ogni colonna.
-
Delimitato da virgole. (Attualmente, i delimitatori personalizzati non sono supportati.)
-
Testo con codifica UTF-8.
Riduzione degli spazi bianchi dalle voci in formato.csv
Sia gli spazi bianchi iniziali che quelli finali vengono eliminati dalle voci in formato.csv.
Personalizza NULL codifica per un file.csv
Un file.csv può essere personalizzato NULL codifica.
Con il client di crittografia C3R, è possibile specificare codifiche personalizzate per NULL immissioni nei dati di input utilizzando il flag. --csvInputNULLValue=<csv-input-null> Il client di crittografia C3R può utilizzare codifiche personalizzate nel file di output generato per le voci NULL utilizzando il flag. --csvOutputNULLValue=<csv-output-null>
Nota
A NULL una voce è considerata priva di contenuto, in particolare nel contesto di un formato tabulare più ricco come una tabella SQL. Sebbene .csv non supporti esplicitamente questa caratterizzazione per ragioni storiche, è una convenzione comune considerare una voce vuota che contiene solo spazi bianchi come NULL. Pertanto, questo è il comportamento predefinito del client di crittografia C3R e può essere personalizzato in base alle esigenze.
Come vengono interpretate le voci in formato.csv da C3R
La tabella seguente fornisce esempi di come vengono organizzate le voci in formato.csv (cleartext in cleartext per chiarezza) in base ai valori (se presenti) forniti per i flag and. --csvInputNULLValue=<csv-input-null> --csvOutputNULLValue=<csv-output-null> Lo spazio bianco iniziale e finale al di fuori delle virgolette viene tagliato prima che C3R interpreti il significato di qualsiasi valore.
<csv-input-null> |
<csv-output-null> |
Inserimento di input | Entrata in uscita |
|---|---|---|---|
| Nessuno | Nessuna | ,AnyProduct, |
,AnyProduct, |
| Nessuna | Nessuna | , AnyProduct , |
,AnyProduct, |
| Nessuna | Nessuna | ,"AnyProduct", |
,AnyProduct, |
| Nessuna | Nessuna | , "AnyProduct" , |
,AnyProduct, |
| Nessuna | Nessuna | ,, |
,, |
| Nessuna | Nessuna | , , |
,, |
| Nessuna | Nessuna | ,"", |
,, |
| Nessuna | Nessuna | ," ", |
," ", |
| Nessuna | Nessuna | , " " , |
," ", |
"AnyProduct" |
"NULL" |
,AnyProduct, |
,NULL, |
"AnyProduct" |
"NULL" |
, AnyProduct , |
,NULL, |
"AnyProduct" |
"NULL" |
,"AnyProduct", |
,NULL, |
"AnyProduct" |
"NULL" |
, "AnyProduct" , |
,NULL, |
| Nessuna | "NULL" |
,, |
,NULL, |
| Nessuna | "NULL" |
, , |
,NULL, |
| Nessuna | "NULL" |
,"", |
,NULL, |
| Nessuna | "NULL" |
," ", |
," ", |
| Nessuno | "NULL" |
, " " , |
," ", |
"" |
"NULL" |
,, |
,NULL, |
"" |
"NULL" |
, , |
,NULL, |
"" |
"NULL" |
,"", |
,"", |
"" |
"NULL" |
," ", |
," ", |
"" |
"NULL" |
, " " , |
," ", |
"\"\"" |
"NULL" |
,, |
,, |
"\"\"" |
"NULL" |
, , |
,, |
"\"\"" |
"NULL" |
,"", |
,NULL, |
"\"\"" |
"NULL" |
," ", |
," ", |
"\"\"" |
"NULL" |
, " " , |
," ", |
File CSV senza intestazioni
Non è necessario che il file.csv di origine contenga intestazioni nella prima riga che denominano in modo univoco ogni colonna. Tuttavia, un file.csv senza una riga di intestazione richiede uno schema di crittografia posizionale. Lo schema di crittografia posizionale è richiesto al posto del tipico schema mappato utilizzato sia per i file.csv con una riga di intestazione che Parquet file.
Uno schema di crittografia posizionale specifica le colonne di output per posizione anziché per nome. Uno schema di crittografia mappato associa i nomi delle colonne di origine ai nomi delle colonne di destinazione. Per ulteriori informazioni, inclusa una discussione dettagliata ed esempi di entrambi i formati di schema, vedereSchemi di tabelle mappati e posizionali.
Parquet files
Un file con un .parquet si presume che l'estensione sia inclusa in Apache Parquet .
Supportato Parquet tipi di dati
Il client di crittografia C3R può elaborare qualsiasi dato non complesso (ovvero di tipo primitivo) in un Parquet file che rappresenta un tipo di dati supportato da. AWS Clean Rooms
Tuttavia, è possibile utilizzare solo colonne di stringhe per sealed colonne.
Sono supportati i seguenti tipi di dati Parquet:
-
Binarytipo primitivo con le seguenti annotazioni logiche:-
Nessuno se
--parquetBinaryAsStringè impostato (tipo diSTRINGdati) -
Decimal(scale, precision)(tipo diDECIMALdati) -
String(tipo diSTRINGdati)
-
-
Booleantipo di dati primitivo senza annotazioni logiche (tipo diBOOLEANdati) -
Doubletipo di dati primitivo senza annotazioni logiche (tipo di dati)DOUBLE -
Fixed_Len_Binary_Arraytipo primitivo con annotazioneDecimal(scale, precision)logica (tipo di dati)DECIMAL -
Floattipo di dati primitivo senza annotazioni logiche (tipo di dati)FLOAT -
Int32tipo primitivo con le seguenti annotazioni logiche:-
Nessuno (tipo di
INTdati) -
Date(tipo diDATEdati) -
Decimal(scale, precision)(tipo diDECIMALdati) -
Int(16, true)(tipo diSMALLINTdati) -
Int(32, true)(tipo diINTdati)
-
-
Int64tipo di dati primitivo con le seguenti annotazioni logiche:-
Nessuno (tipo di
BIGINTdati) -
Decimal(scale, precision)(tipo diDECIMALdati) -
Int(64, true)(tipo diBIGINTdati) -
Timestamp(isUTCAdjusted, TimeUnit.MILLIS)(tipo diTIMESTAMPdati) -
Timestamp(isUTCAdjusted, TimeUnit.MICROS)(tipo diTIMESTAMPdati) -
Timestamp(isUTCAdjusted, TimeUnit.NANOS)(tipo diTIMESTAMPdati)
-
Crittografia di valori non stringhe
Attualmente, sono supportati solo i valori di stringa per sealed colonne.
Per i file.csv, il client di crittografia C3R tratta tutti i valori come testo con codifica UTF-8 e non tenta di interpretarli in modo diverso prima della crittografia.
Per le colonne di impronte digitali, i tipi sono raggruppati in classi di equivalenza. Una classe di equivalenza è un insieme di tipi di dati che possono essere confrontati in modo inequivocabile per quanto riguarda l'uguaglianza tramite un tipo di dati rappresentativo.
Le classi di equivalenza consentono di assegnare impronte digitali identiche allo stesso valore semantico indipendentemente dalla rappresentazione originale. Tuttavia, lo stesso valore in due classi di equivalenza non darà come risultato la stessa colonna di impronte digitali.
Ad esempio, al INTEGRAL valore 42 verrà assegnata la stessa impronta digitale indipendentemente dal fatto che originariamente fosse unSMALLINT, INT o. BIGINT Inoltre, il INTEGRAL valore non 0 corrisponderà mai al BOOLEAN valore FALSE (che è rappresentato dal valore0).
Le seguenti classi di equivalenza e AWS Clean Rooms i tipi di dati corrispondenti sono supportati dalle colonne di impronte digitali:
| Classe di equivalenza | Tipo di AWS Clean Rooms dati supportato |
|---|---|
BOOLEAN |
BOOLEAN |
DATE |
DATE |
INTEGRAL |
BIGINT, INT, SMALLINT |
STRING |
CHAR, STRING, VARCHAR |