Маскировка данных на огромных CSV-файлах, хранящихся в AWS S3 - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть огромные CSV-файлы размером ~ 15 ГБ в aws s3 (s3: //bucket1/rawFile.csv).Скажем, если схема выглядит следующим образом:

cust_id, account_num, paid_date, cust_f_name
1001, 1234567890, 01/01/2001, Jonathan

Я пытаюсь замаскировать столбец номера счета и имя клиента, создать новый maskedFile.csv и сохранить его в другом контейнере aws s3 (s3: //bucket2/maskedFile.csv) следующим образом:

cust_id, account_num, paid_date, cust_f_name
1001, 123*******, 01/01/2001, Jon*******

Это необходимо сделать один раз с одним снимком платежных данных.

Как я могу это сделать?и какие инструменты я должен использовать для достижения этой цели?Пожалуйста, дайте мне знать.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

AWS Glue - это управляемый AWS инструмент ETL и каталог данных, созданный специально для такого рода задач.

Вы указываете его на исходную папку на S3, говорите емуцелевая папка, в которую вы хотите поместить результаты, и вы проведете необходимые преобразования.По сути, если вы можете написать немного Python, вы можете быстро преобразовать маску.

После настройки Glue автоматически преобразует любой новый файл, который вы перетаскиваете, в исходную папку, так что у вас есть не толькоСоздав код, необходимый для маскировки, у вас есть полностью автоматизированный конвейер, который запускается при поступлении новых данных.Я видел, что ваш случай требует, чтобы он запускался только один раз, но на самом деле не так-то просто написать код, чтобы сделать это один раз.

Чтобы увидеть пример использования Glue для настройки простого задания ETL, возьмитевзгляните на: https://gorillalogic.com/blog/in-search-of-happiness-a-quick-etl-use-case-with-aws-glue-redshift/. И есть множество других уроков, которые помогут вам начать.

0 голосов
/ 29 сентября 2018

Вы можете попробовать FileMasker.Он будет маскировать файлы CSV (и JSON) в сегментах S3.Вы можете запустить его как функцию AWS Lambda, хотя ограничения Lambda будут ограничивать размер входного файла до нескольких ГБ каждый.Если вы можете разбить входные файлы на более мелкие файлы, то все будет в порядкеВ противном случае обратитесь к поставщику за вариантами.См. https://www.dataveil.com/filemasker/ Отказ от ответственности: я работаю на DataVeil.

...