What is Apache Spark?

Panoramica: Apache spark è un motore ad alte prestazioni in generale utilizzato per l'elaborazione di dati su larga scala. It is an open source framework used for cluster computing. Aim of this framework is to make the data analytic faster – sia in termini di sviluppo ed esecuzione. In this document, Parlerò di Apache Spark e discutere i vari aspetti di questo quadro.

Introduzione: Apache candela è un framework open source per cluster di calcolo. E 'costruito in cima alla Hadoop Distributed File System (HDFS). Non usa la carta a due stadi ridurre paradigma. Ma allo stesso tempo promette fino a 100 tempi di prestazioni più veloci per alcune applicazioni. Spark fornisce anche i conduttori iniziali per cluster di calcolo all'interno della memoria. Questo consente ai programmi applicativi per caricare i dati nella memoria di un cluster in modo che possa essere interrogato ripetutamente. This in memoria calcolo rende Spark uno dei componenti più importanti nel grande mondo computazione dati.

Features: Ora cerchiamo di discutere le caratteristiche in breve. Apache Spark si presenta con le seguenti caratteristiche:

  • API basata su Java, Scala e Python.
  • Scalabilità che vanno da 80 to 100 nodi.
  • Possibilità di cache di set di dati all'interno della memoria per set di dati interattive. E.g. estrarre un set di lavoro, nella cache e interrogare ripetutamente.
  • Biblioteca efficiente per stream processing.
  • Biblioteca efficiente per machine learning e elaborazione grafico.

Parlando Spark nel contesto della scienza dati è notato che scintilla ha la capacità di mantenere i dati residenti nella memoria. Questo approccio migliora le prestazioni rispetto alla mappa di ridurre. Guardando dalla cima, scintilla contiene un programma pilota che corre il metodo principale del client ed esegue varie operazioni in parallelo in un ambiente cluster.

Spark offre resiliente set di dati distribuiti (RDD) che è un insieme di elementi che sono distribuiti tra i diversi nodi di cluster di, in modo che possano essere eseguite in parallelo. Spark ha la capacità di memorizzare un RDD nella memoria, permettendo così di essere riutilizzato efficiente in tutta esecuzione parallela. RDDs può anche recuperare automaticamente in caso di errore del nodo.

Spark fornisce anche variabili condivise che vengono utilizzati in operazioni parallele. Quando scintilla corre in parallelo come un set di attività su diversi nodi, trasferisce una copia di ogni variabile per ogni compito. Queste variabili sono condivisi tra diversi compiti. In scintilla abbiamo due tipi di variabili condivise -

  • in onda variabili – usato per nascondere un valore in memoria
  • accumulatori – utilizzato in caso di contatori e somme.

Configurazione Spark:

Spark offre tre aree principali per la configurazione:

  • Proprietà Spark – Questo controllo la maggior parte delle applicazioni e può essere impostato sia usando il SparkConf oggetto o con l'aiuto di proprietà di sistema Java.
  • variabili ambientali – Questi possono essere usati per configurare macchina basata impostazioni es. indirizzo ip con l'aiuto di conf / spark-env.sh script su ogni singolo nodo.
  • Registrazione – Questo può essere configurato utilizzando le proprietà log4j standard di.

Proprietà Spark: Proprietà Spark controllano la maggior parte delle impostazioni dell'applicazione e devono essere configurate separatamente per applicazioni separate. Queste proprietà possono essere impostate utilizzando l'oggetto SparkConf e viene passato al SparkContext. SparkConf ci permette di configurare la maggior parte delle proprietà comuni a inizializzare. Utilizzando il set () Il metodo di classe SparkConf possiamo anche impostare coppie di valori chiave. Un codice di esempio utilizzando il set () Metodo Di seguito si riporta -

Listing 1: Campione con il metodo Set

scelta conf = new SparkConf ()

. setMaster( “aws” )

. setAppName( “La mia applicazione SPARK campione” )

. impostato( “spark.executor.memory” , “1g” )

selezione sc = new SparkContext (conf)

Alcune delle proprietà comuni sono –
• spark.executor.memory – Questo indica la quantità di memoria da utilizzare per esecutore. •
• spark.serializer – Classe utilizzato per serializzare oggetti che saranno inviati attraverso la rete. Dal momento che la serializzazione Java di default è piuttosto lento, si consiglia di utilizzare la classe org.apache.spark.serializer.JavaSerializer per ottenere una migliore performance.
• spark.kryo.registrator – Classe utilizzato per registrare le classi personalizzate se usiamo la serializzazione Kyro
• spark.local.dir – luoghi che scintilla utilizza come spazio zero per memorizzare i file di mappa di output.
• spark.cores.max – Utilizzato in modalità standalone per specificare la quantità massima di CPU core di chiedere.

