簡體   English   中英

如何使用pentaho PDI(勺)執行數據屏蔽?

[英]How should I perform data masking with pentaho PDI (spoon)?

我將對10個以上的表執行數據屏蔽,每個表具有100多個列。

我曾嘗試使用pentaho PDI工具掩蓋數據,但是我找不到如何用它寫入掩蓋數據的方法。

如何使用Pentaho執行數據屏蔽? 我認為一種方法是使用名為“在字符串中替換”的工具,但是即使嘗試使用它也無法更改任何字符串。

我的問題是

  1. 使用“替換字符串”進行數據屏蔽是否正確?
  2. 如果正確,我應該如何在相應字段中填寫值?

我想用*代替一些值,比如說,值是“這是樣本值”,應該是“ txxx xx xxxxx xxxxe”,就像這樣。

PDI的畫面

請幫忙。

這與水壺無關,而與正則表達式有關。 如果在此步驟中使用正則表達式,我可以確認“字符串替換”具有奇怪的不可預測的行為。 在官方文檔中也沒有關於“替換字符串”步驟的解釋,實際上並沒有太多解釋。 無論如何,您可以使用RegexEvaluation步驟來捕獲所需部分並替換原始字符串內。

但是有解決方法可以使它更容易

在此處輸入圖片說明

帶str.replace的JavaScript-Step

這可以通過使用javascript步驟來完成,例如:

//variable
var str = data_to_mask;

//first letter
var first = str.match(/^[A-Za-z0-9]/);

//last letter
var last = str.match(/[A-Za-z0-9]$/);

//replace all with "x"
str = str.replace(/[A-Za-z0-9]/gi, "x");

//get the first and the last letter back
str = str.replace(/^[A-Za-z0-9]/, first);
str = str.replace(/[A-Za-z0-9]$/, last);

(我認為,Simar的答案也很有效,也許有點優雅:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM