Abril 23, 2016San José, Costa Rica
Introducción a U-SQL lenguaje que hace fácil
el procesamiento de Big Data
John Alexander Bulla TorresData Platform MVP
Synergy TPC
Director BDotNet
MVP | MCS | MCSA | MCP | MCTS
Blog: http://geeks.ms/johnbulla
Twitter: @johnbulla
Introducción a U-SQL lenguaje que hace fácil el
procesamiento de Big Data
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 20163 |
@johnbulla
geeks.ms/johnbulla
linkedin.com/in/johnbulla
Organiza
http://tinyurl.com/ComunidadWindows
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 20164 |
Patrocinadores del SQL Saturday
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 20165 |
Platinum Sponsor
Diamond Sponsor
Bronze Sponsor
Agenda
Fundamentos Big Data
U-SQL
Azure Data Lake Store
Azure Data Lake Analytics
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 20166 |
Big Data – La revolución en los datos
Los datos digitales crecerán40x próxima década
En 2016, servicios de nube pública tendrán 46% de crecimiento neto en gasto de ti
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 20167 |
Qué es Big Data?
"Big data" es un término aplicado aconjuntos de datos que superan lacapacidad del software habitual para sercapturados, gestionados y procesados enun tiempo razonable.
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 20168 |
Qué es Big Data?
Big data es una colección de conjuntos de
datos tan grande y complejo que se vuelve
difícil para trabajar con el uso de
herramientas de gestión de base de datos
tradicionales. Las dificultades incluyen la
captura, almacenamiento, búsqueda,
intercambio, análisis y visualización.
Fuente: Eduardo Castro MVP – SQL Saturday #247 Bogotá
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 20169 |
Big Data – Las 4 V’s
Volumen
Velocidad
Variedad
Veracidad
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201610 |
Big Data – Las 4 V’s
12 Tbdía
21 PbHadoop
cluster
7 Pbmes
1 Tbtweets/dia
75
Millionscores/day
14 TbHadoop
cluster
4 BillionGraph
edg/day
7 Tbdatos/dia
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201611 |
U-SQL
?
Características de Big Data Analytics
• Requiere procesamiento de
cualquier tipo de datos.
• Permite el uso de algoritmos
personalizados
• Escala a cualquier tamaño y es
eficiente
Algunos ejemplos
• Unidad de Crimen Digital - Analizar los patrones de ataques
complejos para entender los botnets y poder predecir y prevenir
los ataques en el futuro mediante el análisis de los logs de registro
con algoritmos complejos personalizados
• Procesamiento de Imágenes - extracción de características de
imagen a gran escala y la clasificación de acuerdo con el código
personalizado
• Recomendación de compras - Complejo análisis de patrones y la
predicción sobre los registros de compras utilizando algoritmos
propietarios
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201612 |
U-SQL
?
SQL para Big Data
Declarativamente hace escalamiento y paralelización por usted
Extensibilidad no es “nativa”
Difícil de operar en los datos no estructurados
Difícil extender con código personalizado
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201613 |
U-SQL
?
Lenguajes de programación para Big Data
Declarativamente no es “nativo”
Extensibilidad a través de un código personalizado que es “nativa”
El usuario a menudo tiene que preocuparse acerca de la escalabilidad yel rendimiento
Sin reutilización de código / compartir a través de consultas
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201614 |
U-SQL
?
Declarativo y Extensivo nativamente en el lenguaje
Hace que sea fácil para usted mediante la unificación:
Procesamiento de datos estructurados y no estructurados
SQL declarativo y código personalizado imperativo
Consultas locales y remotas
Aumentar la productividad y la agilidad desde el día 1
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201615 |
Alcance – Lenguaje de Big Data interno de Microsoft
• Modelo de integración SQL y C#
• Modelo de Optimización y Escalamiento
• Ejecuta 100000 Jobs diariamente
Hive
• Tipos de datos complejos (Mapas, Arrays)
• Alineación de formato de datos para archivos de texto
T-SQL/ANSI SQL
• Muchas de las capacidades de SQL (Funciones Windows, modelo
de metadatos, etc.)
U-SQL
Orígenes de U-SQL
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201616 |
U-SQL
Extender U-SQL con C# / .Net
Operadores internos,
funciones, agregados
C# expresiones (en expresiones SELECT)
User-defined aggregates (UDAGGs)
User-defined functions (UDFs)
User-defined operators (UDOs)
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201617 |
Filosofía del Lenguaje
U-SQL
REFERENCE MyDB.MyAssembly;
CREATE TABLE T( cid int, first_order DateTime, last_order DateTime, order_count int, order_amount float );
@o = EXTRACT oid int, cid int, odate DateTime, amount floatFROM "/input/orders.txt"USING Extractors.Csv();
@c = EXTRACT cid int, name string, city stringFROM "/input/customers.txt"USING Extractors.Csv();
@j = SELECT c.cid, MIN(o.odate) AS firstorder, MAX(o.date) AS lastorder, COUNT(o.oid) AS ordercnt, AGG<MyAgg.MySum>(c.amount) AS totalamount
FROM @c AS c LEFT OUTER JOIN @o AS o ON c.cid == o.cidWHERE c.city.StartsWith("New")
&& MyNamespace.MyFunction(o.odate) > 10GROUP BY c.cid;
OUTPUT @j TO "/output/result.txt"USING new MyData.Write();
INSERT INTO T SELECT * FROM @j;
Query Declarativo y Transformación del lenguaje:
• Utiliza SQL’s SELECT FROM WHERE con GROUP BY/Aggregation,
Joins, Funciones Analíticas SQL
• Optimizable, Escalable
Expresión - estilo de programación de flujo:
• Fácil de usar la composición de funciones lambda
• Globalmente optimizable
Funciona con datos estructurados y no estructurados
• Esquema de lectura sobre los archivos
• Objetos de metadatos relacionales (Ej. base de datos, tablas)
Extensible desde cero:
• Tipo de Dato basado en C#
• Lenguaje de Expresión C#
• User-defined functions (U-SQL and C#)
• User-defined Aggregators (C#)
• User-defined Operators (UDO) (C#)
U-SQL provides the Parallelization and Scale-out Framework for
Usercode
EXTRACTOR, OUTPUTTER, PROCESSOR, REDUCER, COMBINER, APPLIER
Federated query across distributed data sources
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201618 |
U-SQL
Escribiendo Scripts U-SQL
Extracción de la información desde la fuente
de datos origen usando instrucciones
integradas o personalizadas
Transformación / Análisis de los datos
usando sintaxis SQL y llamadas a métodos
C#
Salida o Envío del resultado a una fuente de
datos destino usando instrucciones
integradas o personalizadas
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201619 |
U-SQL
Escribiendo Scripts U-SQL
Apoyado por
IntelliSense
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201620 |
U-SQL
Escribiendo Scripts U-SQL
Code behind
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201621 |
Data Lake
El concepto puede ser comparado a un cuerpo de agua, un lago, donde el agua fluye en, llenar un depósito
y fluye hacia fuera.
El flujo de entrada representa múltiples
archivos de datos en bruto que van
desde mensajes de correo electrónico,
hojas de cálculo, el contenido de las
redes sociales, etc.
La salida de agua son los datos
analizados
A través de este proceso, se
debe seleccionar los datos
correctos de forma rápida para
obtener información clave del
negocio.
El depósito de agua es un conjunto de
datos, donde usted realiza el análisis
de todos los datos.
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201622 |
DATOS ESTRUCTURADOS
1. La información en filas y columnas
2. Fácilmente ordenados y procesados
con herramientas de minería de datos
DATOS NO ESTRUCTURADOS
1. Filas, los datos no organizados
2. Los correos electrónicos
3. Archivos PDF
4. Imágenes, vídeo y audio
5. Redes sociales
Azure Data Lake
Analytics
Storage
HDInsight(“managed clusters”)
Azure Data Lake Analytics
Azure Data Lake Storage
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201623 |
Azure Data Lake
WebHDFS
YARN
U-SQL
Analytics Service HDInsight
(managed Hadoop Clusters)Analytics
Store
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201624 |
Azure Data Lake Store
Un repositorio de gran escala para grandes cargas de trabajo de análisis de datos
• No hay límites para escalar
• Almacenamiento ilimitado
• Almacena todos los datos en su formato nativo
• Los tamaños de archivos pueden ser de Gigabytes de petabytes
• Sistema de archivo de Hadoop (HDFS) para la nube
• Control de acceso listo para la empresa, cifrado en reposo
• Optimizado para el rendimiento de carga de trabajo analítico
• Se integra con HDInsight, Hortonworks y Cloudera
• Soporta archivos y objetos de carpeta y operaciones
• Se integra con Azure Active Directory
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201625 |
Azure Data Lake Store
Cualquier dato
• Datos no estructurados
• Datos semi-estructurados
• Datos estructurados
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201626 |
Azure Data Lake Analytics
Un servicio de análisis elástico construido con Apache YARN que procesa todos los datos, en cualquier tamaño
• No hay límites para escalar
• Incluye T-SQL, un lenguaje que une los beneficios de SQL con el poderexpresivo de C #
• Optimizado para trabajar con la tienda de ADL
• Consultas federadas a través de fuentes de datos Azure
• Control de acceso basado en roles listo para la empresa y Auditoria
• Se paga por Job y escala por Job
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201627 |
Azure Data Lake Analytics
Grado -
Empresarial
Escala sin
limites
Productividad
desde el
primer día
Preparación
de datos fácil
y potente
Todos los
Datos
010010100100010101010010100100010101010010100100010101010010100
10001010101001010010001010101001
01001000101010100101001000101010100101001000101010100101001000
10101010010100100010101010010100
100010101010010100100010101010010100100010101010010100100010101
0100101001000101010100101001000
10101010010100100010101010010100
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201628 |
Azure Data Lake – Visual Studio
Un servicio de análisis elástico construido con Apache YARN que procesa todos los datos, en cualquier tamaño
• No hay límites para escalar
• Incluye T-SQL, un lenguaje que une los beneficios de SQL con el poderexpresivo de C #
• Optimizado para trabajar con la tienda de ADL
• Consultas federadas a través de fuentes de datos Azure
• Control de acceso basado en roles listo para la empresa y Auditoria
• Se paga por Job y escala por Job
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201629 |
Azure Data Lake – Visual Studio
Disponible Tipos
de Proyecto
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201630 |
Azure Data Lake – Visual Studio
• Monitorear y administrar los
Jobs
• Explorar y gestionar el
almacenamiento
• Explorar catálogo U-SQL
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201631 |
Azure Data Lake – Visual Studio
Ejecución con paralelismo
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201632 |
Paralelismo Solicitado = 1
(Reserva suficiente para hacer 1 vértice a la vez)
Paralelismo Solicitado = 4
(Reserva suficiente para hacer 4 vértices a la vez)
Azure Data Lake – Visual Studio
Etapa de detalles
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201633 |
252 Piezas de trabajo
AVG Tiempo de ejecución del
Vertex
4.3 Billones de Filas
Información Leida & Escrita
Azure Data Lake – Visual Studio
Programación estilo flujo
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201634 |
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201635 |
Microsoft Azure Data Centers
North America Region Europe Region Asia Pacific Region
Major datacenter
Chicago, IL
Singapore, SG
Hong Kong, HK
Dublin, IE Amsterdam, NL
San Antonio, TX
Virginia
Los Angeles, CA
Melbourne, AU Sydney, AU
Oceania Region
Saitama, JP
Sao Paulo, BR
Osaka, JP
Iowa
South America Region
Beijing, CN New Shanghai, CN New
Mumbai, IN New
Pune, IN New
Chennai, IN New
Toronto, ON
Coming Soon
Quebec City, QC
Coming SoonTo be announced
Magdeburg, DE
Coming Soon
To be announced
Frankfurt, DE
Coming Soon
https://azure.microsoft.com/en-gb/regions/#services
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201636 |
Microsoft Azure Data Centers
Major datacenter
US Gov VirginiaVirginia
São Paulo, BR
US Gov IowaIowa
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201637 |
To be announcedTo be announced
North America Region Europe Region Asia Pacific Region Oceania RegionSouth America Region
Recursos
Blog John Bulla http://geeks.ms/johnbulla
Documentación Azure http://azure.microsoft.com/es-es/
Portal Azure https://portal.azure.com
U-SQL http://usql.io/
Twitter: @JohnBulla
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201638 |
Comunidad de Desarrolladores
http://meetup.com/bdotnet
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201639 |
Muchas Gracias …..
@johnbulla
geeks.ms/johnbulla
linkedin.com/in/johnbulla
23/04/2016 | SQL Saturday #490 – San José, Costa Rica 201640 |