Coloquio de Investigación Multidisciplinaria
21/10/2016
Dr. Jose María Alvarez-Rodríguez
Orizaba, México
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?name ?birth ?description ?person WHERE {
?person dbo:birthPlace <http://dbpedia.org/resource/Orizaba>.
?person <http://purl.org/dc/terms/subject>
<http://dbpedia.org/resource/Category:Mexican_women_in_politics>.
?person dbo:birthDate ?birth .
?person foaf:name ?name .
?person rdfs:comment ?description .
FILTER (?birth > "1950-01-01"^^xsd:date AND ?birth < "1970-01-01"^^xsd:date).
FILTER (LANG(?description) = 'en') .
}
ORDER BY ?name
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?name ?birth ?description ?person WHERE {
?person dbo:birthPlace <http://dbpedia.org/resource/Orizaba>.
?person <http://purl.org/dc/terms/subject>
<http://dbpedia.org/resource/Category:Mexican_comedians>.
?person dbo:birthDate ?birth .
?person foaf:name ?name .
?person dbo:alias ?alias .
FILTER (?birth > "1936-01-01"^^xsd:date AND ?birth < "1936-12-31"^^xsd:date).
}
ORDER BY ?name
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT * WHERE {
?s a onto:Place .
?s geo:lat ?lat .
?s geo:long ?long .
FILTER(
xsd:double(?lat) - xsd:double(19.6613) <= 2 && xsd:double(19.6613) - xsd:double(?lat) <= 2 &&
xsd:double(?long) - xsd:double(-96.8875) <= 2 && xsd:double(-96.8875) - xsd:double(?long) <= 2).
?s <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> ?density.
FILTER(xsd:double(?density) > xsd:double(100)).
}
LIMIT 100
http://bit.ly/2dVGgeh
Fuente: https://goo.gl/images/8dsnlW
Intel
Microsoft
Apple
Uber
Baidu
Nokia
…
This graphic originally published June 28, 2016. It has since been updated with additional reporting. SOURCE: Data compiled by Bloomberg
ADDITIONAL WORK: John Lippert, Keith Naughton and Cedric Sam
IoT Platform Citizen Data Scientist Machine Learning NLP & Question Answering
...
Sofisticación de métodos para:
...De la empresa Teradata...
Supply Chain
Supply Chain
Policía
Crímenes
Eficiencia energética
...
Batch vs Tiempo real vs Stream
vs
Estructurado vs
Semi-estructurado
No estructurado
Batch
Periódico
Eventos
Cercano a tiempo real
Tiempo real
...
NIST SP 1500-1 -- Volume 1: Definitions
NIST SP 1500-2 -- Volume 2: Taxonomies
MEJORA EN LAS CAPACIDADES DE ALMACENAMIENTO
MAYOR CAPACIDAD DE PROCESAMIENTO
DISPONIBILIDAD DE DATOS
¿Una BBDD relacional tradicional?
¿Un sistema de procesamiento off-line?
¿Un sistema de Inteligencia de Negocio?
¿OLAP y variantes?
...
"Es imposible para un sistema de computación distribuida garantizar al mismo tiempo":
AP: Cassandra y CouchDB
CP: HBase y PAXOS
CA: BBDD relacionales
Las propiedades ACID de las bases de datos relacionales no encajan demasiado bien con las necesidades de un sistema Big Data (almacenar y procesar en ~tiempo real).
Lambda
Kappa
Zetta
IoT-a
Polyglot Processing
Nathan Marz
NIST Big Data Reference Architecture Subgroup |
5. NIST SP 1500-5 -- Volume 5: Architectures White Paper Survey |
6. NIST SP 1500-6 -- Volume 6: Reference Architecture |
Un modelo de programación...
"Dada una lista de números entre 1 y 50 mostrar sólo los pares"
print filter(lambda x: x % 2 == 0, range(1, 50))
"Calcular la suma de los cuadrados de los números entre 1 y 50"
import operator
reduce(operator.add, map((lambda x: x **2), range(1,50)) , 0)
MapReduce: The Programming Model and Practice,
SIGMETRICS, Tutorials 2009, Google.
Mapping es una función que crea una lista de salida tras la aplicación de un función a cada elemento de la lista de entrada.
Reduce es una función que itera sobre los elementos de entrada para agregarlos en un sólo valor.
Es un modelo de programación inspirado en programación funcional para resolver problemas mediante un enfoque "divide y vencerás" con procesamiento distribuido y paralelo.
MapReduce: The Programming Model and Practice, SIGMETRICS, Turorials 2009, Google.
MapReduce: The Programming Model and Practice, SIGMETRICS, Turorials 2009, Google.
The Apache Hadoop software library is a framework that allows for the
distributed processing of large data sets across clusters of computers
using simple programming models.
Otro listado: https://hadoopecosystemtable.github.io/
Concatenación de trabajos M/R
En otros frameworks ya superado (ej: Flink)
Optimización de los parámetros del algoritmo
Pipelining con otros lenguajes de programación
Patrones más avanzados
Procesamiento en tiempo real
Problemas actuales: imágenes, etc.
¿Qué es Big Data?
Arquitectura
M/R y Hadoop
Tecnología y frameworks
No es sencillo de hacer una gran diferenciación pero caería en los siguientes puntos:
...pero destinados a encontrarse...
http://www.hpcuserforum.com/presentations/tuscon2013/IDCHPDABigDataHPC.pdf
Entender los fundamentos de Big Data (ej: Hadoop, etc.)
Probar y ascender en el conocimiento de herramientas de mayor nivel de abstracción
https://www.mapr.com/services/mapr-academy/course-pricing (estos son caros)
(además de las de Gartner 2015)
Almacén de datos "en crudo" y en sus formatos nativos hasta que son procesados.
Ej: Jupyter
Dependiendo del problema se podrán aplicar las técnicas de forma más exitosa.
La selección debería basarse en innovación tecnológica para un proceso en negocio y no en marketing.
Realmente se debe buscar el problema de negocio y de ahí descender a la solución técnica. Ej: Walmart
Realmente el problema reside en la integración de datos y no en la aplicabilidad de las técnicas
Sobre las herramientas e infraestructura ya se ha comentado y sobre los expertos el problema reside en seleccionar el perfil correcto: estadístic@, ingenier@, etc.
Es muy importante contextualizar el problema de negocio tanto en necesidades como en nuestras capacidades
No es necesario diseñar/implementar una arquitectura desde el inicio, existen muchas herramientas ya disponibles
4x more digital data than all the grains of sand on earth by 2020 #bigdata
https://twitter.com/IBMAnalytics/status/417748100217061377/photo/1