У чым розніца паміж Apache Flink і Apache Spark?


адказ 1:

Па-першае, давайце разбярэмся ў тым, што гэтыя дзве тэхналогіі - Apache Spark і Apache Flink.

Apache Spark і Flink - гэта вялікія інструменты перадачы дадзеных новага пакалення, якія прыцягваюць увагу галіны. Абодва прапануюць падключэнне да баз дадзеных Hadoop і NoSQL і могуць апрацоўваць дадзеныя HDFS.

Аднак з-за сваёй базавай архітэктуры Nimble хутчэйшы, чым Іскра. Іскры лічацца вялікімі дадзенымі 3G, у той час як Flink лічыцца вялікімі дадзенымі 4G.

Apache Spark - вельмі актыўны кампанент у сховішчы Apache. Spark мае вельмі моцную падтрымку супольнасці і вялікую колькасць удзельнікаў. Іскра ўжо выкарыстоўвалася ў вытворчасці. Аднак, з пункту гледжання магчымасці паток, Flink значна лепш, чым Spark і прапануе родную падтрымку.

Давайце пяройдзем да ўступнай часткі Apache Spark і Apache Flink.

Уводзіны:

Апачэ іскры

Apache Spark - гэта кластарная вылічальная сістэма з адкрытым зыходным кодам, якая прадастаўляе API высокага ўзроўню ў Java, Scala, Python і R. Ён можа атрымаць доступ да дадзеных з HDFS, Cassandra, HBase, Hive, Tachyon і любых крыніц дадзеных Hadoop. Запусціце аўтаномны менеджэр кластараў, YARN і Mesos.

Апач Спрытны

Apache Flink - гэта платформа з адкрытым зыходным кодам, якая ўяўляе сабой рухавік патоку перадачы дадзеных, які забяспечвае сувязь, дапушчальную памылку і размеркаванне дадзеных для размеркаваных вылічэнняў па патоках дадзеных.

Зараз паглядзіце на разумнае параўнанне Apache Spark і Apache Flink.

1. Мадэль разліку:

Апачэ іскры

Іскра заснавана на мадэлі мікра-партыі.

Апач Спрытны

Flink заснаваны на вылічальнай мадэлі аператара.

2.Струменевы рухавік:

Апачэ іскры

Apache Spark выкарыстоўвае мікраблокі для ўсіх нагрузак. Аднак гэтага недастаткова для выпадкаў выкарыстання, калі вялікія патокі дадзеных павінны быць апрацаваны і вынікі павінны быць прадастаўлены ў рэжыме рэальнага часу.

Апач Спрытны

Apache Flink выкарыстоўвае патокі для ўсіх працоўных нагрузак: струменевага, SQL, мікра-і пакетнага. Пакет - гэта абмежаваны набор струменевых дадзеных.

3. Ітэратыўная апрацоўка:

Апачэ іскры

Іскра заснавана на няроднай ітэрацыі, якая рэалізуецца як звычайная для цыклаў за межамі сістэмы.

Апач Спрытны

API Flink прапануе дзве спецыялізаваныя аперацыі ітэрацыі: Iterate і Delta Iterate.

4. Аптымізацыя:

Апачэ іскры

У Apache Spark заданні трэба аптымізаваць уручную.

Апач Спрытны

Apache Flink пастаўляецца з аптымізатарам, які не залежыць ад рэальнага інтэрфейсу праграмавання.

5. Затрымка:

Апачэ іскры

Apache Spark валодае высокай затрымкай у параўнанні з Apache Flink.

Апач Спрытны

Пры мінімальных намаганнях па наладжванні, час выканання струменевай перадачы дадзеных Apache Flink дасягае нізкай затрымкі і высокай прапускной здольнасці.

6. Хуткасць:

Апачэ іскры

Мадэль апрацоўкі Spark павольней, чым у Flink.

Апач Спрытны

Спрытны апрацоўвае дадзеныя з маланкавай хуткасцю.

