Presentación hecha en .NetRAF 2017, en la ciudad de Rafaela, (Santa Fé, Argentina), sobre Big Data sobre Microsoft Azure: HDInsight, Azure Data Lake Analytics, Azure Data Lake Store.
Y el uso que hacemos en Nubimetrics de la plataforma.
14. Almacenamiento
Opera sobre hardware
barato
Asume fallas a escala
Asume muchas lecturas, y
algunas escrituras sólo de
append
Grandes archivos
Cómputo
Traer el código a los datos
Se asume que la red es difícil
de escalar
Abstraer, y confiar en los
compiladores, y optimizadores
No especifican un “formato
correcto”
36. El lenguage de próxima generación para
procesamiento de datos de gran escala
combinando:
Alta performance Escalable Accesible Fácil de programar Seguro
HiveT-SQL
U-SQL
SCOPE
37. REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
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();
Rowset: Conceptualmente
es como una tabla
intermedia…
es la forma como pasamos
datos entre sentencias en
U-SQL
38. REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
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)
39. REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
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 datos de entrada se
leen de este archivo en ADL
40. REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
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();
Función custom para leer
los datos de entrada
41. REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
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();
Expresión C#
42. REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
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();
La salida se guarda en
este archivo en ADL
43. REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
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();
Función built-in que
escribe la salida en
formato TSV
El 0,01% de Wikipedia (473 artículos), impresos en papel
The quick brown fox jumps over the lazy dog (El veloz zorro marrón salta sobre el perro perezoso) es un pangrama en inglés. Tiene 35 letras y utiliza todas las del alfabeto inglés (26). Se usa principalmente para examinar a los mecanógrafos y para probar los teclados de las computadoras, pues es corto y fácil de recordar.
Margaret Hamilton y el código fuente del Apolo XI
¿Problemas?
Escala, fallas, overflows
¿Problemas?
Escala, fallas, expresividad
¿Problemas?
Demasiada ceremonia. Se complica, rápido.