miércoles, 16 de diciembre de 2015

Convocatoria curso gestión y análisis de datos SAS (Septiembre)


Próximas convocatoria del curso de SAS/BASE y Enterprise Guide en Madrid:





En Septiembre se van a lanzar dos nuevas convocatoria del curso. En opción Lunes-Jueves tarde y en opción fin de semana.

1) Opción fin de semana (viernes tarde + sábado mañana): 9/10 Sept y 16/17  Sept . 20h
2) Opción Lunes - Jueves de 16h a 21h. 12 al 15 Sept.  20h

http://www.datademy.es

Profesorado: Consultores senior Business Intelligence ( > 15 años experiencia) con dilatada experiencia en SAS

Interesados: formacion@datademy.es

Localización: Madrid (zona M-30). Precio: 500 euros (descuento 40% para desempleados)

Es una formación muy práctica y el objetivo es conocer mediante la introducción de conceptos y la realización de ejercicios prácticos la herramienta SAS/Enterprise Guide y la programación SAS/BASE.

Perfiles a los que puede interesar:

- Consultores business intelligence
- Data scientists
- Actuarios de seguros
- Analistas de riesgos
- Perfil investigación: bioestadísticos, físicos, quimicos, etc..

No es necesario tener conocimientos iniciales en SAS, aunque es útil conocer a nivel básico el lenguaje SQL.

A las personas que hayan realizado un aprovechamiento óptimo del curso y estén interesadas en una oportunidad profesional o bien un cambio, se les facilitará una entrevista de trabajo con empresas interesadas en perfiles SAS.

Igualmente se ofrecerá orientación de carrera a aquellas personas que quieran orientar su perfil hacia el data science.

Interesados escribir a: formacion@datademy.es


Temario:

Programación SAS 1. Introducción a SAS
·         Introducción a SAS:
o        Soluciones Business Intelligence SAS
o        Capacidades SAS/BASE. Visión general.
·         Entorno trabajo SAS/BASE:
o        Acceso versión SAS for academics (entorno Cloud)
o        Inicio de sesión
o        Program editor
o        Ventanas log y output
o        Gestión de librerías y directorios
·         Acceso a fuentes de datos:
o        Lectura de ficheros planos (posiciones, delimitados)
o        Lectura de ficheros Excel
o        Acceso a bases de datos
·         Manejar tablas SAS. Crear informes lista:
o        Explorar tablas SAS
o        Indentificar observaciones
o        Salida en output (sentencia print).
·         Programar pasos DATA:
o        Leer conjuntos de datos SAS y crear variables
o        Procesos condicionales
o        Gestionar variables (sentencias keep y drop)
o        Filtrar observaciones (sentencias where)
·         Combinar conjuntos de datos:
o        Unir conjuntos de datos SAS (sentencia set)
o        Combinar conjuntos de datos SAS (sentencia merge)
·         Agregación de conjuntos de datos:
o        Procedimientos de agregación (procedimientos means y summary)
o        Manejo de informes (procedimientos report y tabulate)
·         Salidas de conjuntos de datos:
o        Personalizar la apariencia, aplicar formatos (sentencias title, footnote, proc format)
o        Crear informes HTML
Programación SAS 2.  Gestión de datos
·         Programación de pasos DATA:
o        Escribir en muchos conjuntos de datos SAS 
o        Escribir a la salida varias observaciones (sentencia ouput)
o        Escribir en un fichero de datos externo (sistema ods)
o        Filtrar observaciones en entrada y en salida. Diferencias if vs where.
·         Tratamiento de conjuntos de datos con sql:
o        Utilización de sql en SAS (procedimiento sql)
o        Unir y combinar conjuntos de datos SAS con sql
o        Agregaciones de conjuntos de datos SAS con sql
o        Extracción de datos y volcado a bases de datos externas
·         Agregación de conjuntos de datos:
o        Suma acumulada para un grupo de datos
o        Manejo de grupos de observaciones ( sentencias first, last, retain)
·         Transformaciones en los datos y funciones:
o        Manipular valores alfanuméricos
o        Manipular valores numéricos
o        Manipular fechas
o        Cambiar tipo de variables
o        Funciones tratamiento alfanuméricos, numéricos y fechas
·         Procesar datos de forma iterativa:
o        Tipos de bucles (sentencia do y while)
o        Arrays SAS
·         Empleo de procedimientos:
o        Procedimientos generalistas de utilidad (contents, compare, etc..)
o        Procedimientos estadísticos (freq, univariate, etc..)
·         Técnicas depuración de errores:
o        Uso de la sentencia PUT
o        Uso de la opción DEBUG
·         Introducción a los gráficos:
o        Diagramas de barras y circulares (GCHART)
o        Perfeccionar la salida

Programación SAS 3.  Programación macro
·         Visión general de las macros:
o        Aplicaciones habituales de las macros
o        Procesado de las macros
·         Creación de macrovariables:
o        Conceptos básicos
o        Creación de macrovariables en paso DATA
o        Inferfaz SQL y macrovariables
o        Obtención de valores en ejecución
·         Macro programas:
o        Estructura básica y definición
o        Parámetros de una macro
o        Proceso condicional
o        Procesos iterativos
o        Operaciones aritméticas y lógicas
o        Inferfaz SQL y macrovariables
·         Técnicas de almacenamiento de macros:
o        Sentencia %INCLUDE
o        Autocall
o        Almacenamiento de macros compiladas


domingo, 13 de diciembre de 2015

SAS y Hadoop

Una de las herramientas más maduras en el mundo Big Data es el framework de licencia libre Apache Hadoop. En este post exponemos de forma resumida la integración entre Hadoop y uno de los fabricantes líder en analítica de negocio: SAS.




En primer lugar listamos de forma resumida las principales herramientas de los entornos SAS y Hadoop.

SAS:

SAS ofrece un amplio abanico de soluciones analíticas aplicadas a diferentes sectores de actividad y a diferentes procesos analíticos cubriendo el ciclo del dato completo en una organización





En lo relativo soluciones orientadas a la analítica y tratamiento de datos SAS dispone de un amplio,
portfolio de productos,entre los que cabe destacar:

  • SAS Enterprise Guide es una herramienta intuitiva para crear flujos de procesos de analítica y reporting, permite programar en SAS BASE lenguaje de 4GL orientado al acceso y tratamiento de datos.
  • SAS Visual Analytics: es una herramienta de visualización analítica in-memory, permite hacer reporting y exploración de datos
  • SAS Enterprise Miner: herramienta de data mining, permite generar modelos avanzados para procesos de analítica descriptiva y predictiva
  • SAS Visual Statistics: herramienta orientada a data mining y analítica con potente interfaz visual y capacidad de proceso in-memory
  • SAS Data Management: herramienta orientada a los procesos de integración, calidad y gobierno de datos


Hadoop:

Hadoop es una de las herramientas más utilizadas en el entorno Big Data . Es un framework de licencia libre Apache Hadoop construido en Java.

Hadoop permite la ejecución de procesos de forma distribuida en un conjunto de nodos, permitiendo a las aplicaciones trabajar con volúmenes de datos muy altos (big data).  Se trata de una arquitectura que permite un escalado horizontal muy rápido.

El ecosistema Hadoop se compone de un amplio conjunto de herramientas entre las que cabe destacar:

  • HDFS:Sistema de ficheros distribuidos que sirve de área de almacenamiento del big data, tanto para datos estructurados, como no estructurados
  • MapReduce: Framework que da soporte a la ejecución en paralelo y permite procesar de forma distribuida grandes conjuntos de datos. La fase Map realiza operaciones de filtrado, tratamiento y ordenación, mientras que la fase Reduce realiza los agregados y la salida de datos
  • YARN: Gestor de recursos que gestiona y planifica jobs, supervisando su ejecución.
  • Pig: Lenguaje procedimental de alto nivel, que permite tratar conjuntos de datos almacenados en HDFS. Útil para realizar sencillos análisis o procesos ETL.
  • HiveQL: Lenguaje tipo SQL que facilita el tratamiento vía queries de conjuntos de datos almacenados en sistemas distribuidos
  • Sqoop: Herramienta para transferir información entre Hadoop y BBDD relacionales
  • Flume: Herramienta para carga de datos (alto volumen y streaming) en Hadoop 

Integración SAS - Hadoop:

Existen diferentes modos de conectar SAS con el ecosistema Hadoop dependiendo de la funcionalidad que se pretenda obtener:

  • Ejecutar procesos SAS dentro de los clusters de Hadoop
  • Extraer datos de Hadoop desde procesos SAS o volcar datos SAS a Hadoop
  • Procesos SAS in-memory  que acceden a datos Hadoop

1) Ejecutar procesos SAS dentro de los clusters Hadoop:

En esta arquitectura el código SAS es ejecutado directamente en los clusters de Hadoop. Se evita el movimiento de datos y se aprovecha la capacidad de proceso de Hadoop. Es una arquitectura apropiada para volúmenes muy altos de datos, en los que se necesita mucha capacidad de proceso y el movimiento de datos sería muy costoso. Los productos que trabajan bajo esta arquitectura

En esta arquitectura el código SAS es ejecutado directamente en los clusters de Hadoop. Se evita el movimiento de datos y se aprovecha la capacidad de proceso de Hadoop. Es una arquitectura apropiada para volúmenes muy altos de datos, en los que se necesita mucha capacidad de proceso y el movimiento de datos sería muy costoso.



Los productos que pueden trabajar bajo esta arquitectura:

  • SAS Data Loader: Orientado a usuarios de negocio, permite cargar datos en Hadoop, transformarlos y extraerlos. Tiene la posibilidad de procesar los datos en los clusters de Hadoop
  • SAS in-database Technology: Producto SAS para ejecutar código y procedimientos SAS dentro de la base de datos. Disponible para múltiples BBDD, es posible implementarlo también en Hadoop.
  • SAS ACCESS to Hadoop: Permite ejecutar sentencias HiveQL en Hadoop
  • Procedimiento SAS proc hadoop: Permite ejecutar comandos HDFS, llamar a procesos Pig y ejecutar procesos map-reduce.
proc haddop cfg= ...
HDFS <comandos hdfs>;
MAPREDUCE <opciones map-reduce>;
PIG <opciones PIG>;
run;
  • Procedimiento proc sqoop: Permite ejecutar comandos sqoop desde SAS
  • SAS Data Management: Procesos de integración y calidad de datos integrados en Hadoop. Permite emplear estructuras Hadoop como source o target de los procesos, así como integrar llamadas a Apache Hive, Pig, MapReduce y comandos HDFS como parte del flujo de proceso


2) Extraer datos de Hadoop desde procesos SAS o volcar datos SAS a Hadoop:

La forma tradicional de acceso consiste en procesos SAS que acceden a datos Hadoop que después son procesados en los servidores de SAS o bien datasets SAS que son volcados a Hadoop.


Los productos que pueden trabajar bajo esta arquitectura:

  • SAS/ACCESS to Hadoop: Permite extraer datos de Hadoop vía libname o proc sql conectando con HiveQL
         LIBNAME libref hadoop <cadena conexión> <opciones>
         proc sql; connect to hadoop (user=“user" pw="pwd" server=“server”);
  • Sentencia SAS filename: Permite acceder a ficheros HDFS
         FILENAME fileref hadoop ‘fichero hdfs’ <opciones>


3) Procesos SAS in-memory  que acceden a datos Hadoop :

Los productos SAS que trabajan in-memory procesan el servidor analítico en memoria (LASR). Estos servidores acceden a datos Hadoop procesan los datos en memoria y devuelven al servidor SAS el resultado final. El servidor LASR dispone de varias máquinas que trabajan en paralelo y sobre los que se distribuyen los datos. Existe la posibilidad que el servidor LASR trabaje directamente sobre los clusters de Hadoop.



  • SAS Visual Analytics: Herramienta para visualización analítica que procesa la información en un servidor LASR que puede acceder a datos Hadoop.
  • SAS Visual Statistics: Herramientavisual orientada a estadística avanzada que procesa la información en un servidor LASR que puede acceder a datos Hadoop
  • Procedimientos SAS High Performance (SAS/HPA): Procedimientos SAS orientados a analítica avanzada preparados para trabajar en entornos de alto rendimiento como el servidor LASR conectado a Hadoop.


Como resumen, señalar que la integración de SAS y Hadoop ha avanzado bastante, aunque se encuentra en continua evolución, buscando integrar lo mejor de los dos mundos: capacidad analítica en SAS con capacidad de proceso y crecimiento en Hadoop.

Imágenes obtenidas en: www.sas.com

Formación SAS