variabili ambientali: Alcune delle impostazioni scintilla possono essere configurate utilizzando le variabili d'ambiente che sono definite nel file di script conf / spark-env.sh. Si tratta di impostazioni specifiche della macchina Per es. biblioteca percorso di ricerca, percorso java ecc. Alcune delle variabili di ambiente comunemente utilizzati sono –

  • JAVA_HOME – Luogo in cui è installato Java sul sistema.
  • PYSPARK_PYTHON – La libreria di pitone utilizzata per PYSPARK.
  • SPARK_LOCAL_IP – Indirizzo IP del computer che deve essere legato.
  • SPARK_CLASSPATH – Utilizzato per aggiungere le librerie che vengono utilizzati in fase di esecuzione per l'esecuzione.
  • SPARK_JAVA_OPTS – Usato per aggiungere le opzioni JVM

Registrazione: Spark utilizza l'API standard per la registrazione Log4j che può essere configurata utilizzando il log4j. proprietà dei file.

Inizializzazione Spark:

Per iniziare con un programma scintilla, la prima cosa è quella di creare un oggetto JavaSparkContext, che dice scintilla per accedere al cluster. Per creare un contesto scintilla per prima cosa creiamo oggetto scintilla conf come mostrato di seguito:

Listing 2: L'inizializzazione dell'oggetto di contesto scintilla

SparkConfconfig = newSparkConf().setAppName(ApplicationName).setMaster(maestro);

JavaSparkContextconext = newJavaSparkContext(config);

Il parametro applicationName è il nome della nostra applicazione che viene mostrato sull'interfaccia utente del cluster. Il master parametro è l'URL del cluster o una stringa locale utilizzato per l'esecuzione in modalità locale.

Set di dati distribuiti resilienti (RDDs):

Spark si basa sul concetto di elastico insieme di dati o RDD distribuito. RDD è una raccolta fault-tolerant di elementi azionabili in parallelo. RDD può essere creato utilizzando uno dei seguenti due modi:

  • Parallelizzando una raccolta esistente – Collezioni parallelizzato sono creati chiamando il metodo parallelizzare della classe JavaSparkContext nel programma pilota. Elementi della collezione vengono copiati da una collezione esistente che può essere azionato in parallelo.
  • Facendo riferimento al set di dati in un sistema di memorizzazione esterno – Spark ha la capacità di creare set di dati distribuiti da qualsiasi spazio di archiviazione per esempio Hadoop supportate. HDFS, Cassendra, HBase ecc.

RDD Operazioni:

RDD supporta due tipi di operazioni –

  • Trasformazioni – Utilizzato per creare nuovi set di dati da una esistente.
  • Azioni – Questo restituisce un valore al programma driver dopo l'esecuzione del codice sul set di dati.

In RDD le trasformazioni sono pigri. Le trasformazioni non calcolano i loro risultati subito. Piuttosto essi basta ricordare le trasformazioni che vengono applicate ai dataset di base.

Summary: Così nella discussione di cui sopra ho spiegato diversi aspetti del quadro Apache SPARK e la sua attuazione. Le prestazioni di SPARK sopra normale lavoro MapReduce è anche uno degli aspetti più importanti che dovremmo capire chiaramente.

Let us conclude our discussion in the following bullets:

  • Spark è un framework presentato da Apache che fornisce il motore di ricerca ad alte prestazioni per la trasformazione di larga scala di dati.
  • Sviluppato sulla cima di HDFS, ma non usa la carta ridurre paradigma.
  • Spark promesse 100 volte più veloce di Hadoop prestazioni.
  • Spark migliori esegue sui cluster.
  • Scintilla può scalare fino a una serie di 80 to 100 nodi.
  • Spark ha la capacità di memorizzare nella cache i dataset
  • Spark può essere configurato con l'aiuto di un file delle proprietà e delle variabili di ambiente.
  • Spark si basa sul set di dati distribuiti resilienti (RDD) che è una raccolta di guasto oggetti tolleranti.
Taggato su:
============================================= ============================================== Acquista i migliori libri di tecnologia su Amazon,en,ELETTRICI CT COSTRALETTRICO,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share