Anàlisi en entorns de Big Data Codi:  22.419    :  6
Consulta de les dades generals   Descripció   L'assignatura en el conjunt del pla d'estudis   Camps professionals en què es projecta   Coneixements previs   Informació prèvia a la matrícula   Objectius i competències   Continguts   Consulta dels recursos d'aprenentatge de la UOC per a l'assignatura   Informacions sobre l'avaluació a la UOC   Consulta del model d'avaluació  
Aquest és el pla docent de l'assignatura per al segon semestre del curs 2023-2024. Podeu consultar si l'assignatura s'ofereix aquest semestre a l'espai del campus Més UOC / La universitat / Plans d'estudis). Un cop comenci la docència, heu de consultar-lo a l'aula. El pla docent pot estar subjecte a canvis.

Aquesta assignatura constitueix una introducció a les tecnologies relacionades amb els sistemes d'anàlisi Big Data (dades massives). Començarem l'assignatura revisant la perspectiva històrica que ens a portat a la necessitat de desenvolupar aquests tipus de sistemes integrats per a l'anàlisi de dades massius. Partint d'aquest punt inicial introduirem el paradigma Big Data i els com s'habilita a nivell pràctic el processament de dades: característiques i estructura.

Un cop establertes les bases del paradigma Big Data ens endinsarem en les tres etapes bàsiques de tot anàlisi de dades: captura (i pre-processat), emmagatzematge, i processat. A l'estadi de captura treballarem diferents tècniques i tecnologies depenent de si les dades resideixen de forma estàtica en al sistema (batch) o bé arriben en flux (streaming). En relació amb l'emmagatzematge introduirem en paral·lel els sistemes de fitxers distribuïts (HDFD) i les bases de dades NoSQL, habitualment usades també per emmagatzemar dades massives (estructurats, semi-estructurats i no estructurats). Capturades i emmagatzemades, les dades estan a punt el seu processament. En aquesta línia es treballaran les tècniques bàsiques per al processat de dades en batch i streaming, i amb especial èmfasi en l'entorn Apache Spark. Finalment, s'introduiran a l'alumne a les arquitectures Lambda i Kappa, que ofereixen a l'usuari un pipeline integrat per al tractament de Big Data.

Un cop establertes totes aquestes bases teòriques i pràctiques, revisarem les eines Cloud que ofereixen els grans proveïdors (Amazon, Azure i Google Cloud) per al tractament de Big Data, identificant-es amb les estudiades durant el curs en mode on-premise.

Amunt

Aquesta assignatura pertany al conjunt d'assignatures obligatòries del Grau de Ciència de Dades.

Amunt

Els coneixements adquirits en l'assignatura seran d'utilitat en diferents àmbits professionals, com són la programació de sistemes que requereixin el processat de dades massives, la ciència de dades, la direcció o consultoria de projectes basats en sistemes Big Data, entre d'altres.

Amunt

El curs requereix que els estudiants tinguin coneixements de:

  • Programació. Durant el curs s'utilitzarà principalment llenguatge Python, però potencialment es pot requerir l'ús de Java, Scala, bash scripting, SQL o altres llenguatges per entendre exemples i/o solucionar tasques concretes
  • Coneixements bàsics d'anàlisi de dades
  • Tècniques bàsiques d'aprenentatge automàtic
  • Xarxes de computadors.

A més, la metodologia inclou estudis de casos d'usos concrets, lectura de documentació tècnica oficial, articles científics i la recerca autònoma d'informació. En aquest aspecte és aconsellable que l'estudiant estigui familiaritzat amb l'ús avançat de cercadors d'internet, l'anàlisi de la informació quantitativa i qualitativa, la capacitat de sintetitzar i obtenir conclusions, així com de tenir certes habilitats de comunicació oral i escrita. Així mateix, també cal que els estudiants tinguin la capacitat de llegir i comprendre documents en anglès i castellà, ja que una part dels materials addicionals i altres recursos, estan en aquests idiomes.

Amunt

No aplica

Amunt

