DynamicFrame против DataFrame - PullRequest
       28

DynamicFrame против DataFrame

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

В чем разница?Я знаю, что DynamicFrame был создан для AWS Glue, но AWS Glue также поддерживает DataFrame.Когда следует использовать DynamicFrame в AWS Glue?

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

DynamicFrame более безопасен при обработке заданий, интенсивно использующих память.«Память исполнителя с динамическими кадрами AWS Glue никогда не превышает безопасного порога», в то время как Spark DataFrame может решить проблему «Недостаточно памяти» для исполнителей.(https://docs.aws.amazon.com/glue/latest/dg/monitor-profile-debug-oom-abnormalities.html)

DynamicFrames предназначены для обеспечения максимальной гибкости при работе с грязными данными, которые могут не иметь объявленной схемы. Записи представлены гибким способом самоописания, который сохраняет информацию о несоответствиях схемы в данных.

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

DynamicFrames также предоставляют ряд мощных высокоуровневых операций ETL, которые не встречаются в DataFrames. Например,Преобразование реляционализации можно использовать для сглаживания и преобразования сложных вложенных данных в таблицы, пригодные для передачи в реляционную базу данных. Кроме того, преобразование ApplyMapping поддерживает сложные переименования и преобразования.g декларативным способом.

DynamicFrames также интегрированы с каталогом данных AWS Glue, поэтому создание фреймов из таблиц - это простая операция.Запись в базы данных может осуществляться через соединения без указания пароля.Кроме того, DynamicFrames интегрированы с закладками заданий, поэтому запуск этих сценариев в системе заданий может позволить сценарию косвенно отслеживать, что было прочитано и записано. (https://github.com/aws-samples/aws-glue-samples/blob/master/FAQ_and_How_to.md)

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

Вы можете обратиться к документации здесь: Класс DynamicFrame .В нем говорится:

DynamicFrame похож на DataFrame, за исключением того, что каждая запись имеет самоописание, поэтому изначально схема не требуется.

Вы хотите использовать DynamicFrame когда

  • Данные, которые не соответствуют фиксированной схеме .

Примечание: Вы также можете преобразовать DynamicFrame в DataFrame с использованием toDF()

...