Programmēšana

Piecas lietas, kas jums jāzina par Hadoop pret Apache Spark

Klausieties jebkuru sarunu par lielajiem datiem, un jūs, iespējams, dzirdēsiet pieminēt Hadoop vai Apache Spark. Šeit ir īss ieskats, ko viņi dara un kā viņi salīdzina.

1: Viņi dara dažādas lietas. Hadoop un Apache Spark abi ir lielo datu ietvari, taču tie patiesībā nedarbojas vieniem un tiem pašiem mērķiem. Hadoop būtībā ir izplatīta datu infrastruktūra: tā izplata masīvas datu kolekcijas vairākos mezglos preču serveru klasterī, kas nozīmē, ka jums nav jāpērk un jāuztur dārga pielāgota aparatūra. Tas arī indeksē un seko šiem datiem, ļaujot lielo datu apstrādi un analīzi veikt daudz efektīvāk, nekā tas bija iespējams iepriekš. No otras puses, Spark ir datu apstrādes rīks, kas darbojas ar šīm izplatītajām datu kolekcijām; tā neveic sadalītu krātuvi.

2: Jūs varat izmantot vienu bez otra. Hadoop ietver ne tikai glabāšanas komponentu, kas pazīstams kā Hadoop Distributed File System, bet arī apstrādes komponentu MapReduce, tāpēc jums nav nepieciešama Spark, lai veiktu apstrādi. Un otrādi, jūs varat izmantot arī Spark bez Hadoop. Spark tomēr nav sava failu pārvaldības sistēma, tāpēc tā ir jāintegrē ar vienu - ja ne HDFS, tad citu mākoņa datu platformu. Spark tika izstrādāts Hadoopam, taču tik daudzi piekrīt, ka viņi ir labāki kopā.

3: dzirksts ir ātrāks. Spark parasti ir daudz ātrāks nekā MapReduce datu apstrādes veida dēļ. Kamēr MapReduce darbojas pakāpeniski, Spark darbojas vienā reizē ar visu datu kopu. "MapReduce darbplūsma izskatās šādi: nolasiet datus no klastera, veiciet darbību, uzrakstiet klastera rezultātus, lasiet atjauninātus datus no klastera, veiciet nākamo darbību, uzrakstiet nākamos klastera rezultātus utt.," Skaidroja Kirk Borne, Booza Alena Hamiltona galvenais datu zinātnieks. Savukārt Spark pabeidz pilnīgas datu analīzes darbības atmiņā un gandrīz reāllaikā: "Lasiet datus no kopas, veiciet visas nepieciešamās analītiskās darbības, ierakstiet rezultātus kopai, izdarīts," sacīja Borne. Viņš teica, ka dzirksteļošana var būt pat 10 reizes ātrāka nekā MapReduce sērijveida apstrādei un līdz pat 100 reizēm ātrāka atmiņas analītikai.

4: Jums var nebūt vajadzīgs Spark ātrums. MapReduce apstrādes stils var būt lieliski, ja jūsu datu operācijas un pārskatu sniegšanas prasības galvenokārt ir statiskas un jūs varat gaidīt pakešdarbu. Bet, ja jums ir jāveic datu straumēšanas analīze, piemēram, no sensoriem rūpnīcas stāvā, vai jums ir lietojumprogrammas, kurām nepieciešama vairākas darbības, jūs, iespējams, vēlaties izmantot Spark. Piemēram, lielākajai daļai mašīnmācīšanās algoritmu ir nepieciešamas vairākas darbības. Spark izplatītās lietojumprogrammas ietver reāllaika mārketinga kampaņas, tiešsaistes produktu ieteikumus, kiberdrošības analīzi un mašīnu žurnālu uzraudzību.

5: Neveiksmes atgūšana: atšķirīga, bet tomēr laba. Hadoop ir dabiski izturīgs pret sistēmas kļūmēm vai kļūmēm, jo ​​dati pēc katras operācijas tiek ierakstīti diskā, taču Spark ir līdzīga iebūvēta elastība, ņemot vērā faktu, ka tā datu objekti tiek glabāti tā dēvētajās elastīgajās izplatītajās datu kopās, kas izplatītas pa datu kopu. "Šos datu objektus var saglabāt atmiņā vai diskos, un RDD nodrošina pilnīgu atkopšanu no kļūdām vai kļūmēm," norādīja Borne.

$config[zx-auto] not found$config[zx-overlay] not found