Die Daten werden über eine authentifizierte HTTP-Anfrage an die REST-API des SAS Workload Orchestrator abgerufen. Der Antworttext im JSON-Format wird dann als SAS-Datenquelle gelesen und verarbeitet.
1 Codeblock
Variables Macro & FILENAME Statements
Erklärung : Dieser Block initialisiert Makrovariablen für die Authentifizierung (`username`, `pw`) und die Basis-URL (`baseURL`) der SAS Workload Orchestrator API. Er definiert auch zwei temporäre Filerefs, `body` und `headout`, um den HTTP-Antworttext bzw. die Header zu speichern.
Erklärung : Die `PROC HTTP`-Prozedur wird verwendet, um eine GET-Anfrage an die Jobs-API des SAS Workload Orchestrator zu senden. Die URL wird dynamisch mit der Makrovariablen `baseURL` und einem Parameter `state=ALL` aufgebaut, um alle nicht archivierten Jobs abzurufen. Die grundlegende Authentifizierung wird über `webusername` und `webpassword` gehandhabt. Der Antworttext wird im Fileref `body` und die Header in `headout` gespeichert. Ein `Accept`-Header wird für ein spezifisches JSON-Format der API angegeben.
Erklärung : Das erste `libname jobinfo;` hebt jede vorhandene Libname mit diesem Namen auf, um eine saubere Neuinitialisierung zu gewährleisten. Das zweite `libname jobinfo json fileref=body;` erstellt eine SAS-Bibliothek `jobinfo`, indem der JSON-Inhalt des Filerefs `body` (der die API-Antwort enthält) als SAS-Tabellen interpretiert wird. Dadurch werden die JSON-Daten über SAS-Tabellen zugänglich.
Erklärung : Diese `PROC SQL`-Prozedur erstellt eine neue Tabelle `jobs` in der Bibliothek `WORK`. Sie führt eine komplexe Verknüpfung zwischen mehreren virtuellen Tabellen durch, die von der `LIBNAME JSON` (`jobinfo.jobs`, `jobinfo.jobs_processinginfo`, `jobinfo.jobs_request`) generiert wurden, unter Verwendung der Spalten `ordinal_jobs`. Ziel ist es, die relevanten Informationen über die Jobs (ID, Status, Warteschlange, Zeiten, Host, Exit-Code, Jobname, Benutzer, Befehl) in einer einzigen Ansicht zu konsolidieren, geordnet nach der Job-ID.
Kopiert!
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;
Erklärung : Die `PROC PRINT`-Prozedur zeigt den Inhalt der zuvor erstellten Tabelle `work.jobs` an und präsentiert so die konsolidierten Informationen über die Jobs des SAS Workload Orchestrator.
Kopiert!
proc print data=work.jobs; run;
1
PROC PRINTDATA=work.jobs; RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
« Die direkte Abfrage der SAS Workload Orchestrator (SWO) Microservices mittels PROC HTTP ist ein moderner und effizienter Ansatz für die Grid-Administration. Diese Methode verwandelt Ihre SAS-Sitzung in eine leistungsstarke Monitoring-Konsole, mit der Sie Echtzeitdaten zu Warteschlangenstatus, Knotenauslastung und Job-Lebenszyklen extrahieren können, ohne auf die grafische Benutzeroberfläche angewiesen zu sein. »
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.