Apache Spark

Apache Spark
Sorts ramverk , stödramverk för maskininlärning [d] och cloud computing
Författare Matei Zakharia [d]
Utvecklaren Apache Software Foundation
Skrivet i Scala [2] [1] , Java [1] , Python [1] , R [1] , SQL [1] och Java Database Connectivity [1]
Operativ system Microsoft Windows , Linux och macOS
Första upplagan 30 maj 2014 och 1 mars 2014 [1]
Hårdvaruplattform Java Virtual Machine
senaste versionen
Läsbara filformat JSON [4] , CSV [4] , textfil [4] , Apache Parquet [d] [4] , Optimized Row Columnar [d] [5] och Apache Avro [d] [6]
Genererade filformat CSV [5] , JSON [5] , Apache Parquet [d] [5] , Text File [5] , Optimized Row Columnar [d] [5] och Apache Avro [d] [6]
Licens Apache License 2.0 och BSD
Hemsida spark.apache.org
 Mediafiler på Wikimedia Commons

Apache Spark (från engelska  spark  -spark, flash) är ett ramverk med öppen källkod för att implementera distribuerad bearbetning av ostrukturerad och semistrukturerad data, som är en del av Hadoops ekosystem av projekt . Till skillnad från den klassiska processorn från Hadoop-kärnan, som implementerar MapReduce -konceptet på två nivåer med lagring av mellanliggande data på enheter, arbetar Spark i minnesdataparadigmet - den bearbetar data i RAM , tack vare vilken den låter dig få en betydande öka hastigheten för vissa klasser av problem [7] , i synnerhet möjligheten för multipel åtkomst till användardata som laddas in i minnet gör biblioteket attraktivt för maskininlärningsalgoritmer [8] .  

Projektet tillhandahåller API : er för Java , Scala , Python , R. Ursprungligen skriven i Scala , har en betydande mängd Java-kod sedan lagts till för att göra det möjligt att skriva program direkt i Java. Den består av en kärna och flera tillägg, såsom Spark SQL (låter dig köra SQL -frågor på data), Spark Streaming (ett tillägg för att bearbeta strömmande data), Spark MLlib (en uppsättning maskininlärningsbibliotek), GraphX (designad för distribuerad grafbehandling). Det kan fungera både i en Hadoop-klustermiljö som kör YARN , och utan Hadoop-kärnkomponenter, stöder flera distribuerade lagringssystem - HDFS , OpenStack Swift , NoSQL -DBMS Cassandra , Amazon S3 .

Nyckelförfattaren är den rumänsk-kanadensiske datavetaren Matei Zaharia , som började arbeta med projektet 2009 som doktorand vid University of California i Berkeley .  2010 publicerades projektet under BSD-licensen , 2013 överfördes det till Apache Foundation och överfördes till Apache 2.0 -licensen , 2014 accepterades det som ett Apache-toppnivåprojekt. 2022 fick projektet det årliga utmärkelsen SIGMOD i kategorin System [9] .

Anteckningar

  1. 1 2 3 4 5 6 7 https://projects.apache.org/json/projects/spark.json
  2. Apache-spark Open Source Project på Open Hub: Languages-sidan - 2006.
  3. Utgåva 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 and Rich Analytics at Scale  (engelska)  : tidskrift. - 2013. - Juni. Arkiverad från originalet den 9 augusti 2017.
  8. Matei Zaharia. Spark: In-Memory Cluster Computing för iterativa och interaktiva applikationer . Arkiverad 15 juni 2016 på Wayback Machine
  9. 2022 SIGMOD Systems Award . ACM (10 maj 2022). Hämtad 27 maj 2022. Arkiverad från originalet 15 juni 2022.

Litteratur

Länkar