GithubHelp home page GithubHelp logo

hadoop-spark's Introduction

Analisi sui dati con Hadoop - Spark

HDFS

Filesystem distribuito con memorizzazione dati su commodity hardware (device compatibili in network per fornire maggiore potenza di elaborazione e memoria), e con una banda aggregata molto alta.

Hadoop 2.8

Apache Hadoop: framework open-source per la memorizzazione e l'analisi distribuita di grandi quantità di dati.

  • Yarn: gestore, presente in Hadoop, delle risorse computazionali sui cluster e assegnazione ad applicazioni

MapReduce

Framework per la creazione di programmi in grado di processare dati in maniera distribuita su un cluster:

  • calcoli altamente parallelizzabili
  • map - primo passo del paradigma: ogni nodo del cluster elabora la parte dei dati di interesse localmente
  • reduce - secondo step del paradigma: raggruppamento su uno stesso nodo dei dati del primo step ed elaborazione secondo la logica del programma (eventuale reiterazione del paradigma)

Spark 2.3 con Java

Sistema di in-memory computing distribuito (può effettuare operazioni direttamente in memoria centrale), più efficiente di Map-Reduce, con prestazioni superiori di 100 volte. Risulta più efficiente in special modo per operazioni complesse e ripetute su dataset, o per cicli di analisi dati di tipo iterativo, con sequenze di job map-reduce.

Spark è un computation framework indipendente da Hadoop (che è invece uno storage system distribuito, con gestione processi distrubuita su cluster di Yarn). La sorgente in input per Spark può essere:

  • HDFS
  • Disco locale
  • Database (via jdbc)
  • Kafka topic (subscribe e topic consumer)

Elaborazione basata su:

  • RDD (Resilent Distribuited Dataset): immutabile, soggetto a trasformazione/creazione, può rimanere in-memory o passare su disco (HDFS)
  • Driver node: dove risiede e parte l'applicazione con la logica di processo Spark e lo Spark Context; manda in run gli Executor nei Worker node
  • Cluster resource manager: esegue la trasformazione/creazione/processo di RDD (tipi di cluster resource manager che si occupano di schedulare e far partire i task: YARN, Mesos, Spark Standalone)
  • Master node: macchina dove risiede ed è in run, il cluster resource manager; richiede la creazione di Executors ai Worker node; invia le informazioni ottenute al Driver
  • Worker node: nodi che lavorano in parallelo nel cluster, con i loro processi; inviano al master node le info richieste per lo Spark process principale.

hadoop-spark's People

Contributors

fimperato avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.