2016-07-27 4 views
0

Как удалить конфиденциальную информацию пользователя из атрибутов столбца hstore, table dim_user. И загрузите остальные в сводные таблицы. Я выбираю из базы данных PgSQL и использую Pentaho Data Integration для загрузки данных в сводные таблицы.Разбор hstore для удаления конфиденциальной информации - PgSQL

attributes 
""DURATION"=>"1", "END_DATE"=>"2017-07-18", "START_DATE"=>"2016-07-18", "AUTO_RENEWAL"=>"true", "MEMBER_SINCE"=>"Mon Jul 18 14:31:01 EDT 2016", "DURATION_TYPE"=>"YEARS", "SHIPPING_ADDRESS"=>"1 Glos Cres, Toronto, ON Canada A9l 111", "SUBSCRIPTION_TYPE"=>"MY_ADVANTAGE"" 

Необходимо удалить значение «SHIPPING_ADDRESS» сверху.

РЕЗУЛЬТАТ

""DURATION"=>"1", "END_DATE"=>"2017-07-18", "START_DATE"=>"2016-07-18", "AUTO_RENEWAL"=>"true", "MEMBER_SINCE"=>"Mon Jul 18 14:31:01 EDT 2016", "DURATION_TYPE"=>"YEARS", "SUBSCRIPTION_TYPE"=>"MY_ADVANTAGE" 

Спасибо.

ответ

1

Функции и операторы hstore: described in the hstore documentation. Это относительно просто.

Вместо:

SELECT cola, colb, colc FROM dim_user; 

Вы можете сделать:

SELECT cola, colb, colc - 'SHIPPING_ADDRESS'::text FROM dim_user; 
0

Удалите его при выборе:

select attributes - 'SIHPPING_ADDRESS' as attributes, 
     ... other columns ... 
from dim_user; 

Или создать представление, которое делает это, а затем выберите из вида в Kettle.

Смежные вопросы