[英]how to de-identify/ redact word files using GCPs DLP API in python
[英]How to de-identify BigQuery data that stored in RECORD or REPEATED properties?
我正在嘗試構建一個對 BigQuery 表中的數據進行去標識化的 Dataflow 管道。 我正在構建com.google.privacy.dlp.v2.Table object 並將其傳遞給 ContentItem ,如下所示:
List<Field> fieldList = new ArrayList<>(
bigquery
.getTable(table)
.getDefinition()
.getSchema()
.getFields());
List<Table.Row> rows = new ArrayList<>();
for (FieldValueList bigQueryRowItem : bigquery
.listTableData(table)
.getValues()) {
Table.Row row = convertBigQueryRowToTableRow(bigQueryRowItem);
rows.add(row);
}
Table dlpTable = Table
.newBuilder()
.addAllHeaders(convertFieldsToHeaders(fieldList))
.addAllRows(rows)
.build();
但不幸的是,此fieldList僅包含第一級 BigQuery 屬性,沒有 RECORD 或 REPEATED 屬性。 請告訴我如何有效地從表中獲取所有字段的名稱,包括 RECORD/REPEATED,以及如何有效地將 BigQuery 值轉換為Table.Row ? 謝謝
目前,這是通過以下兩種方式之一完成的:
將字段展平為列。 所以記錄
RecordA {Field1, Field2} becomes 2 columns, RecordA.Field1 and RecordA.Field2
對於重復的字段,您可以執行相同的操作或將字段值連接到一個單元格中。
RecordA { Field1: {value1,value2,value3] } becomes 3 columns .... RecordA.Field1[0], RecordA.Field2[1], and RecordA.Field3[2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.