Далейшае параўнанне паміж Apache Spark і Apache Flink можна знайсці па наступнай спасылцы: Apache Spark vs Apache Flink


адказ 2:

Я крыху змяніў пытанне, і ў наступным я даў функцыянальныя адрозненні паміж трыма найважнейшымі тэхналогіямі вялікіх дадзеных Hadoop і Spark (3 G Big Data) і Flink (4 G Big Data).

Рухавік апрацоўкі дадзеных

Па сутнасці, MapReduce ад Hadoop - гэта рухавік пакетнай апрацоўкі

Па сутнасці, Apache Spark - гэта рухавік пакетнай апрацоўкі

Па сутнасці, Apache Flink - гэта рухавік апрацоўкі патоку

Моўная падтрымка

Якая, але і іншыя мовы, такія як C, C ++, Ruby, Groovy, Perl і Python, падтрымліваюцца струменевай праграмай Hadoop

Падтрымлівае Java, Scala, Python і R.

Flink Падтрымлівае Java і Scala

Мова распрацавана

Hadoop быў распрацаваны ў Яве

Іскра развіта ў Scala

Flink была распрацавана ў Java & Scala

Хуткасць апрацоўкі

Map-Reduce апрацоўвае дадзеныя значна павольней, чым іскры і Flink.

Іскра апрацоўвае ў 100 разоў хутчэй, чым Map-Reduce, таму што гэта сістэма апрацоўкі памяці.

Flink апрацоўвае хутчэй, чым Spark, дзякуючы асноўнай сістэме струменевага перадачы.

Ітэратыўная апрацоўка

Не падтрымлівае ітэратыўную апрацоўку.

Іскры паўтараюць свае дадзеныя ў пакетах. У Spark кожная ітэрацыя павінна быць запланавана і выканана асобна для ітэратыўнай апрацоўкі.

Flink прапануе ўласную падтрымку ітэратыўнай апрацоўкі. Хутка ітэрыруе дадзеныя, выкарыстоўваючы яго струменевую архітэктуру. Спрытны можа быць даручаны апрацоўваць толькі тыя часткі дадзеных, якія фактычна змяніліся, што значна павялічыць прадукцыйнасць працы.

Апрацоўка патоку

Mapreduce - гэта чыста арыентаваны інструмент апрацоўкі дадзеных. Апрацоўка патоку не падтрымліваецца

Spark выкарыстоўвае мікраблокі для ўсіх струменевых нагрузак. Аднак гэтага недастаткова для выпадкаў выкарыстання, калі вялікія патокі дадзеных павінны быць апрацаваны і вынікі павінны быць прадастаўлены ў рэжыме рэальнага часу з нізкай затрымкай.

Apache Flink - сапраўдны струменевы рухавік. Ён выкарыстоўвае патокі для ўсіх нагрузак: струменевага, SQL, мікра-і пакетнага. Пакет - гэта абмежаваны набор струменевых дадзеных

Разліковая мадэль

Mapreduce прыняла пакетную арыентаваную мадэль. Batch па сутнасці апрацоўвае дадзеныя ў стане спакою, паглынае вялікую колькасць дадзеных адразу, апрацоўвае іх, а потым запісвае выснову.

Ядро Spark таксама варта за пакетнай мадэллю, але прыняла на сябе мікра-дазаванне. Мікрабачы ў асноўным выкарыстоўваюцца для апрацоўкі мадэляў дадзеных, якія апрацоўваюцца практычна ў рэжыме рэальнага часу.

Flink прадставіла мадэль струменевага кіравання на аснове аператара з бесперапынным патокам. Аператар бесперапыннага патоку апрацоўвае дадзеныя, як толькі ён паступае ў рэжым струменевага рэжыму, без затрымкі ў збору, пакуль дадзеныя не будуць апрацаваны.

Кіраванне памяццю

Hadoop прапануе наладжваць кіраванне памяццю. Адміністратар можа наладзіць яго з дапамогай файлаў канфігурацыі.

