Azure y ALM en Sevilla, 7 de mayo

Windows Azure es la plataforma de Microsoft de desarrollo para la nube que permite crear y ejecutar aplicaciones en la nube, lanzarlas en cuestión de minutos en lugar de meses y codificar en varios lenguajes y tecnologías, como .NET, Java o PHP. Azure proporciona la plataforma ideal para innovar, dejando de lado problemas de redundancia, ancho de banda o limitaciones del servidor.

Por otro lado, la gestión del ciclo de vida de desarrollo de una aplicación (ALM) es clave a la hora de identificar las variaciones que puedan hacer fracasar un desarrollo, donde la colaboración entre los distintos roles del ciclo de vida de desarrollo y el uso de las distintas metodologías: ágiles, scrum, CMMI,etc…son claves para el éxito de cada proyecto.

El objetivo de esta sesión es poner conocer los aspectos más importantes de ambas áreas y ver cómo se relacionan.

Agenda:


09:30 – 10:30 Introducción a la plataforma

10:15 – 11:00 Monitorización y diagnóstico

11:00 – 11:30 Café

11:30 – 13:00 Pruebas de rendimiento y optimización de aplicaciones

13:00 – 14:00 Comida

14:00 – 15:00 Introducción a Scrum

15:00 – 16:00 Metodologías ágiles con TFS

16:00 – 17:00 Gestión de fuentes, testeo unitario e integración continua

Dirección:

Escuela Técnica Superior de Ingeniería Informática

Avd. Reina Mercedes sn.

Sevilla 41012

