Pandas — чрезвычайно популярный и важный пакет Python для науки о данных, поскольку он мощный, гибкий и простой в использовании анализ данных с открытым исходным кодом и манипулирование данными. С выпуском пакета python AWS Data Wrangler с открытым исходным кодом стало проще импортировать данные из массива сервисов aws в Pandas DataFrames, выполнять анализ данных и записывать обратно в облако.

Что такое AWS Data Wranger?

AWS Data Wrangler — это новая библиотека с открытым исходным кодом, созданная командой AWS Professional Service в Amazon. AWS Data Wrangler создан на основе других ваших любимых проектов с открытым исходным кодом, таких как Pandas, Apache Arrow и Boto3. Это предлагает абстрактные функции для выполнения обычных задач ETL, таких как загрузка/выгрузка данных из озер данных, хранилищ данных и баз данных с использованием python.

Когда следует использовать обработчик данных при разработке конвейеров данных в python? Конвейеры данных делятся на распределенные и нераспределенные конвейеры. Ваш выбор того или иного зависит от объема данных, которые вам необходимо обработать. AWS Data Wrangler был создан для создания облегченных нераспределенных конвейеров. Поэтому, если вам, возможно, нужно работать только с тысячами или сотнями тысяч записей, AWS Data Wrangler может стать для вас отличным вариантом использования. Теперь, если вы работаете с миллиардами записей, обработчик данных AWS, возможно, не для вашего случая использования, и вместо этого вам следует рассмотреть возможность создания распределенного конвейера данных с помощью Pyspark. Теперь, прежде чем вы напишете об aws data wrangler из-за «неспособности работать с большими данными», он может косвенно вызывать другие службы, которые это делают, подробнее об этом чуть позже.

Так как же Data Wrangler упрощает процесс разработки конвейера данных? Абстрактные функции обрабатывают этапы извлечения данных и загрузки в python. Это позволяет вам сосредоточиться на этапе преобразования ETL, используя знакомое преобразование и команды pandas.

Amazon Sage Maker Data Wrangler — это одно и то же?

Недавно Amazon также выпустила Amazon SageMaker Data Wrangler. Связаны ли услуги? Нет, они не. Amazon SageMaker Data Wrangler — это новая функция SageMaker Studio, имеющая похожее название, но предназначение которой отличается от AWS Data Wrangler, проекта Python с открытым исходным кодом. Помните, что AWS Data Wrangler имеет открытый исходный код, работает где угодно и ориентирован на код. В то время как Amazon SageMaker Data Wrangler специфичен для среды SageMaker Studio и ориентирован на визуальный интерфейс.

Какие сервисы поддерживает AWS Data Wrangler?

Он обеспечивает простую интеграцию с Athena, Glue, Redshift, Timestream, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretManager, PostgreSQL, MySQL, SQLServer и S3. Я знаю, что только что упомянул несколько сервисов, поэтому давайте поговорим о сервисах, которые он работает, немного подробнее.

Работа с озерами данных

Data Wrangler упрощает чтение и запись данных благодаря функциям для подключения и записи в Amazon S3. В настоящее время он поддерживает чтение файлов Excel, форматированных файлов с фиксированной шириной, JSON, паркет и запись в CSV, Excel, JSON и паркет. Если ваши данные организованы с помощью каталога AWS Glue, существуют специальные функции для взаимодействия с этими метаданными.

Работа с хранилищами данных

Итак, если у вас есть экземпляр Redshift, обработчик данных AWS сможет считывать данные во фрейм данных pandas и записывать туда же данные из pandas.

Работа с RDS

Вы можете читать и записывать данные из баз данных RDS, таких как PostgreSQL, MySQL, Microsoft SQL Server. Я считаю, что интересная особенность использования этого для записи данных в службу реляционной базы данных заключается в том, что вы можете напрямую записывать записи, хранящиеся во фрейме данных, в вашу базу данных RDS.

Амазонка Афина