Le competències que es desitja que l'estudiant assoleixi mitjançant aquesta assignatura són els següents:

  • Entendre els conceptes i les definicions formals associades al tractament de dades massives, al paradigma Big Data i afins
  • Saber distingir els casos d'ús que requereixen de l'aplicació de tecnologia Big Data i els que no
  • Identificar els elements tecnològics necessaris per a desenvolupar un projecte basat en l'ús de Big Data
  • Conèixer les metodologies més adequades per a la implementació de sistemes Big Data
  • Conèixer el funcionament bàsic de les principals eines i frameworks de Big Data pel tractament de dades en mode batch i streaming
  • Conèixer les principals eines disponibles en l'ecosistema de Big Data, especialment dins l'ecosistema d'Apache Hadoop i Apache Spark. També es desenvoluparan competències relacionades amb els serveis Cloud.
  • Obtenir suficiència en la construcció de models que generin coneixement com a resultat d'un analisis de dades basat en tecnologia Big Data.

Amunt

L'assignatura consta de 6 blocs temàtics, cadascun dels quals es treballarà mitjançant material didàctic textual, audiovisual i amb el desenvolupament d'activitats pràctiques.

El contingut associat a cada bloc temàtic és el que es detalla a continuació:

1) Introducció al processat de dades massives i la seva anàlisis

En aquest primer bloc es revisaran els processos històrics que han portat a la necessitat de processar grans quantitats de dades i com s'aconsegueix treure coneixement d'aquests. Seguidament, s'introduiran un seguit de conceptes bàsics relacionats amb l'algorísmia i computació paral·lela que ens serviran com a base al llarg de curs.

2) Introducció al Big Data

En aquest segon bloc es treballarà el concepte de Big Data, discutint el canvi de paradigma que ha implicat aquest concepte. A continuació, es revisaran les característiques d'un sistema Big Data per, finalment, descriure l'estructura típica que prenen aquests sistemes.

3) Tractament batch de dades masives

3.1) Captura, pre-processament i emmagatzematge de dades massives

En el tercer bloc, treballarem les característiques bàsiques dels processos de captura, pre-processat i emmagatzematge de dades en entorns Big Data, per ser capaços d'entendre les peculiaritats que implica treballar amb Big Data en cadascuna d'aquestes fases de l'anàlisi de dades. Treballarem les principals tècniques, eines i tecnologies que donen suport aquests processos.

Posteriorment, discutirem l'emmagatzematge i gestió de la informació, centrant-nos en el sistema de fitxers distribuït HDFS, els formats de fitxers especials per emmagatzemar Big Data, els metastores, els sistemes d'indexació i les bases de dades NoSQL.

3.2) Processament de dades en mode batch

Continuarem treballant les diferents tipologies i arquitectures d'un sistema Big Data, sent capaços d'identificar quines arquitectura s'haurien d'implementar segons les característiques de cada cas d'ús, incloent les especificitats de dades i entorns. Posteriorment, introduirem els dos sistemes principals de processament distribuït, MapReduce i Apache Spark, fent èmfasi en les seves fortaleses i debilitats. Seguidament definirem les tasques que realitzen els gestors de recursos, centrant-nos a nivell pràctic en Apache YARN, encara que a nivell teòric se'n treballaran d'altres. Finalment revisarem algunes de les eines que ofereix Apache Spark per habilitar l'aprenentatge automàtic en entorns Big Data.

4) Gestors de recursos per al processat de dades massius

És habitual que els recursos existents en un sistema Big Data siguin finits i que al mateix temps múltiples els programes (o tasques) requereixin usar-los. En aquesta situació accions com les de prioritzar les tasques, retenir les que no disposen de suficients recursos en un moment donat, o fins i tot decomisionar programes amb altes taxes de fallada són qüestions clau per a un ús eficient de la infraestructura subjacent. Els gestors de recursos s'encarreguen que els programes facin un ús racional i equitatiu dels recursos.

En aquest mòdul veurem els conceptes bàsics d'un gestor de recursos a nivell teòrics, revisant amb més detall el funcionament d'Apache YARN, un gestor habitual en entorns Hadoop.

5) Automatització de processos

