Los datos se recuperan a través de una solicitud HTTP autenticada a la API REST de SAS Workload Orchestrator. El cuerpo de la respuesta, en formato JSON, se lee y procesa como una fuente de datos SAS.
1 Bloque de código
Variables Macro & FILENAME Statements
Explicación : Este bloque inicializa variables macro para la autenticación (`username`, `pw`) y la URL base (`baseURL`) de la API de SAS Workload Orchestrator. También define dos filerefs temporales, `body` y `headout`, para almacenar respectivamente el cuerpo y los encabezados de la respuesta HTTP.
Explicación : El procedimiento `PROC HTTP` se utiliza para enviar una solicitud GET a la API de trabajos de SAS Workload Orchestrator. La URL se construye dinámicamente con la variable macro `baseURL` y un parámetro `state=ALL` para recuperar todas las tareas no archivadas. La autenticación básica se maneja a través de `webusername` y `webpassword`. El cuerpo de la respuesta se guarda en el fileref `body` y los encabezados en `headout`. Se especifica un encabezado `Accept` para un formato JSON específico de la API.
Explicación : El primer `libname jobinfo;` desasigna cualquier libname existente con ese nombre, asegurando un reinicio limpio. El segundo `libname jobinfo json fileref=body;` crea una biblioteca SAS `jobinfo` interpretando el contenido JSON del fileref `body` (que contiene la respuesta de la API) como tablas SAS. Esto hace que los datos JSON sean accesibles a través de tablas SAS.
Explicación : Este procedimiento `PROC SQL` crea una nueva tabla `jobs` en la biblioteca `WORK`. Realiza una unión compleja entre varias tablas virtuales generadas por `LIBNAME JSON` (`jobinfo.jobs`, `jobinfo.jobs_processinginfo`, `jobinfo.jobs_request`) utilizando las columnas `ordinal_jobs`. El objetivo es consolidar la información relevante sobre las tareas (ID, estado, cola, horarios, host, código de salida, nombre de la tarea, usuario, comando) en una sola vista ordenada por ID de tarea.
¡Copiado!
proc sql;
create table jobs as
select
a.id,
b.state, b.queue, b.submitTime, b.startTime, b.endTime,
b.processId, b.executionHost, b.exitCode,
c.name, c.user, c.cmd from
jobinfo.jobs a,
jobinfo.jobs_processinginfo b,
jobinfo.jobs_request c
where a.ordinal_jobs = b.ordinal_jobs and
b.ordinal_jobs = c.ordinal_jobs
order by a.id;
quit;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Author: Greg Wootton Date: 02JAN2019
« El acceso programático a los datos de SAS Workload Orchestrator (SWO) es fundamental para los administradores que necesitan automatizar la supervisión de la infraestructura de grid o generar informes de rendimiento personalizados. Este script demuestra un método robusto para transformar métricas complejas del sistema en conjuntos de datos accionables dentro de su sesión de SAS. »
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.