Так что, возможно, вы не хотите, чтобы ваша единственная машина, на которой работает aws wrangler, выполняла всю тяжелую работу, возможно, ваш исходный набор данных живет на S3 и представляет собой «большие данные», говорящие о миллиардах записей, но вы хотите только принять подмножество этих данных в фрейм данных pandas. Именно здесь мы используем AWS Data Wrangler для вызова Amazon Athena, выполнения всей работы, выполнения SQL-запроса и возврата результатов во фрейме данных. Я думаю, что это довольно мощно.

ЭМС AWS

Вы можете запускать задания Amazon EMR и даже управлять своим кластером EMR с помощью кода. Это может быть полезно для снижения затрат на EMR за счет автоматизации, когда вы хотите запустить задание, и прекращения его, когда вы закончите. Например, функцию awswrangler.emr.create_cluster можно вызвать для запуска кластера EMR, а awswrangler.emr.submit_step — для отправки нового задания.

Журналы Amazon Cloudwatch,

В AWS Wrangler даже есть функции для прямого взаимодействия с журналами наблюдения за облаком Amazon. AWS data Wrangler может запрашивать журналы и возвращать их в виде Pandas DataFrame.

Amazon QuickSights

Если вы используете amazon QuickSight для создания информационных панелей, существует множество функций для управления информационными панелями и создания наборов данных, которые обеспечивают работу ваших информационных панелей QuickSight.

Amazon Timestream

AWS Data wrangler также поддерживает недавно выпущенный временной поток Amazon, который представляет собой базу данных временных рядов без сервера AWS. Он поддерживает создание и удаление баз данных и таблиц, а также может запрашивать и записывать данные обратно в таблицу временного потока.

DynamoDB

Для DyanmoDB Начиная с AWS Data wrangler 2.3, он поддерживает «помещения» из csv, фрейма данных или JSON в таблицу DynamoDB, но важно отметить, что он не поддерживает чтение данных. Я уверен, что с новыми версиями это может измениться, но пока вы не можете читать данные из DynamoDB с его помощью. Однако вы можете удалять элементы из таблицы.

Менеджер секретов Amazon

Если вы используете менеджер секретов amazon для безопасного хранения своих паролей и учетных данных, их можно получить с помощью aws data wrangler.

Подготовка к работе с AWS Data Wrangler

WS Data Wrangler можно легко установить на локальный компьютер с Python 3, установив любую другую библиотеку Python через:

 pip install awswrangler

Его также можно установить через Conda, используя:

conda install -c conda-forge awswrangler

Какие сервисы AWS могут запускать библиотеку Python AWS Data Wrangler?

Его можно запустить в AWS Lambda, AWS Glue, блокноте Amazon Sagemaker и EMR.

Чтобы использовать его в AWS Lambda, как вы, возможно, знаете, лямбда не поставляется с предустановленной библиотекой. Поэтому вам нужно будет загрузить библиотеку обработчика данных в качестве слоя AWS Lambda, и вы готовы к гонкам.

Для заданий AWS Glue PySpark все, что вам нужно сделать, это добавить новую пару «ключ-значение» параметра задания:
Key: --additional-python-modules, Value: awswrangler

Если вместо этого вы хотите использовать его в задании оболочки python AWS Glue, это немного сложнее, когда вам нужно загрузить файл колеса в корзину amazon s3, а затем указать свое задание на файл колеса в поле пути к библиотеке python.

Чтобы использовать его в блокноте Amazon Sage Maker, вам просто нужно запустить !pip install awswranglerи все готово.

Наконец, для EMR, пока вы настраиваете свой клистер EMR для python 3, с двумя строками кода он установлен sudo pip-3.6 install aws wrangler.

Как видите, начать работу с библиотекой на AWS довольно просто.

Резюме

Если вам не нужно создавать распределенные конвейеры данных для обработки ваших огромных объемов данных и для всех людей, которым нравится библиотека Pandas на python, и вам нужно работать с данными в экосистеме AWS, стоит проверить AWS Data Wrangler. вне. Это действительно упрощает процесс переноса ваших данных в Python, поэтому вы тратите меньше времени на возню с подключениями и больше времени на необходимые преобразования данных.

Содержание этой статьи также доступно по ссылке на видео ниже: