Apache Spark

Apache Spark
Type framework , maskinlæringsstøtteramme [d] og cloud computing
Forfatter Matei Zakharia [d]
Udvikler Apache Software Foundation
Skrevet i Scala [2] [1] , Java [1] , Python [1] , R [1] , SQL [1] og Java Database Connectivity [1]
Operativ system Microsoft Windows , Linux og macOS
Første udgave 30. maj 2014 og 1. marts 2014 [1]
Hardware platform Java virtuel maskine
nyeste version
Læsbare filformater JSON [4] , CSV [4] , tekstfil [4] , Apache Parket [d] [4] , Optimized Row Columnar [d] [5] og Apache Avro [d] [6]
Genererede filformater CSV [5] , JSON [5] , Apache Parket [d] [5] , Tekstfil [5] , Optimized Row Columnar [d] [5] og Apache Avro [d] [6]
Licens Apache License 2.0 og BSD
Internet side spark.apache.org
 Mediefiler på Wikimedia Commons

Apache Spark (fra engelsk  spark  -spark, flash) er en open source-ramme til implementering af distribueret behandling af ustrukturerede og semistrukturerede data, som er en del af Hadoop -økosystemet af projekter . I modsætning til den klassiske processor fra Hadoop-kernen, som implementerer MapReduce -konceptet i to niveauer med lagring af mellemliggende data på drev, opererer Spark i in-memory computing-paradigmet - den behandler data i RAM , takket være hvilket det giver dig mulighed for at få en betydelig vinde i hastighed for nogle klasser af problemer [7] , især muligheden for flere adgang til brugerdata indlæst i hukommelsen gør biblioteket attraktivt for maskinlæringsalgoritmer [8] .  

Projektet leverer API'er til Java , Scala , Python , R. Oprindeligt skrevet i Scala , er en betydelig mængde Java-kode siden blevet tilføjet for at gøre det muligt at skrive programmer direkte i Java. Den består af en kerne og flere udvidelser, såsom Spark SQL (giver dig mulighed for at udføre SQL -forespørgsler på data), Spark Streaming (en tilføjelse til behandling af streamingdata), Spark MLlib (et sæt maskinlæringsbiblioteker), GraphX (designet til distribueret grafbehandling). Det kan fungere både i et Hadoop-klyngemiljø, der kører YARN , og uden Hadoop-kernekomponenter, understøtter flere distribuerede lagringssystemer - HDFS , OpenStack Swift , NoSQL -DBMS Cassandra , Amazon S3 .

Nøgleforfatteren er den rumænsk-canadiske datalog Matei Zaharia , der begyndte arbejdet med projektet i 2009 som kandidatstuderende ved University of California i Berkeley .  I 2010 blev projektet offentliggjort under BSD-licensen , i 2013 blev det overført til Apache Foundation og overført til Apache 2.0 -licensen , i 2014 blev det accepteret som et Apache-topniveau-projekt. I 2022 modtog projektet den årlige SIGMOD- pris i kategorien Systemer [9] .

Noter

  1. 1 2 3 4 5 6 7 https://projects.apache.org/json/projects/spark.json
  2. Apache-spark Open Source-projektet på Open Hub: Languages-side - 2006.
  3. Udgivelse 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  (engelsk)  : tidsskrift. - 2013. - Juni. Arkiveret fra originalen den 9. august 2017.
  8. Matei Zaharia. Spark: In-Memory Cluster Computing til iterative og interaktive applikationer . Arkiveret 15. juni 2016 på Wayback Machine
  9. 2022 SIGMOD Systems Award . ACM (10. maj 2022). Hentet 27. maj 2022. Arkiveret fra originalen 15. juni 2022.

Litteratur

Links