Как удалить информацию о клиентах из hdfs - PullRequest
1 голос
/ 22 апреля 2020

Предположим, у меня сегодня несколько клиентов, поэтому я храню их информацию, такую ​​как customer_id, customer_name, customer_emailid et c. Если мой клиент уходит, и он хочет, чтобы его личная информация была удалена из моих hdfs.

Итак, у меня есть два подхода для достижения того же.

Подход 1:

1.Создать внутреннюю таблицу поверх HDFS

2.Создать внешнюю таблицу из первой таблицы, используя логи фильтра c

3.При создании 2-й таблицы применяются udfs по заданным значениям c столбцы для дополнительной фильтрации столбцов

Подход 2:

Spark => Чтение, фильтрация, запись

Есть ли другое решение?

1 Ответ

1 голос
/ 22 апреля 2020

Подход 2 возможен в Hive - выберите, отфильтруйте, напишите

Создайте таблицу поверх каталога в hdfs (внешнюю или управляемую, в этом контексте не имеет значения, лучше внешнюю, если вы собираетесь отбросить таблицу позже и сохраню данные как есть). Вставьте перезаписать таблицу или раздел из списка выбора с помощью фильтра.

insert overwrite mytable 
select *                       
 from mytable --the same table
where customer_id not in (...) --filter rows
...