Este documento describe el concepto de Big Data y los principales componentes de la plataforma Microsoft Azure Data Lake para procesar y analizar grandes cantidades de datos. Explica que Big Data se refiere a almacenar y encontrar patrones en grandes cantidades de datos de diversas fuentes y formatos. Luego describe las características de volumen, velocidad y variedad de los datos, y algunas de las herramientas clave de Azure Data Lake como Azure Data Lake Store, Azure Data Lake Analytics, HDInsight y U-SQL para procesar y analizar datos a gran escala de
3. “Big data is like teenage sex: everyone talks
about it, nobody really knows how to do it,
everyone thinks everyone else is doing it,
so everyone claims they are doing it.”
Dan Ariely
4. ¿Qué es Big Data?
El Big Data o Datos masivos es un concepto que hace referencia al
almacenamiento de grandes cantidades de datos y a los
procedimientos usados para encontrar patrones repetitivos dentro
de esos datos.
Wikipedia
Son datos que exceden la capacidad de procesamiento de sistemas
convencionales de Bases de Datos.
• O’Reilly
6. ¿Dónde nace?
Mucha de la innovación viene de los buscadores web
¿Por qué no podemos construir un buscador con una base de datos SQL?
• El almacenamiento necesita de más de una máquina
• Los datos no son un rectángulo
• Mi pregunta puede no ser relacional
• Necesito hacer esa pregunta en muchas, muchas máquinas
9. ¿Qué tienen en común?
Almacenamiento
Opera sobre hardware
barato
Asume fallas a escala
Asume muchas lecturas,
algunas escrituras sólo de
append
Grandes archivos
Cómputo
Traer el código a los datos
Asume que la red es difícil
de escalar
Abstraer, y confiar en los
compiladores, y
optimizadores
No especifican un “formato
correcto”
18. Azure Data Lake
Azure Data Lake store
Azure Data Lake analytics
Azure HDInsight
Microsoft Azure Data Lake
YARN
U-SQL
Analytics Service HDInsight
Store
HDFS
19. Microsoft Azure Data Lake
YARN
U-SQL
Analytics Service HDInsight
Store
HDFS
HDInsight: clúster como servicio
Oferta de Hadoop en la nube de Microsoft
100% open source Apache Hadoop
Administrado y soportado por Microsoft
Spark, Hive, Pig, Storm, HBase
Listo para usar en minutos
.NET y Java
Integración con Visual Studio
99.9% Enterprise Service Level Agreement
Windows o Linux
20. YARN
U-SQL
Analytics
Service
HDInsight
HDFS
Store
Azure Data Lake Store
Tamaño de archivo ilimitado
Diseñado para la diversidad de workloads de
analytics
Accesible para todas las aplicaciones de analytics
compatibles con HDFS (Hortonworks, Cloudera,
MapR)
Administrado, monitoreado y soportado por
Microsoft
Seguridad, compliance y administración
Enterprise grade
21. Microsoft Azure Data Lake
YARN
U-SQL
Analytics Service HDInsight
Store
HDFS
Azure Data Lake Analytics Service
Servicio de analytics distribuido
Escala dinámicamente para adaptarse a las
necesidades del negocio
Productividad desde el día uno con
herramientas de desarrollo líderes (para
novatos y expertos)
Analytics sobre todo tipo de datos (no
estructurados, semi estructurados,
estructurados)
U-SQL: simple y familiar, fácilmente extendible
Hive será soportado pronto
Construido sobre estándares abiertos (YARN)
22. ADLA: Trabajamos sobre todos los datos
Azure Data Lake
Analytics
Azure SQL DW Azure SQL DB
Azure
Storage Blobs
Azure
Data Lake Store
SQL DB in an
Azure VM
23. El lenguage de de próxima generación para
procesamiento de datos de gran escala combinando
La parte declarativa, optimizable y paralelización de SQL
La extensibilidad, expresividad y familiaridad de C#
ADLA: El origen de U-SQL
Alta performance Escalable Accesible Fácil de programar Seguro
Hive
T-SQL
U-SQL SCOPE
24. Anatomía de una query en U-SQL
REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DatetTime,
Region string,
SitesVisited string,
PagesVisited string
FROM "swebhdfs://Logs/WebLogRecords.txt"
USING WebLogExtractor();
@result = SELECT UserID,
(End.Subtract(Start)).TotalSeconds AS Duration
FROM @rs ORDER BY Duration DESC FETCH 10;
OUTPUT @result TO "swebhdfs://Logs/Results/top10.txt"
USING Outputter.Tsv();
• Los tipos de U-SQL son los
mismos que en C#
• La estructura (schema) se
impone en el momento de leer/
extraer información del archivo
(schema-on-read)
Los datos de entrada se leen de este
archivo en ADL
Función custom para leer los
datos de entrada
Expresión C#
La salida se guarda en este archivo en ADL
Función built-in que escribe la salida en
formato TSV
Rowset: Conceptualmente es
como una tabla intermedia…
es la forma como pasamos datos
entre sentencias en U-SQL
25. Leer archivos con formatos custom
Extractores incorporados para leer archivos CSV y TSV,
o creamos extractores custom para otros formatos
Subir y registrar el assembly
2
CREATE ASSEMBLY WebLogExtAsm
FROM @”/WebLogExtAsm.dll"
WITH PERMISSION_SET = RESTRICTED;
CREATE EXTRACTOR WebLogExtractor
EXTERNAL NAME
WebLogExtractor;
Implementar IExtractor
using Microsoft.SCOPE.Interfaces;
public WebLogExtractor:IExtractor
{
public override
IEnumerable<IRow> Extract(…)
{
…
}
…
}
1
REFERENCE ASSEMBLY WebLogExtAsm;
//now just use it like a built-in
extractor
SELECT * FROM
@“swebhdfs://Logs/WebRecords.txt”
USING WebLogExtractor();
Referenciar el Assembly y usarlo
3
Notes de l'éditeur
¿Problemas?
Escala, fallas, overflows
¿Problemas?
Escala, fallas, expresividad
¿Problemas?
Demasiada ceremonia. Se complica, rápido.
ADLA allows you to compute on data anywhere and a join data from multiple cloud sources.