SPARK PARA DUMMIES
Spark, al igual que Hadoop, es básicamene un marco de desarrollo que proporciona una serie de plaa!ormas inerconecadas, sisemas " esándares para lle#ar a cabo pro"ecos de $ig Daa% Spark ambi&n es de c'digo abiero " perenece a la Apac(e So!)are *oundaion% De c'digo abiero quiere decir que el c'digo puede ser uili+ado libremene por cualquie cualquierr persona persona aun más- puede puede ser modi.cad modi.cado o por cualqui cualquier er persona persona para crea crearr ora oras s #ers #ersio ione nes s dirig irigid idas as a resol esol#e #err nue#a ue#as s prob proble lemá mái ica cas% s% /os desarrollador desarrolladores es " las empresas que las producen, esán consanemene consanemene re.nando " acual acuali+a i+ando ndo los prog program ramas, as, a0adi a0adiend endo o nue#a nue#as s !unci !unciona onalid lidad ades es o ma"or ma"or e.ciencia% Spark !ue el pro"eco de Apac(e más paricipai#o el a0o pasado, " no s'lo de Apac(e, sino de odas las aplicaciones de c'digo abiero de $ig Daa, con más de 122 colaboradores en más de 322 organi+aciones%
Seg4n los e5peros, Spark es más a#an+ado " más reciene que Hadoop, " esá dise0ado para raba6ar mediane el procesamiento de !ragmenos de daos 7 en memoria7% Eso signi.ca que rans.ere los daos de los discos duros !8sicos a la memoria del sisema, donde el procesamieno es muc(o más rápido 9(asa :22 #eces más rápido en algunas operaciones;% /a plaa!orma Spark esá mu" de moda, " lo uili+an muc(as grandes empresas para para el alma almace cena nami mien eno o " anál anális isis is de enor enorme mes s can canid idad ades es de dao daos s mul muli< i< peab"es, debido a su #elocidad- el a0o pasado, Spark alcan+' un r&cord mundial al complear una prueba de clasi.caci'n de :22 erab"es de daos en 3= minuos, cuando el r&cord anerior era de >: minuos con Hadoop% Además, es id'neo para aplicaciones aplicaciones de Machine Learning 9Aprendi+a6e 9Aprendi+a6e Auomáico;, una de las prácicas de ma"or crecimieno " más emocionane denro de las ciencias de la compuaci'n 9#er pos anerior;% Apac(e Spark esá dise0ado desde sus inicios para ser !ácil de insalar " usar ? siempre que se engan cieros conocimienos de in!ormáica< " para ser uili+ado en m4liple m4liples s aplicaci aplicaciones ones de negocio negocio%% Muc(os Muc(os pro#eed pro#eedore ores s o!recen o!recen sus propias propias #er #ersion iones 9al 9al igual que Hadoop oop;, orien rienados dos a indu ndusria rias concre crea as,
con.guraciones cusomi+adas para pro"ecos " usos concreos, " ser#icios de consulor8a para su implanaci'n " !uncionamieno % Spark uili+a la compuaci'n en clúster 9grupos de máquinas unidas por una red de ala capacidad, que !uncionan como una gran máquina; para obener una ma"or poencia de cálculo " almacenamieno, lo cual se raduce en que puede uili+ar los recursos de muc(os procesadores unidos enre s8% Es una soluci'n escalable, es decir, que si se necesia más capacidad, s'lo se ienen que a0adir más procesadores en el sisema% @on el almacenamieno disribuido, los grandes .c(eros de daos recogidos para el análisis se almacenan en muc(os discos duros !8sicos indi#iduales más peque0os, lo cual acelera las operaciones de lecuraescriura, porque la 7cabe+aB que lee la in!ormaci'n de los discos iene menos disancia !8sica para despla+arse sobre la super.cie del disco% Al igual que con la poencia de procesamieno, se puede a0adir más capacidad de almacenamieno cuando sea necesario ", además, uili+a (ard)are comercial 9discos duros esándar; que maniene ba6os los coses de in!raesrucura%
A di!erencia de Hadoop, Spark no #iene con su propio sisema de arc(i#os- en #e+ de eso, se puede inegrar con muc(os sisemas de arc(i#os inclu"endo el de Hadoop HD*S, MongoD$ " el sisema S= de Ama+on% Cro elemeno di!erencial es Spark Sreaming, que permie que las aplicaciones que se desarrollen realicen análisis en sreaming, daos en iempo real, redes sociales, .c(eros de log, ec% En las indusrias como el markeing, el análisis en iempo real proporciona grandes #ena6as por e6emplo, personali+ar los anuncios en base al comporamieno real del usuario, en lugar de en el comporamieno (is'rico, aumenando la posibilidad de obener una compra% Una bre#e inroducci'n de Apac(e Spark, el !uuro del $ig Daa, que espero que resule 4il% Esándar Publicado en Anal"ics, $ig Daa, buisiness inelligence, Daa Science, Hadoop, (p-)))%madridsc(oolo!markeing%es!ormacionarea< masermaser
2>%3:%:1 por msmksocialmedia
HADCCP *CR DUMMIES
Hadoop es, (o" por (o", el marco de desarrollo esablecido para implanaciones de $ig Daa% Se compone de un con6uno de capacidades reales, escalables " auomáicas para gesionar el Fu6o de daos, " con#erir raw data 9daos en bruo; en insight 9#alor;% Su creador !ue Doug @uing " lo don' a Apac(e So!)are *oundaion 9organi+aci'n sin ánimo de lucro creada para dar sopore a los desarrollos de So!)are;% Su nombre " el logo, se lo debe a la mascoa de su (i6o, un ele!ane de peluc(e llamado Hadoop% Surge en 322G a parir de un (ie Paper de oogle que describ8a su sisema de .c(eros% Doug no u#o problema en implanarlo " me6orarlo% @omo "a (emos dic(o en pos aneriores, Hadoop cubre las necesidades básicas que iene el $ig Daa- almacenamieno " procesado de daos% De a(8, que es& basado en dos concepos
HD*S 9Hadoop Disribued *ile S"sem;- es un sistema de archivos disribuido, escalable " poráil% MapReduce- es el modelo de programación sencillo para dar sopore a la compuaci'n paralela%
El sisema disribuido de .c(eros raba6a sobre grupos de compuadoras, organi+adas en lo que se llama un cluster, puede incluir desde una máquina 9nodo;, (asa =2%222 seg4n la )eb de Apac(e% @ada máquina puede ener #arios discos% Hadoop !unciona en modo cliene
/os grandes .c(eros de daos de enrada se rocean en ama0os menores 9JG$ ' :3$; " cada ro+o se replica al menos res #eces en nodos disinos% As8 se comien+a el procesamieno en paralelo, " si alguno de los nodos !alla, el máser deeca el !allo " asigna el raba6o a oro nodo disponible% MapReduce raba6a mediane algorimos simples de 7 clave?valorB % /a pare de Map, asigna la cla#e a la in!ormaci'n que esamos buscando% El e6emplo esrella de los cursos de Hadoop es el algorimo de conar palabras en un e5o% /a cla#e ser8a cada palabra, " el #alor las #eces que aparece% Primero conar8amos cada palabra, siendo el resulado 9palabra, :;, despu&s ordenar8amos las palabras " .nalmene, en la !ase Reduce, sumar8amos las palabras que aparecen repeidas% Leámoslo con un grá.co-
@on ese m&odo se a(orra iempo de rans!erencia de .c(eros, "a que el almacenamieno " el procesado se reali+a en el mismo siio% Hadoop raba6a en modo batch, es decir, e6ecuando unos procesos ras oros% Esá opimi+ado para leer cada .c(ero enero, desde el principio (asa el .nal, por ello esá desinado a raba6ar con pocos .c(eros grandes en #e+ de con muc(os peque0os, porque lo carga en memoria " lo lee de una sola #e+% Por suere, e5ise odo un ecosisema para raba6ar con Hadoop, " no ener que escribir odo el c'digo necesario para reali+ar la asignaci'n de .c(eros, el procesamieno, ec% Leamos algunos de los componenes del +oo de Hadoop-
Eclipse- es un enorno de desarrollo inegrado, donado por I$M a la comunidad Apac(e% Agili+a enormemene el desarrollo de los programas a#a% Sqoop: nos permie conecarnos a cualquier base de daos relacional 9que el acceso mediane una cone5i'n CD$@; e inercambiar daos con nuesro sisema de .c(eros HD*S% Es mu" imporane poder incorporar !ácilmene daos de nuesras bbdd 9daa)are(ouse, ERPs, ec%; igualmene poder lle#ar !ácilmene el resulado de un cálculo 9scoring, segmenaci'nN; a nuesras bases de daos% Flume: nos permie recuperar in!ormaci'n de siios remoos% Mediane un agene que se e6ecua en el lugar que se producen los daos 9.c(ero de log, O)eeerN; recoge los daos " los impora en HD*S% Es solo de una direcci'n, no permie e5porar daos de HD*S a oras ubicaciones% Mu" 4il para recuperar in!ormaci'n en iempo real% ive: ac4a como la base de daos de Hadoop% Es un in&rpree S/ ? MapReduce% Oraduce la quer" a programas a#a que realicen los MapReduce% Eso permie uili+ar (erramienas de $usiness Inelligence con#encionales 9que admian cone5i'n CD$@; con los daos de HD*S% !ig: para raba6ar con MapReduce, es necesario programar, ener s'lidos conocimienos de a#a, saber c'mo !unciona MapReduce, conocer el problema a resol#er, escribir, probar " manener el c'digo N Para ello es mu" bene.cioso disponer de un sisema más sencillo, que nos absraiga de la comple6idad del MapReduce% Para ello e5ise Pig, que !acilia el Fu6o de daos de una manera más sencilla% Dispone de su propio lengua6e de programaci'n llamado Pig /ain% base: es una base de daos columnar que se e6ecua sobre HD*S% Puede almacenar grandes canidades de daos, " acceder a ellos mu" rápidamene " lle#a bien el procesamieno incluso cuando (a" daos dispersos% Un e6emplo de
base de daos columnar, es como si almacenáramos los resulados de !4bol en
una abla as8"o#ie- Ac4a como un plani.cador% Es un moor de )orkFo)s, que puede incluir procesos MapReduce 9#arios, "a que los procesos MapReduce son simples " por lo general, (a" que encadenar #arios para reali+ar los cálculos;, scrips de Pig, de Hi#e, ec% $oo%eeper- alguien en8a que cuidar de ana !aunaN Qookeeper ac4a como coordinador% uarda oda la con.guraci'n de los meadaos, reali+a los bloqueos perinenes si dos procesos deben acceder al mismo .c(ero, guarda usuarios " pass)ords para el acceso a los disinos sios, ec% Mahout: es una librer8a de algorimos de Mac(ine /earning, escrios en a#a% u& es Mac(ine /earning Un programa al que no (a" que decirle qu& debe (acer% Dedicaremos un pos poserior a (abla de Mac(ine /earning% Despu&s de ese ecosisema, "a podemos ponernos a uili+ar Hadoop, sin necesidad de ser e5peros en a#aN os animáis Esándar Publicado en $ig Daa, Daa Science, Hadoop, (p-)))%madridsc(oolo!markeing%es!ormacionarea< masermaser