Quan part d'un procés entra en estadi de producció és habitual tenir la necessitat que s'iniciï i funcioni de forma autònoma sense que ningú n'estigui pendent. Fins i tot que aquest procés disposi de certa lògica seqüencial i que es realitzin accions derivades d'un primer procés inicial.

En aquest mòdul revisarem les eines hi ha disponibles i quins avantatges ofereix cadascuna d'elles. Començarem revisant Apache Oozie, el planificador habitual en entorns Hadoop. Posterior veurem altres dos planificadors una mica més versàtils i molt usats en l'actualitat, Airflow i Apache Nifi.

6) Tractament de streams de dades en entorns Big Data

En aquest mòdul treballarem les diferències subjacents per al processat de dades en flux. De manera similar al processat de dades en format batch, treballarem els processos principals de tot el pipeline d'anàlisi: captura, emmagatzematge i processat. A continuació, treballarem en profunditat les arquitectures comuns per a aquest tipus de processament: la Lambda i la Kappa. A nivell pràctic treballarem: Flume, Kafka, Apache Spark. Segons l'evolució de el curs, es podrà introduir a nivell opcional: Structured Streaming i Storm. En aquest mòdul és probable que l'alumne hagi de programar en diversos llenguatges de programació: Java, Python o Scala, tot i que es prioritzarà l'ús de Python.

7) Incremental learning

En aquest mòdul de l'assignatura revisarem les oportunitats ofereix el camp de l'aprenentatge automàtic quan les dades arriben en forma de flux. Revisarem els models supervisats i no supervisats, entrant en detall en dos exemples concrets: model d'agrupament K-means (no supervisat) i la regressió lineal (supervisat). Encara que l'alumne ja conegui aquests models, àmpliament usats, veurem que la forma de treballar-los canvia substancialment quan les dades arriben en flux. Finalment, revisarem diversos casos d'ús que l'alumne podrà treballar per consolidar els conceptes vistos en aquest mòdul.

8) Tecnologies Big Data al Cloud.

En aquest mòdul final, es farà especial èmfasi en les diferències entre els sistemes on-premise i Cloud. El mòdul se centrarà en proveir a l'estudiant coneixements de les tecnologies Cloud que permet processar Big Data en mode Batch i Streaming.

Amunt

Espai de recursos de ciència de dades Web
Ús de dataframes amb Apache Spark Audiovisual
Ús de RDDs amb Apache Spark Audiovisual

Amunt

El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat dels exercicis realitzats.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; l'intent fraudulent d'obtenir un resultat acadèmic millor; la col·laboració, l'encobriment o l'afavoriment de la còpia, o la utilització de material o dispositius no autoritzats durant l'avaluació, entre d'altres, són conductes irregulars que poden tenir conseqüències acadèmiques i disciplinàries greus.

D'una banda, si es detecta alguna d'aquestes conductes irregulars, pot comportar el suspens (D/0) en les activitats avaluables que es defineixin en el pla docent - incloses les proves finals - o en la qualificació final de l'assignatura, sigui perquè s'han utilitzat materials o dispositius no autoritzats durant les proves, com ara xarxes socials o cercadors d'informació a internet, perquè s'han copiat fragments de text d'una font externa (internet, apunts, llibres, articles, treballs o proves d'altres estudiants, etc.) sense la citació corresponent, o perquè s'ha practicat qualsevol altra conducta irregular.

De l'altra, i d'acord amb les normatives acadèmiques, les conductes irregulars en l'avaluació, a més de comportar el suspens de l'assignatura, poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui.

La UOC es reserva la potestat de sol·licitar a l'estudiant que s'identifiqui o que acrediti l'autoria del seu treball al llarg de tot el procés d'avaluació pels mitjans que estableixi la Universitat (síncrons o asíncrons). A aquests efectes, la UOC pot exigir a l'estudiant l'ús d'un micròfon, una càmera o altres eines durant l'avaluació i que s'asseguri que funcionen correctament.

La verificació dels coneixements per garantir l'autoria de la prova no implicarà en cap cas una segona avaluació.

Amunt

L'assignatura només es pot aprovar amb el seguiment i la superació de l'avaluació contínua (AC). La qualificació final de l'assignatura és la nota obtinguda a l'AC.

 

Amunt