jueves, 24 de agosto de 2017

Conectar SAS y Hadoop (HDFS, Hive..)

En este video revisamos diferentes opciones para conectar SAS y Hadoop. Existen otras opciones con otras herramientas de SAS (Data Loader, Visual Analytics, Viya...), pero aquí vemos accesos utilizando SAS Enterprise Guide.
Os invitamos igualmente a revisar posts anteriores donde abordamos estas cuestiones: opciones conexión SAS y Hadoop




domingo, 20 de agosto de 2017

Ejecución de procesos en SAS Grid

Una forma de mejorar el rendimiento de los procesos SAS es el uso del módulo SAS Grid (www.sas.com/grid). SAS Grid Computing es un entorno de computación distribuida que permite distribuir procesos entre un conjunto de nodos, balancear la carga de trabajo y reducir tiempos de ejecución de una forma transparente para los usuarios. SAS Grid manager provee una administración centralizada de la arquitectura. Permite planificar los procesos y manejar prioridades.



En este post vamos a ver un breve ejemplo de cómo modificar un proceso SAS Base para poder
ejecutarlo en Grid.

Tal y como se puede ver en el ejemplo, es necesario añadir la sentencia 'rsubmit' y 'endrsubmit'
para delimitar el código (subproceso) que se ejecutará en Grid. Igualmente hay que añadir una llamada a la función grdsvc_enable que indica a SAS que debe usar el Grid y  especifica un SAS aplication Server. SAS Grid Manager asigna los subprocesos a nodos del Grid. La sentencia signon permite inicar un sesión en Grid y signoff terminarla.

-------------

SAS Grid Computing (www.sas.com/grid), is a shared, general‐purpose computing environment for lots of SAS users running lots of different SAS applications, provides robust management capability.SAS Grid Manager does that job. You can greatly reduce the processing time for individual SAS jobs because jobs are load‐balanced across multiple resources and can even be split up. Because SAS Grid Manager provides a centrally administered environment, it works with policies that identify high‐priority users and/or jobs, and also designates which jobs get what portion of the computing resources.

In this post we show an example of how to run a piece of SAS Base code in a Grid environment.

To allow a particular SAS program to use distributed parallel processing,the user adds RSUBMIT and ENDRSUBMIT statements around each subtask, and also adds the GRDSVC_ENABLE function call, this function  tells SAS to use the grid and specifies the SAS application server. SAS Grid Manager automatically assigns each identified subtask to a grid node.The SIGNON and SIGNOFF statements start and end a session on the grid. The only required option is a session‐id


Ejemplo / Example:

options
metaserver=sasserver.demo.sas.com
metaport=8561 metapass=xxxxx
metauser=xxxxx;
%let rc=%sysfunc( grdsvc_enable(
_all_, server=SASApp ));
signon grid1;
%SYSLPUT mpg = 30;

rsubmit;
proc sql;
create table WORK.HIGHMPG as
select * from SASHELP.CARS
where mpg > &mpg;
quit;
PROC DOWNLOAD data=WORK.HIGHMPG
out=WORK.remote_results;
run;
endrsubmit;

signoff grid1;

Formación SAS

martes, 15 de agosto de 2017

Conectando SAS con MongoDB

MongoDB es una de las BBDD NoSQL más populares. Recomendamos en este post el uso de una macro que permite exportar tablas SAS a MongoDB, concretamente a colecciones de una base de datos MongoDB.



La macro se basa en la exportación a csv desde tabla SAS (procedimiento proc export) y el posterior uso de la utilidad de MongoDB mongoimport.exe. La información a indicar a la macro es: nombre del dataset SAS, nombre de
la base de datos y colección MongoDB donde alojar la información y el directorio raíz de MongoDB (por ejemplo en Windows :  C:\Program Files\MongoDB\Server\3.4\bin).

Más información y todo el detalle en este link: macro para conectar SAS y MongoDB

Formación SAS

------------

MongoDB is a well-known NoSQL database. In this post we recomend the use of a SAS macro that allows to export a SAS dataset to a MongoDB collection.

The macro does two steps: 1) export to csv from SAS dataset (proc export procedure), 2) call to mongoimport.exe utility of MongoDB. The arguments of the macro are: name of SAS dataset, the name of MongoDB database and collection and the path of the MongoDB installation (for example in Win environment: C:\Program Files\MongoDB\Server\3.4\bin).

More info in this link: macro to connect SAS and MongoDB

SAS training