Serverless para Apache Spark te permite ejecutar cargas de trabajo de Spark sin necesidad de aprovisionar ni administrar tu propio clúster de Dataproc. Existen dos formas de ejecutar cargas de trabajo de Serverless para Apache Spark:
Cargas de trabajo por lotes
Envía una carga de trabajo por lotes al servicio de Serverless for Apache Spark con la consola deGoogle Cloud , Google Cloud CLI o la API de Dataproc. El servicio ejecuta la carga de trabajo en una infraestructura de procesamiento administrada y ajusta los recursos de forma automática según sea necesario. Los cargos de Serverless para Apache Spark se aplican solo al momento en que se ejecuta la carga de trabajo.
Para comenzar, consulta Ejecuta una carga de trabajo por lotes de Apache Spark.
Sesiones interactivas
Escribe y ejecuta código en notebooks de Jupyter durante una sesión interactiva de Serverless para Apache Spark. Puedes crear una sesión de notebook de las siguientes maneras:
Ejecuta código de PySpark en notebooks de BigQuery Studio. Usa el notebook de Python de BigQuery para crear una sesión interactiva de Serverless for Apache Spark basada en Spark Connect. Cada notebook de BigQuery solo puede tener una sesión activa de Serverless for Apache Spark asociada.
Usa el complemento de JupyterLab de Dataproc para crear varias sesiones de notebooks de Jupyter a partir de plantillas que crees y administres. Cuando instalas el complemento en una máquina local o en una VM de Compute Engine, aparecen diferentes tarjetas que corresponden a diferentes configuraciones del kernel de Spark en la página de inicio de JupyterLab. Haz clic en una tarjeta para crear una sesión de notebook de Serverless para Apache Spark y, luego, comienza a escribir y probar tu código en el notebook.
El complemento JupyterLab de Dataproc también te permite usar la página del selector de JupyterLab para realizar las siguientes acciones:
- Crea clústeres de Dataproc en Compute Engine.
- Envía trabajos a clústeres de Dataproc en Compute Engine.
- Visualiza los registros de Google Cloud y Spark.
Comparación entre Serverless para Apache Spark y Dataproc en Compute Engine
Si deseas aprovisionar y administrar la infraestructura, y luego ejecutar cargas de trabajo en Spark y otros frameworks de procesamiento de código abierto, usa Dataproc en Compute Engine. En la siguiente tabla, se enumeran las diferencias clave entre Dataproc en Compute Engine y Serverless para Apache Spark.
Función | Serverless para Apache Spark | Dataproc en Compute Engine |
---|---|---|
Frameworks de procesamiento | Cargas de trabajo por lotes: Spark 3.5 y versiones anteriores Sesiones interactivas: Spark 3.5 y versiones anteriores |
Spark 3.5 y versiones anteriores. Otros frameworks de código abierto, como Hive, Flink, Trino y Kafka |
Sin servidores | Sí | No |
Hora de inicio | 60 s | Años 90 |
Control de la infraestructura | No | Sí |
Administración de recursos | Basado en Spark | Basado en YARN |
Asistencia de GPU | Yes | Sí |
Sesiones interactivas | Sí | No |
Contenedores personalizados | Yes | No |
Acceso a la VM (por ejemplo, SSH) | No | Sí |
Versiones de Java | Java 17 y 11 | Versiones anteriores compatibles |
Cumplimiento de las normas de seguridad
Serverless for Apache Spark cumple con todos los requisitos de residencia de datos, CMEK, VPC-SC y otros requisitos de seguridad con los que cumple Dataproc.
Capacidades de la carga de trabajo por lotes
Puedes ejecutar los siguientes tipos de cargas de trabajo por lotes de Serverless para Apache Spark:
- PySpark
- Spark SQL
- Spark R
- Spark (Java o Scala)
Puedes especificar propiedades de Spark cuando envías una carga de trabajo por lotes de Serverless para Apache Spark.