Ponentes:
Rodrigo Corral
Ibon Landa
Plain Concepts (http://www.plainconcepts.com)

Registro:

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032511975&Culture=es-ES

PlainLogo_white161111_100001703300802_6447785_n

fidetia      logo_Grupo

LOGOS_HORIZONTAL

Hadoop en Windows Azure (VII): Hive

Como ya hemos comentado en algún post anterior Hive es una infraestructura de data warehouse sobre Hadoop diseñada inicialmente para ser capaces de entender toda la información de Facebook. Ofrece una interface SQL (HiveQL) para ser capaz de manejar la información almacenada por Hadoop.

También en un post anterior vimos el add-in de Hive que ha desarrollado Microsoft y que permite conectarse a las tablas de Hive desde Excel, PowerPivot o PowerView.

En este post veremos un ejemplo muy sencillo de cómo crear una tabla de Hive y cómo usar HiveQL para consultar la información.

En este caso cargaré un weblog, que no es más que un fichero de texto. Para cargarlo, como ya vimos anteriormente, podemos hacerlo desde la consola de JavaScript con fs.put o por FTP.

01-HiveQL

Una vez cargado podemos usar la consola interactiva de Hive para lanzar comandos de HiveQL, el primero para crear la tabla asociada al fichero recién cargado: (El comando show tables nos permite ver las tablas existentes)

CREATE EXTERNAL TABLE weblog_sample (
evtdate STRING,
evttime STRING,
svrsitename STRING,
svrip STRING,
csmethod STRING,
csuristem STRING,
csuriquery STRING,
svrport INT,
csusername STRING,
cip STRING,
UserAgent STRING,
Referer STRING,
scstatus STRING,
scsubstatus STRING,
scwin32status STRING,
scbytes STRING,
csbytes STRING,
timetaken STRING
)
COMMENT ‘This is a web log sample’
ROW FORMAT DELIMITED FIELDS TERMINATED by ’32’
STORED AS TEXTFILE
LOCATION ‘/user/ibonilm/weblog/’; (ruta del fichero)

03-HiveQL

 

Una vez creada tabla podemos lanzar consultas usando HiveQL, por ejemplo: (Tutorial de Hive)

select * from weblog_sample limit 10;

04-HiveQL

Y claro está, usando los add-ins que comentábamos en post anteriores, por ejemplo el de Excel.

05-HiveQL

Hadoop en Windows Azure (VI): Sqoop

Como ya hemos comentado en un post anterior, Sqoop es un framework open source que permite exportar e importar datos desde cualquier RDBMS y HDFS, y como no, el origen puede ser SQL Server o SQL Azure.

Estas acciones se puede realizar desde línea de comandos, conectándose directamente a la máquina de Hadoop por RDP.

01-Sqoop

Una vez conectados podemos abrir la consola de Hadoop para lanzar los comandos necesarios para importar datos desde una base de datos de SQL Azure.

02-Sqoop

Se establece la variable HIVE_HOME y se lanzan los comandos que queramos, ya está!

Importar desde SQL Azure a HDFS

binsqoop.cmd import –connect "jdbc:sqlserver://<servername>.database.windows.net:1433;database=<dbname>;user=<username>@<servername>;password=<password>" –table <from_table> –target-dir <to_hdfs_folder> –split-by <from_table_column>

Exportar desde HDFS a SQL Azure

binsqoop.cmd export –connect "jdbc:sqlserver://<servername>.database.windows.net:1433;database=<dbname>;user=<username>@<servername>;password=<password>" –table <to_table> –export-dir <from_hdfs_folder> –input-fields-terminated-by "<delimiter>"

Azure y ALM en Santander, 26 de abril

Por un lado, ​Windows Azure es la plataforma de Microsoft de desarrollo para la nube que permite crear y ejecutar aplicaciones en la nube, lanzarlas en cuestión de minutos en lugar de meses y codificar en varios lenguajes y tecnologías, como .NET, Java o PHP. Azure proporciona la plataforma ideal para innovar, dejando de lado problemas de redundancia, ancho de banda o limitaciones del servidor.

Por otro lado, la gestión del ciclo de vida de desarrollo de una aplicación (ALM) es clave a la hora de identificar las variaciones que puedan hacer fracasar un desarrollo, donde la colaboración entre los distintos roles del ciclo de vida de desarrollo y el uso de las distintas metodologías: ágiles, scrum, CMMI,etc…son claves para el éxito de cada proyecto.

Por eso, desde Plain Concepts y el CIIN, os proponemos una jornada en la que hablaremos de Windows Azure y de ALM siendo la agenda de la misma la siguiente:

  • 09:30 – 10:00 Introducción a la plataforma

  • 10:00 – 11:00 Monitorización y diagnóstico

  • 11:00 – 11:30 Café

  • 11:30 – 13:00 Pruebas de rendimiento y optimización de aplicaciones

  • 13:00 – 14:00 Comida

  • 14:00 – 15:00 Scrum en la vida real

  • 15:00 – 16:00 Gestión de fuentes, testeo unitario e integración continua

  • 16:00 – 17:00 Prácticas ALM para aplicaciones cloud

Datos de interés:

  • Fecha: jueves 26 de abril.

  • Horario: De 09:30 a 17:00.

  • Lugar: CIIN – Edificio Grupo Sodercan
    Parque científico y tecnológico de Cantabria
    C/ Isabel Torres 1 39011 Santander

  • Ponentes: Rodrigo Corral e Ibon Landa (Plain Concepts).

PiePlainConceptsYCIIN

Hadoop en Windows Azure (V)

Siguiendo con los post de Hadoop en Windows Azure, en este ejemplo veremos un ejemplo de cómo contar el número de ocurrencias de las palabras dentro de un fichero de texto. Éste es uno de los ejemplos que se pueden encontrar dentro del servicio y que nos ayudan a empezar a entender poco a poco cómo funciona el servicio y Hadoop.

A través de la consola interactiva que ofrece el portal web y usando JavaScript, podemos realizar todas las labores que se realizan durante este ejemplo.

01-WordCloud

El primer paso a realizar será subir el fichero que queremos analizar, sobre el cuál contaremos el número de palabras que contiene.

En este caso lo hacemos desde JavaScript (fs.put() ), pero podríamos haber utilizado otros medios, como FTP.

04-WordCloudJarFile

Una vez tenemos el fichero cargado tenemos que crear un job de mapReduce para realizar la tarea que queremos. En este caso lo haremos todo desde la consola de JavaScript, pero recordad que hay otras opciones, por ejemplo desde Java o desde C#.

El siguiente paso será subir el fichero javascript que contiene nuestra rutina de mapReduce. En el siguiente pantallazo podéis ver el contenido del fichero WordCount.js.

05-WordCloudJarFile

Y una vez tenemos disponible el fichero podemos usar una sentencia de Pig para decirle que queremos lanzar el job de mapReduce contra el fichero que hemos subido anteriormente y que el resultado lo deje en el fichero DaVinciTop10Words. Como podéis ver, sólo se obtienen 10 resultados, lo que más ocurrencias tienen.

> pig.from("/example/data/davinci.txt").mapReduce("WordCount.js", "word, count:long").orderBy("count DESC").take(10).to("DaVinciTop10Words")

Esta operación tardará unos minutos (podemos ver un log del proceso). Una vez haya terminado, podremos leer el fichero de resultados y mostrarlo, por ejemplo, en formato de gráfica.

06-WordCloudJarFile

07-WordCloudJarFile

Viernes en la nube: Windows Azure con tecnologías no Microsoft

Desde el CIIN y Plain Concepts queremos iniciar una serie de webcasts que traten sobre diferentes aspectos de desarrollo en Windows Azure. Windows Azure es la plataforma de Microsoft de desarrollo para la nube, que permite crear y ejecutar aplicaciones en la nube, lanzarlas en cuestión de minutos en lugar de meses y codificar en varios lenguajes y tecnologías, como .NET, Java o PHP.

Para dar a conocer mejor esta plataforma, hemos decidido iniciar esta serie tratando algunos temas no demasiado conocidos de desarrollo en Windows Azure.

El segundo webcast de la serie, tratará sobre las posibilidades que ofrece la plataforma de Windows Azure, para desarrollar utilizando tecnologías NO Microsoft .

Durante la sesión se hará una introducción lo más rápida posible a la plataforma Windows Azure, para pasar posteriormente a mostrar de forma práctica cómo es posible trabajar con los SDKs de PHP, Node.js o Java. De forma práctica veremos cómo desplegar una aplicación PHP, un WordPress o una aplicación Node.js.

Datos de interés:

PiePlainConceptsYCIIN

Hadoop en Windows Azure (IV)

Siguiendo con la temática de los últimos post en este comentaré cómo es posible consumir la información de Hive desde Excel y PowerPivot gracias a que Microsoft ha desarrollado un add-in para Hive.

El primer paso es instalarse todo lo necesario para poder trabajar desde Excel y disponer del drive ODBC que nos de acceso a los datos. Para ello, dentro del portal de Hadoop tenemos una sección “Downloads” dónde podremos descargarnos el componente que necesitamos en nuestro equipo.

El siguiente paso será habilitar los puertos de Hadoop para permitir conexiones ODBC.

01-ConfigurePort

Una vez realizados estos dos pasos, si abrimos Excel, podemos ver el add-in de Hive.

02-HivePanel

Para poder realizar una conexión, primeramente es necesario crear un Data Source desde el panel de control, ODBC Data Source Administrator.

03-ODBC

Hay que añadir un Data Source de tipo “HIVE” e incluir los datos del cluster al que queremos conectarnos.

04-ODBC

Una vez hemos creado el Data Source, seleccionando el botón de “Hive”, podemos ver un panel en la parte derecha de nuestra hoja excel que permitirá selecciona el Data Source y realizar las consultas que queremos; seleccionar los objetos, la información que queremos ver etc…Ya está, ya estamos consumiendo información desde nuestro cluster de Hadoop.

06-Excel

Y desde PowerPivot algo muy parecido.

07-FromPowerPivot

Si accedemos a PowerPivot se puede añadir (seleccionar from other sources) un Data Source OLEDB/ODBC, dónde básicamente tendremos que indicar los datos de conexión al cluster de Hadoop.

08-FromPowerPivot

09-FromPowerPivot

10-FromPowerPivot

11-FromPowerPivot

Hadoop en Windows Azure (III)

Como ya comentaba en los post anteriores, a través de https://www.hadooponazure.com/ y bajo invitación es posible acceder al servicio que Microsoft ofrece Hadoop sobre Windows Azure, lo que posibilita al usuario tener un cluster de Hadoop en cuestión de pocos minutos.

06-HadoopOnAzure

Una dentro del servicio el primer paso es aprovisionar el cluster de Hadoop; hay que indicar un nombre único, las características y las credenciales de acceso al mismo. En pocos minutos tendrás tu cluster!

07-HadoopOnAzure

08-HadoopOnAzure

Una vez el cluster está creado tendremos acceso a toda la funcionalidad que el servicio ofrece:

  • Crear jobs (MapReduce)
  • Consola intereactiva para trabajar con Javascript o Hive.
  • Acceso por RDP al cluster.
  • Configurar los puertos para permitir acceso por ODBC y FTP.
  • Realizar labores de administración.
  • etc….

Uno de los puntos interesantes en este momento es la sección de ejemplos, la cuál nos va a permitir empezar poco a poco a conocer cómo funciona Hadoop.

09-HadoopOnAzure

10-HadoopOnAzure

 

En este post, a modo de ejemplo, estoy usando “10GB GraySort”, el cuál carga información en Hadoop y posteriormente lanza una serie de tareas para el procesamiento. A continuación os pongo paso a paso cómo es posible ejecutar el ejemplo y ver lo que hace, aunque claro está, lo suyo es ir entendiendo realmente lo que hace y por qué lo hace. Poco a poco 🙂

11-HadoopOnAzure

Crear el job.

12-HadoopOnAzure

Estado del job.

13-HadoopOnAzure

 

Una vez ejecutado, podemos ver el histórico del mismo.

 

14-HadoopOnAzure

 

Podemos acceder por RDP directamente al cluster de Hadoop.

 

15-RemoteDesktop

Big Data, Hadoop y Windows Azure (II)

Siguiendo con el post anterior dónde hacía una introducción a Big Data y Hadoop, en este post intentaré entrar ya un poco más en detalle en la oferta de Microsoft, en qué ofrece y cómo funciona.

Como ya os comentaba Microsoft contribuye con este proyecto open source y entre otras cosas, ha incluido dos nuevas distribuciones, una para Windows Server 2008 y otra para Windows Azure. Yo principalmente hablaré de esta última, la cuál se encuentra en CTP, y que permite disponer un cluster de Hadoop en pocos minutos. Por si algunos os suena, el code-name de la distribución de Hadoop para Windows Server se llama Isotope.

La idea es Microsoft es aprovechar todo lo  bueno que tiene Hadoop, pero siendo capaz de ofrecerle un enfoque empresarial y corporativo, tratando a Hadoop como a cualquiera de los productos que tiene en la actualidad, por ejemplo, ofreciendo el mismo soporte.

Los mayores esfuerzos que está haciendo Microsoft es la integración de Hadoop con sus productos, para llegar a conseguir que se puede llegar a trabajar con Hadoop, pero desde las herramientas a las que están acostumbrados sus clientes…Herramientas de BI, Excel, PowerView, SharePoint…

Por ejemplo, está desarrollando conectores para cargar datos desde el marketplace de Azure, adaptadores para SQL Server para traer información desde y hacia Haddop, add-in para Excel y PowerPivot, integración con Active Directory, System Center etc…

Incluso también ofrece la posibilidad de trabajar con Visual Studio y C#, por ejemplo para hacer los scripts de MapReduce.

Otra contribución interesante que también han ofrecido, los primeros, es el soporte a JavaScript.

05-MicrosoftBigDataSolution

En los próximos post iré viendo cómo funciona Hadoop en Windows Azure, servicio que se encuentra disponible en https://www.hadooponazure.com/ y que a día de hoy sólo se puede entrar bajo invitación.

Aprovecharé también para ir entrando en algo más de detalle sobre cómo funciona Hadooop.

06-HadoopOnAzure

Y claro está, intentaré mostraros la integración con los productos de Microsoft, como el add-in de Hive para Excel.

06-Excel