Apache Spark

Apache Spark
Tip de framework , cadru de suport pentru învățarea automată [d] și cloud computing
Autor Matei Zakharia [d]
Dezvoltator Apache Software Foundation
Scris in Scala [2] [1] , Java [1] , Python [1] , R [1] , SQL [1] și Java Database Connectivity [1]
Sistem de operare Microsoft Windows , Linux și macOS
Prima editie 30 mai 2014 și 1 martie 2014 [1]
Platformă hardware Mașină virtuală Java
ultima versiune
Formate de fișiere care pot fi citite JSON [4] , CSV [4] , fișier text [4] , Apache Parquet [d] [4] , Optimized Row Columnar [d] [5] și Apache Avro [d] [6]
Formate de fișiere generate CSV [5] , JSON [5] , Apache Parquet [d] [5] , Text File [5] , Optimized Row Columnar [d] [5] și Apache Avro [d] [6]
Licență Licență Apache 2.0 și BSD
Site-ul web spark.apache.org
 Fișiere media la Wikimedia Commons

Apache Spark (din engleza  spark  - spark, flash) este un cadru open source pentru implementarea procesării distribuite a datelor nestructurate și semi-structurate, care face parte din ecosistemul de proiecte Hadoop . Spre deosebire de procesorul clasic din nucleul Hadoop, care implementează conceptul MapReduce pe două niveluri cu stocarea datelor intermediare pe unități, Spark funcționează în paradigma de calcul în memorie - procesează datele în RAM , datorită căruia vă permite să obțineți o valoare semnificativă. câștig de viteză pentru unele clase de probleme [7] , în special, posibilitatea de acces multiplu la datele utilizatorului încărcate în memorie face ca biblioteca să fie atractivă pentru algoritmii de învățare automată [8] .  

Proiectul oferă API- uri pentru Java , Scala , Python , R. Scris inițial în Scala , o cantitate substanțială de cod Java a fost adăugată de atunci pentru a permite scrierea programelor direct în Java. Constă dintr-un nucleu și mai multe extensii, cum ar fi Spark SQL (vă permite să executați interogări SQL pe date), Spark Streaming (un add-on pentru procesarea datelor în flux), Spark MLlib (un set de biblioteci de învățare automată), GraphX (conceput pentru procesarea grafică distribuită). Poate funcționa atât într-un mediu de cluster Hadoop care rulează YARN , cât și fără componente de bază Hadoop, acceptă mai multe sisteme de stocare distribuite - HDFS , OpenStack Swift , NoSQL -DBMS Cassandra , Amazon S3 .

Autorul cheie este informaticianul româno-canadian Matei Zaharia , care a început să lucreze la proiect în 2009 ca student absolvent la Universitatea din California din Berkeley .  În 2010, proiectul a fost publicat sub licență BSD , în 2013 a fost transferat la Apache Foundation și transferat la licența Apache 2.0 , în 2014 a fost acceptat ca proiect Apache de nivel superior. În 2022, proiectul a primit premiul anual SIGMOD la categoria Sisteme [9] .

Note

  1. 1 2 3 4 5 6 7 https://projects.apache.org/json/projects/spark.json
  2. Proiectul Apache-Spark Open Source pe Open Hub: Pagina de limbi - 2006.
  3. Versiunea 3.3.0 - 2022.
  4. 1 2 3 4 http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.DataFrameReader
  5. 1 2 3 4 5 6 http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.DataFrameWriter
  6. 1 2 https://spark.apache.org/docs/latest/sql-data-sources-avro.html
  7. Xin, Reynold; Rosen, Josh; Zaharia, Matei; Franklin, Michael; Shenker, Scott; Stoica, Ion. Shark: SQL și analize bogate la scară  (engleză)  : jurnal. - 2013. - Iunie. Arhivat din original pe 9 august 2017.
  8. Matei Zaharia. Spark: Cluster Computing în memorie pentru aplicații iterative și interactive . Arhivat pe 15 iunie 2016 la Wayback Machine
  9. Premiul SIGMOD Systems 2022 . ACM (10 mai 2022). Preluat la 27 mai 2022. Arhivat din original la 15 iunie 2022.

Literatură

Link -uri