Spark прапануе кіраванае кіраванне сховішчамі, хоць Spark мае аўтаматызаванае кіраванне сховішчам з апошняй версіяй Spark 1.6.

Flink прапануе аўтаматычнае кіраванне памяццю. Ён мае ўласную сістэму кіравання памяццю, якая з'яўляецца асобнай ад зборшчыка смецця Java.

Крытэрыі Windows

НС

Spark мае часовыя крытэрыі акна.

Flink мае рэкорды на аснове запісаў, заснаваныя на часах альбо вызначаныя карыстачом крытэрыі.

Аптымізацыя

Заданні ў Mapreduce трэба аптымізаваць уручную.

У Apache Spark заданні трэба аптымізаваць уручную.

Хуткія заданні аўтаматычна аптымізуюцца. Flink пастаўляецца з аптымізатарам, які не залежыць ад рэальнага інтэрфейсу праграмавання.

Затрымка

Apache Hadoop мае больш высокую затрымку, чым іскры і флінк.

Apache Spark валодае высокай затрымкай у параўнанні з Apache Flink.

Пры мінімальных намаганнях па наладжванні, час выканання струменевай перадачы дадзеных Apache Flink дасягае нізкай затрымкі і высокай прапускной здольнасці. Flink можа апрацоўваць дадзеныя (з вельмі высокай хуткасцю і вялікім аб'ёмам) у мілісекундах.

Адмоўнасць

MapReduce вельмі памяркоўны. У выпадку памылкі прыкладанне не трэба перазапускаць з нуля.

Spark Streaming аднаўляе згубленую працу і адразу ж падае семантыку без дадатковага кода ці налады.

Механізм хітрасці, які падтрымліваецца Apache Flink, заснаваны на распаўсюджаных здымках Chandy-Lamport. Гэта лёгкі механізм, які прыводзіць да высокіх прапускных здольнасцей пры адначасовай гарантыі ўзгодненасці.

Прадукцыйнасць

Прадукцыйнасць Hadoop павольней, чым у Спарка і Флінка

Хоць Apache Spark мае выдатнае жыццё ў супольнасці і цяпер лічыцца самай сталай супольнасцю. Аднак апрацоўка патоку не так эфектыўная, як Apache Flink, таму што яна выкарыстоўвае мікра-пакетную апрацоўку.

Прадукцыйнасць Apache Flink выдатная ў параўнанні з іншымі модулямі апрацоўкі дадзеных. Flink выкарыстоўвае ітэрацыі з зачыненым цыклам, што робіць машыннае навучанне і апрацоўку графікі найбольш хуткім.

Двайная элімінацыя

НС

Працэс Spark апрацоўвае ўсе запісы роўна адзін раз, што дазваляе пазбегнуць дубліравання працы.

Apache Flink апрацоўвае кожную запіс дадзеных роўна адзін раз, што дазваляе пазбегнуць дублявання працы.

Сумяшчальнасць

Mapreduce і Spark сумяшчальныя паміж сабой.

MapReduce і Spark ўзаемна сумяшчальныя, і Spark падзяляе поўную сумяшчальнасць MapReduce для крыніц дадзеных, фарматаў файлаў і інструментаў бізнес-аналітыкі праз JDBC і ODBC.

Flink таксама цалкам сумяшчальны з Hadoop, ён можа апрацоўваць дадзеныя, якія захоўваюцца ў hadoop, і падтрымлівае ўсе фарматы файлаў / фарматы ўводу.

Бяспека

Hadoop падтрымлівае праверку сапраўднасці Kerberos, кіраваць якой крыху балюча. HDFS падтрымлівае спісы кантролю доступу (ACL) і традыцыйную мадэль дазволу на файлы. Аднак трэція асобы дазволілі кампаніям выкарыстоўваць Active Directory Kerberos і LDAP для праверкі сапраўднасці.

У цяперашні час бяспека Spark некалькі нізкая і падтрымлівае толькі аўтэнтыфікацыю пры дапамозе агульнага сакрэту (аўтэнтыфікацыя пароля). Іскрынка бяспекі заключаецца ў тым, што пры запуску Spark на Hadoop выкарыстоўваюцца HDLS ACL і дазволы на ўзроўні файла. Акрамя таго, Spark можа працаваць на YARN, каб выкарыстаць ідэнтыфікацыю Kerberos.

Flink падтрымлівае аўтэнтыфікацыю карыстальнікаў праз інфраструктуру Hadoop / Kerberos. Калі вы запусціце Flink на YARN, ён павінен працаваць бесперашкодна. Flink фіксуе жэтоны Kerberos карыстальніка, які адпраўляе праграмы, і выкарыстоўвае яго для праверкі сапраўднасці пры дапамозе пражы, HDFS і HBase. З дапамогай новага раздыма Flink, струменевыя праграмы могуць прайсці аўтэнтыфікацыю як брокеры патоку праз SSL

Ітэрацыйны паток дадзеных

Паток дадзеных MapReduce не мае цыклаў, але ўяўляе сабой ланцужок этапаў. У кожнай фазе вы загадзя выводзіце папярэднюю фазу і ўводзіце наступную фазу.

Хоць алгарытм ML з'яўляецца цыклічным патокам дадзеных, ён прадстаўлены як прамы ацыклічны графік у межах іскры

Спрытны працуе крыху інакш, чым іншыя. Яны падтрымліваюць графік кіраванай цыклічнай залежнасці падчас выканання. Гэта дазваляе ім вельмі эфектыўна прадстаўляць алгарытмы ML.

Візуалізацыя

Усе інструменты BI, такія як JasperSoft, SAP Business Objects, Qlikview, Tableu, Zoom Data і г.д., забяспечылі сувязь з hadoop і яго экасістэмай.

Усе інструменты BI, такія як JasperSoft, SAP Business Objects, Qlikview, Tableu, Zoom Data і г.д., забяспечваюць падключэнне да Spark. Іскра таксама можа быць інтэгравана з Apache. Ён прапануе аналіз дадзеных, запіс, а таксама распазнаванне, візуалізацыю і супрацоўніцтва.

Spark таксама прапануе вэб-інтэрфейс для адпраўкі і запуску заданняў. У выніку атрыманы план выканання можа быць візуалізаваны на гэтым інтэрфейсе.

Усе інструменты BI, такія як JasperSoft, SAP Business Objects, Qlikview, Tableu, Zoom Data, Zeppelin і г.д., забяспечылі сувязь з hadoop і яго экасістэмай.

Flink таксама прапануе вэб-інтэрфейс для адпраўкі і выканання заданняў. У выніку атрыманы план выканання можа быць візуалізаваны на гэтым інтэрфейсе.

Выдаткі

MapReduce звычайна можа працаваць на менш дарагім абсталяванні, паколькі ён не спрабуе захаваць усё ў памяці.

Паколькі Spark патрабуе шмат аператыўнай памяці для працы ў памяці, павелічэнне памяці кластара паступова павялічвае выдаткі.

Flink таксама патрабуе шмат аператыўнай памяці для працы ў памяці. Гэта павялічвае яго ў кластары, а выдаткі паступова павялічваюцца.

Маштабаванасць

Hadoop валодае неверагодным патэнцыялам маштабаванасці і выкарыстоўваецца ў вытворчасці на дзясятках тысяч вузлоў.

Іскра таксама маштабуецца. Мы ўсё яшчэ можам дадаць n вузлоў у кластар і былі выкарыстаны на тысячах вузлоў у вытворчасці.

Свіфт таксама маштабуецца; Мы ўсё яшчэ можам дадаць n вузлоў у кластар і былі выкарыстаны на тысячах вузлоў у вытворчасці.

Прастата ў выкарыстанні

Распрацоўшчыкі MapReduce павінны кадзіраваць кожны працэс уручную, што ўскладняе працу.

Іскру лёгка запраграмаваць, бо ёсць тоны аператараў высокага ўзроўню

Flink таксама вельмі лёгка запраграмаваць, бо ёсць тоны аператараў высокага ўзроўню

Інтэрактыўны рэжым

MapReduce не мае інтэрактыўнага рэжыму для апрацоўкі дадзеных.

Іскры могуць інтэрактыўна апрацоўваць дадзеныя.

Flink таксама можа апрацоўваць дадзеныя ў інтэрактыўным рэжыме

Аналіз у рэжыме рэальнага часу

MapReduce не падтрымлівае апрацоўку дадзеных у рэжыме рэальнага часу (апрацоўку патоку), паколькі яна была распрацавана для пакетнай апрацоўкі вялікай колькасці дадзеных.

Ён можа апрацоўваць дадзеныя ў амаль дадзеных у рэжыме рэальнага часу, то ёсць дадзеныя, атрыманыя з патокаў падзей у рэальным часе з хуткасцю тонаў падзей у секунду, але з вялікай затрымкай, паколькі выкарыстоўваецца мікрасхема мадэль.

Flink натуральна падтрымлівае аналіз дадзеных у рэжыме рэальнага часу. Хоць ён таксама прапануе хуткую пакетную апрацоўку дадзеных.

Планіроўшчык

Для планавання складаных працэсаў Mapreduce неабходны знешні планавальнік задач, як Озі

Дзякуючы падліку ў памяці, у Іскры ёсць уласны планавальнік

Flink можа выкарыстоўваць планавальнік пражы, але ў Flink таксама ёсць уласны планіроўшчык

Падтрымка SQL

З дапамогай Hadoop карыстальнікі могуць запускаць запыты SQL з дапамогай Apache Hive і Impala

Spark дазваляе карыстальнікам запускаць запыты SQL з дапамогай Spark SQL. Spark-SQL цесна інтэграваны ў ядро ​​Spark

Табліца Flink выкарыстоўвае API і SQL для выканання выразаў, падобных на SQL, і апрацоўкі структураваных дадзеных.

Кэшынг

MapReduce не можа захаваць дадзеныя ў памяці для будучых запытаў

Іскра можа кэшаваць дадзеныя ў памяці для далейшых ітэрацый, што павышае прадукцыйнасць

Flink можа таксама кэшаваць дадзеныя ў памяці для далейшых ітэрацый, што павышае прадукцыйнасць.

Патрабаванні да абсталявання

MapReduce працуе вельмі добра на стандартным абсталяванні

Spark патрабуе абсталявання сярэдняга і высокага ўзроўню.

Flink таксама патрабуе апаратнага забеспячэння сярэдняга і высокага класа

Машыннае навучанне

Hadoop дазваляе машыннае навучанне праз Apache Mahout.

Spark мае свае метады машыннага навучання, напрыклад MLlib. Алгарытмы машыннага навучання вельмі хутка, эфектыўна і аптымізаваны ў Spark за кошт вылічэнняў у памяці.

Flink мае FlinkML, бібліятэку машыннага навучання для Flink. Алгарытмы машыннага навучання вельмі хутка, эфектыўна і аптымізаваны ў Flink дзякуючы роднай падтрымцы ітэратыўнай апрацоўкі і вылічэння ў памяці.

Апрацоўка графікі

Hadoop MapReduce не падтрымлівае апрацоўку графікі. Мы можам выкарыстоўваць жырафа на верхняй частцы пражы, каб зрабіць графічны разлік.

Apache Spark можа рабіць апрацоўку графікі з GraphX

Apache Flink дазваляе маштабаваць апрацоўку графікі пры дапамозе Gelly. Апрацоўка графікі звычайна носіць ітэратыўны характар. Дзякуючы натуральнай падтрымцы ітэратыўнага алгарытму, Flink можа апрацоўваць дадзеныя графа вельмі эфектыўна.

Рэстаўрацыя

Mapreduce, вядома, устойлівы да сістэмных памылак і збояў. Гэта вельмі няспраўная сістэма.

Іскра дазваляе аднавіць раздзелы RDD на няспраўных вузлах шляхам пераразліку DAG. Ён таксама падтрымлівае стыль аднаўлення, аналагічны Hadoop, які выкарыстоўвае праверку, каб знізіць залежнасць ад RDD.

Flink таксама падтрымлівае механізм кантрольнага ўказання, які захоўвае стан акна ў крыніцах дадзеных і ў ракавіне дадзеных, а таксама статус, вызначаны карыстальнікам, які аднаўляе пакетнае / струменевае заданне пасля памылкі.

Радок кода

Hadoop 2.0 мае 1.20.000 радкоў кода

Apache Spark распрацаваны ўсяго ў 20 000 радкоў кода

- -

Ліцэнзія Apache

Ліцэнзія Apache 2

Ліцэнзія Apache 2

Ліцэнзія Apache 2

Ўстаноўка

Ўстаноўка Apache Hadoop складаная, таму што трэба наладзіць шмат файлаў

Apache Spark ўсталяваць адносна прасцей, чым Hadoop

Мантаж Apache Flink вельмі просты і просты.

Доступ дзяржавы

Поўнае сканаванне стану для кожнай партыі

Поўнае сканаванне стану для кожнай мікра партыі

Поўнае сканаванне стану і пошук значэння ключа

Высокая даступнасць

Hadoop можа быць наладжаны ў рэжыме вялікай даступнасці

Іскры можна наладзіць у рэжыме вялікай даступнасці

Flink можа быць наладжаны ў рэжыме вялікай даступнасці

Падключэнне Amazon S3

Забяспечвае падтрымку Amazon S3 і можа апрацоўваць дадзеныя, якія захоўваюцца ў S3

Забяспечвае падтрымку Amazon S3 і можа апрацоўваць дадзеныя, якія захоўваюцца ў S3

Забяспечвае падтрымку Amazon S3 і можа апрацоўваць дадзеныя, якія захоўваюцца ў S3

Выкарыстоўвайце

Аўтаномны, псеўда-размеркаваны, размеркаваны па кластарах

Аўтаномная, Пража, Меса

Аўтаномная пража

Перадача зваротнага ціску

НС

Праз ручную канфігурацыю

Тайна праз архітэктуру сістэмы

Пакаленне

Інструмент вялікіх дадзеных першага пакалення

Інструмент вялікіх дадзеных трэцяга пакалення

Інструмент вялікіх дадзеных 4-га пакалення

Аб'ём дадзеных

Hadoop можа эфектыўна апрацоўваць тысячы УАТ

Іскра можа эфектыўна апрацоўваць тысячы УВ дадзеных

Flink можа эфектыўна апрацоўваць тысячы АТС дадзеных

Сістэма захоўвання

Hadoop пастаўляецца з HDFS, самай надзейнай сістэмай захоўвання ў свеце

Іскра не мае сістэмы захоўвання, яна залежыць ад іншых сістэм захоўвання дадзеных, такіх як HDFS, S3, HBase, Cassandra і г.д.

Flink не мае сістэмы захоўвання, гэта залежыць ад іншых сістэм захоўвання дадзеных, такіх як HDFS, S3, HBase, Cassandra і г.д.

Кампаненты

Hadoop мае наступныя кампаненты

  • HDFS - Layer LayerYarn - Універсальны слой кіравання рэсурсаміMapReduce - Апрацоўчы пласт

Spark - гэта проста рухавік разліку, які можа выкарыстоўваць Hadoops HDFS і пражу для захоўвання і кіравання рэсурсамі

Flink таксама з'яўляецца рухавіком разліку, які можа выкарыстоўваць Hadoops HDFS і пражу для захоўвання і кіравання рэсурсамі

Запыт ручкі

Hadoop MapReduce можа задаволіць патрабаванні пакетнай апрацоўкі

Apache Spark можа:

  • Пакетная апрацоўка Інтэрактыўная апрацоўкаПалявая апрацоўка ў рэжыме рэальнага часуАпрацоўка графаІтэратыўная апрацоўкаУ апрацоўцы памяці

Apache Flink можа:

  • Пакетная апрацоўкаІнтэрактыўная апрацоўкаАпрацоўка ў рэжыме рэальнага часуАпрацоўка графаІтэратыўная апрацоўка (родная) Апрацоўка ў памяці

Рамка / платформа

Hadoop MapReduce - гэта аснова - яна можа задаволіць толькі пэўны тып патрабаванняў

Apache Spark - гэта вылічальная платформа, якая можа задавальняць патрабаванням розных тыпаў

Apache Flink - гэта агульная платформа для апрацоўкі дадзеных, якая можа задаволіць усе віды патрабаванняў.

Будучыня размаху

MapReduce Apache Hadoop стала першай асновай для задавальнення вялікіх патрабаванняў да дадзеных, але была абмежаваная пакетнай апрацоўкай.

Apache Spark забяспечвае агульную платформу для розных патрэб. У цяперашні час Spark кіруе галіной вялікіх дадзеных, але яе асноўнай з'яўляецца рухавік. З-за гэтага Spark абмежаваны і не можа адпавядаць рэальным патрабаванням апрацоўкі патоку. Таму прамысловасць пачала рухацца да спрытнага

Apache Flink - гэта абагульненая платформа, якая можа задаволіць усе віды патрабаванняў у галіны вялікіх дадзеных. Apache Flink - гэта будучыня галіны вялікіх дадзеных.

Я паспрабаваў зразумець усе адрозненні. Спадзяюся, гэта вам дапаможа. Калі ласка, каментуйце, калі нешта не хапае.


адказ 3:

Прывітанне

Што яны агульнага спачатку? Flink and Spark - гэта універсальныя платформы для апрацоўкі дадзеных і праекты верхняга ўзроўню Фонду праграмнага забеспячэння Apache (ASF). Яны маюць шырокі спектр прыкладанняў і могуць быць выкарыстаны для дзясяткаў вялікіх сцэнарыяў перадачы дадзеных. Дзякуючы такім пашырэнням, як SQL-запыты (Spark: Spark SQL, Flink: MRQL), апрацоўка графікі (Spark: GraphX, Flink: Спаржа (база) і Gelly (бібліятэка)), машыннае навучанне (Spark: MLlib, Flink: Flink ML) і Stream Апрацоўка (іскравая струменевая, хуткая струменевая). Абодва могуць працаваць у аўтаномным рэжыме, але многія выкарыстоўваюць іх у дадатак да Hadoop (YARN, HDFS). Яны падзяляюць магутныя паказчыкі з-за памяці.

Аднак спосабы дасягнення гэтай разнастайнасці і выпадкі, калі яны спецыялізуюцца, розныя.

Адрозненні: Спачатку я хачу даць дзве спасылкі, якія падрабязна паказваюць адрозненні паміж Flink і Spark, перш чым я абагульняю іх. Калі ў вас ёсць час, паглядзіце на Apache Flink - гэта 4G рамкі BigData Analytics і падабенствы і адрозненні Flink і Spark.

У адрозненне ад Flink, Spark да версіі 1.5.x не можа апрацоўваць запісы дадзеных, якія перавышаюць аператыўную памяць

Flink аптымізаваны для цыклічных альбо ітэратыўных працэсаў, выкарыстоўваючы ітэратыўныя пераўтварэнні для калекцый. Гэта дасягаецца шляхам аптымізацыі алгарытмаў злучэння, ланцужкі аператараў і паўторнага выкарыстання падзелаў і сартавання. Аднак Flink таксама з'яўляецца магутным інструментам для пакетнай апрацоўкі. Flink-Streaming апрацоўвае патокі дадзеных як сапраўдныя патокі, то ёсць элементы дадзеных адразу ж накіроўваюцца праграмай струменевай праграмы, як толькі яны паступаюць. Гэта дазваляе гнуткай аперацыі з вокнамі для патокаў. Акрамя таго, Flink прапануе вельмі моцны рэжым сумяшчальнасці, які дазваляе выкарыстоўваць існуючы шторм, памяншэнне карты, ... код у рухавіку выканання Flink.

Іскра, з іншага боку, заснавана на безаварыйна-размеркаваных запісах дадзеных (RDD). Гэтая (у асноўным) структура дадзеных у памяці дае магчымасць выклікаць функцыянальную парадыгму праграмавання. Ён здольны выконваць вялікія разлікі партыі, замарожваючы памяць. Spark-Streaming пакуе патокі дадзеных у міні-партыі, гэта значыць ён збірае ўсе дадзеныя, якія паступаюць на працягу пэўнага перыяду часу, і запускае звычайную пакетную праграму для сабраных дадзеных. Пакуль пакетная праграма працуе, дадзеныя для наступнай міні-партыі збіраюцца.

Ці заменіць Flink Hadoop?

Не, не будзе. Hadoop складаецца з розных частак:

  • HDFS - размеркаваная сістэма Hadoop YARN - яшчэ адзін перагаворшчык рэсурсаў (альбо кіраўнік рэсурсаў) MapReduce - Рамка пакетнай апрацоўкі ад Hadoop

HDFS і YARN па-ранейшаму неабходныя як неад'емная частка кластараў BigData. Гэтыя два ляжаць у аснове іншых распаўсюджаных тэхналогій, такіх як рухавікі размеркаваных запытаў або размеркаваныя базы дадзеных. Асноўнае выкарыстанне MapReduce - пакетная апрацоўка запісаў, якія перавышаюць аператыўную памяць кластара, у той час як Flink прызначаны для ітэратыўнай апрацоўкі. Увогуле гэтыя два могуць суіснаваць.

Крыніца: Стэк перапаўнення


адказ 4:

Apache Flink:

  • Flink заснаваны на вылічальнай мадэлі аператара. Apache Flink выкарыстоўвае патокі для ўсіх працоўных нагрузак: струменевага, SQL, мікра-і пакетнага. Пакет - гэта абмежаваны набор струменевых дадзеных. API Link прапануе дзве спецыялізаваныя аперацыі ітэрацыі: Iterate і Delta Iterate. Apache Flink пастаўляецца з аптымізатарам, які не залежыць ад рэальнага інтэрфейсу праграмавання. Пры мінімальных намаганнях па наладжванні, час выканання струменевай перадачы дадзеных Apache Flink дасягае нізкай затрымкі і высокай прапускной здольнасці. Apache Flink апрацоўвае кожную запіс дадзеных роўна адзін раз, што дазваляе пазбегнуць дублявання працы. Спасылка мае арыенціровачны крытэрый на аснове запісаў альбо на заказ. Спасылка прапануе аўтаматычнае кіраванне памяццю. Сувязь апрацоўвае дадзеныя з маланкавай хуткасцю

Apache Spark:

  • Іскра заснавана на мадэлі мікра-партыі. Парк выкарыстоўвае мікра-партыі для ўсіх нагрузак. Аднак гэтага недастаткова для выпадкаў выкарыстання, калі вялікія патокі дадзеных павінны быць апрацаваны і вынікі павінны быць прадастаўлены ў рэжыме рэальнага часу. Парк заснаваны на няроднай ітэрацыі, якая рэалізуецца як звычайная для цыклаў за межамі сістэмы. У Apache Spark заданні трэба аптымізаваць уручную. Apache Spark валодае высокай затрымкай у параўнанні з Apache Flink. Парк таксама апрацоўвае ўсе запісы роўна адзін раз, пазбягаючы дублявання работ. Парк мае часовыя крытэрыі акна. Парк прапануе наладжваць кіраванне памяццю. Spark 1.6, Spark таксама звярнуўся да аўтаматызацыі кіравання памяццю. Мадэль апрацоўкі Парка павольней, чым у Флінка

СКАЧАЦЬ PDF: Поўная тэма трыангування Hadoop