sparkEmbeddedProcess

executeProgram

Descripción

La acción executeProgram permite enviar y ejecutar código Scala arbitrario directamente dentro de la instancia de SAS Embedded Process que se ejecuta en un clúster Spark. Esta capacidad es fundamental para extender la funcionalidad analítica estándar de SAS Viya aprovechando las APIs nativas de Spark para tareas de procesamiento de datos personalizadas o algoritmos específicos no cubiertos por otras acciones.

Parámetros
ParámetroDescripción
caslibEspecifica la caslib que contiene las opciones de la fuente de datos y define la conexión con el clúster Spark. Es un parámetro obligatorio. Alias: datasourceFromCasLib.
programEspecifica el programa Scala arbitrario en formato de texto plano que se ejecutará dentro de Spark utilizando el SAS Embedded Process.
programFileEspecifica el nombre de un archivo local que contiene el programa Scala arbitrario que se enviará para su ejecución.
Configuración de la Sesión

Establece la sesión CAS. Se asume que existe una caslib llamada 'SparkLib' configurada correctamente para conectar con el clúster Spark.

¡Copiado!
1cas mySession sessopts=(caslib="casuser");
2LIBNAME casuser cas caslib="casuser";
3 

Ejemplos

Envía una instrucción simple de Scala para imprimir un mensaje en los registros del ejecutor de Spark.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3sparkEmbeddedProcess.executeProgram / caslib="SparkLib" program="println(\"Hola desde SAS Embedded Process\")";
4 
5RUN;
6 
Resultado :
El mensaje 'Hola desde SAS Embedded Process' se ejecuta en el entorno Spark.

Ejecuta un bloque de código Scala que paraleliza un rango de números y calcula su suma utilizando las funciones nativas del contexto de Spark (sc).

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3sparkEmbeddedProcess.executeProgram / caslib="SparkLib" program="val rdd = sc.parallelize(1 to 1000);
4val suma = rdd.reduce(_ + _);
5println(s\"La suma calculada en Spark es: $suma\")";
6 
7RUN;
8 
Resultado :
Se realiza la suma distribuida de los números del 1 al 1000 y el resultado se imprime en el log del proceso.

FAQ

¿Cuál es la función de la acción executeProgram?
¿Qué especifica el parámetro caslib?
¿Para qué se utiliza el parámetro program?
¿Qué función tiene el parámetro programFile?