AWS Glue para Spark y AWS Glue para Ray
En AWS Glue en Apache Spark (ETL de AWS Glue), puede utilizar PySpark para escribir código Python para gestionar datos a escala. Spark es una solución conocida para este problema, pero a los ingenieros de datos con experiencia en Python puede parecerles poco intuitiva la transición. El modelo de DataFrame de Spark no es perfectamente como el de Python, lo que refleja el lenguaje de Scala y el entorno de ejecución de Java en el que se basa.
En AWS Glue, puede utilizar los trabajos del intérprete de comandos de Python para ejecutar integraciones de datos nativas de Python. Estos trabajos se ejecutan en una única instancia de Amazon EC2 y se ven limitados por la capacidad de esa instancia. Esto restringe el rendimiento de los datos que puede procesar y resulta costoso mantenerlos cuando se trata de macrodatos.
AWS Glue para Ray permite escalar verticalmente las cargas de trabajo de Python sin una inversión sustancial en el aprendizaje de Spark. Puede aprovechar ciertos escenarios en los que Ray tiene un mejor rendimiento. Al ofrecerle una opción, puede utilizar los puntos fuertes de Spark y Ray.
ETL de AWS Glue y AWS Glue para Ray son diferentes en el fondo, por lo que admiten diferentes características. Consulte la documentación para ver las características admitidas.
¿Qué es AWS Glue para Ray?
Ray es un marco de computación distribuida de código abierto que se puede utilizar para escalar verticalmente las cargas de trabajo, con un enfoque en Python. Para obtener información sobre Ray, consulte el sitio web de Ray
Puede usar AWS Glue para Ray para escribir scripts de Python para cálculos que se ejecutarán en paralelo en varias máquinas. En los trabajos y sesiones interactivas de Ray, puede utilizar bibliotecas de Python conocidas, como pandas, para facilitar la escritura y la ejecución de los flujos de trabajo. Para obtener más información sobre los conjuntos de datos de Ray, consulte Conjuntos de datos de Ray
Cuando utiliza AWS Glue para Ray, puede ejecutar los flujos de trabajo de pandas con macrodatos a escala empresarial, con solo algunas líneas de código. Puede crear un informe desde la consola de AWS Glue o AWS SDK. También puede abrir una sesión interactiva de AWS Glue para ejecutar el código en un entorno de Ray sin servidor. Aún no se admiten los trabajos visuales en AWS Glue Studio.
Los trabajos de AWS Glue para Ray permiten ejecutar un script según un cronograma o en respuesta a un evento de Amazon EventBridge. Los trabajos almacenan información de registro y estadísticas de supervisión en CloudWatch que permiten comprender el estado y la fiabilidad del script. Para más información sobre el sistema de trabajos de AWS Glue, consulte Trabajar con tareas de Ray en AWS Glue.
Ray automatiza el trabajo de escalar el código de Python mediante la distribución del procesamiento en un clúster de equipos que vuelve a configurar en tiempo real en función de la carga. Esto puede mejorar el rendimiento por dólar de determinadas cargas de trabajo. Con los trabajos de Ray, hemos incorporado el escalado automático de forma nativa en el modelo de trabajo de AWS Glue, para poder aprovechar al máximo esta característica. Los trabajos de Ray se ejecutan en AWS Graviton, lo que lleva a una mayor rentabilidad general de los precios.
Además de ahorrar costos, puede utilizar el escalado automático nativo para ejecutar cargas de trabajo de Ray sin invertir tiempo en el mantenimiento, el ajuste y la administración del clúster. Puede utilizar bibliotecas conocidas de código abierto listas para su uso, como pandas y AWS SDK para Pandas. Estas mejoran la velocidad de iteración mientras desarrolla en AWS Glue para Ray. Cuando utilice AWS Glue para Ray, podrá desarrollar y ejecutar rápidamente cargas de trabajo rentables de integración de datos.