Kio estas Apache Fajrero?

Superrigardo: Apache fajrero Estas alta elfaro ĝenerala motoro uzita pretigi grandan skalan datumon. Ĝi estas malferma fonta kadro uzita por grapola komputiko. Celo de ĉi tiu kadro estas fari la datumon analiza pli rapida – Ambaŭ en terminoj de evoluado kaj ekzekuto. En ĉi tiu dokumento, Mi parolos pri Apache Fajrero kaj diskuti la diversajn flankojn de ĉi tiu kadro.

Enkonduko: Apache fajrero estas malferma fonta kadro por grapola komputiko. Ĝi estas konstruita supre de la Hadoop Distribuita Dosieran Sistemon (HDFS). Ĝi ne uzas la du stadia mapo reduktas paradigm. Sed samtempe ĝi promesas ĝis 100 Oble pli rapida elfaro por certaj aplikoj. Inciti ankaŭ provizas la komencajn kondukojn por grapola komputiko ene de la memoro. Tio ĉi ebligas la aplikajn programojn ŝarĝi la datumon en la memoro de grapolo por ke ĝi povas esti pridemandita multfoje. Tio ĉi En-memoro Komputadaj faroj Incitas unu el la plej grava ero en granda datuma komputado mondo.

Ĉefaĵoj: Nun lasita nin diskuti la ĉefaĵojn en raporto. Apache Fajrero venas supre kun la sekvantaj ĉefaĵoj:

  • APIs bazita sur Java, Scala kaj Python.
  • Scalability varianta de 80 Al 100 Nodoj.
  • Kapableco al konservejo dataset ene de la memoro por interaktiva datuma aro. Ekz. Eltiri laborantan aron, Konservejo ĝi kaj pridemandi ĝin multfoje.
  • Efika biblioteko por Rivereta pretigo.
  • Efika biblioteko por Maŝina lernado Kaj Grafea pretigo.

Dum parolanta pri Fajrero en la kunteksto de datuma scienco ĝi estas rimarkita ke fajrero havas la kapablecon daŭrigi la loĝantan datumon en la memoro. Ĉi tiu alproksimiĝo plibonigas la elfaron kiel komparita mapi redukti. Rigardanta de la supro, Fajrero enhavas ŝoforan programon kiu kuras la ĉefan metodon de la kliento kaj efektivigas diversajn operaciojn en paralela maniero sur clustered medio.

Fajrero provizas fortika distribuis dataset (RDD) Kiu estas kolekto de elementoj kiu estas distribuita trans la malsamaj nodoj de grapolo, Por ke ili povas esti efektivigita en paralelo. Fajrero havas la kapablecon enteni RDD en la memoro, Kaj tiel permesanta ĝin esti reused efike trans paralela ekzekuto. RDDs povas ankaŭ aŭtomate retrovi en kazo de la noda malsukceso.

Inciti ankaŭ provizas dividita variables kiu estas uzita en paralelaj operacioj. Kiam fajreraj kuroj en paralelo kiel aro de taskoj sur malsamaj nodoj, Ĝi translokigas kopion de ĉiu varia al ĉiu tasko. Ĉi tiuj variables estas ankaŭ dividita trans malsamaj taskoj. En fajrero ni havas du tipojn de komuna variables –

  • Elsendi variables – Uzita al konservejo valoro en memoro
  • Akumulatoroj – Uzita en kazo de sumigiloj kaj sumoj.

Formanta Fajreron:

Fajrero provizas tri ĉefajn areojn por konfiguracio:

  • Fajreraj nemoveblaĵoj – Tio ĉi kontrolas plejparto de la apliko kaj povas esti fiksita de ajna uzanta la SparkConf Objekto aŭ kun la helpo de Java sistemaj nemoveblaĵoj.
  • Medio Variables – Ĉi tiuj povas esti uzita formi maŝinon bazita fiksojn ekz. ip adreso kun la helpo de Conf/fajrero-env.Sh Skribo sur ĉiu ununura nodo.
  • Arbohakanta – Tio ĉi povas esti formita uzanta la norman log4j nemoveblaĵoj.

Fajreraj Nemoveblaĵoj: Fajreraj nemoveblaĵoj kontrolas plejparto de la aplikaj fiksoj kaj devus esti formita aparte por apartaj aplikoj. Ĉi tiuj nemoveblaĵoj povas esti fiksita uzanta la SparkConf objekto kaj estas pasita al la SparkContext. SparkConf permesas nin formi plejparto de la oftaj nemoveblaĵoj al initialize. Uzanta la aron () Metodo de SparkConf klaso ni ankaŭ povas fiksita kernajn valorajn parojn. Ekzempla kodo uzanta la aron () Metodo estas montrita sub –

Enlistiganta 1: Provi montranta la Aran metodon

Val conf = nova SparkConf ()

. SetMaster( “Aws” )

. SetAppName( “Mia Ekzempla FAJRERA apliko” )

. Fiksita( “Fajrero.Executor.Memoro” , “1G” )

Val sc = nova SparkContext (Conf)

Kelkaj de la oftaj nemoveblaĵoj estas –
• Fajrero.Executor.Memoro – Tio ĉi indikas la kvanton de memoro esti uzita por executor. •
• Fajrero.Serializer – Klasifiki uzita al serialize objektoj kiu estos sendita super la reto. Pro tio ke la nerepago java serialization estas tre malrapida, Ĝi estas rekomendita uzi la org.Apache.Fajrero.Serializer.JavaSerializer klaso akiri pli bonan elfaron.
• Fajrero.Kryo.Registrator – Klasifiki uzita registri la laŭmendajn klasojn se ni uzas la Kyro serialization
• Fajrero.Tieulo.Dir – Lokoj kiu fajreraj uzoj kiel grataĵa spaco enteni la mapajn produktadajn dosierojn.
• Fajrero.Kernoj.Max – Uzita en aŭtonoma maniero specifi la maksimuman kvanton de CPUaj kernoj peti.

Medio Variables: Kelkaj de la fajreraj fiksoj povas esti formita uzanta la medion variables kiu estas difinita en la conf/fajrero-env.Sh skriba dosiero. Ĉi tiuj estas maŝino specifaj fiksoj ekz. biblioteka serĉo vojo, Java vojo ktp. Kelkaj de la ofte uzita medio variables estas –

  • JAVAa_HEJMO – Loko kie JAVA estas instalita sur via sistemo.
  • PYSPARK_PYTHON – La python biblioteko uzita por PYSPARK.
  • INCITI_LOKAN_IP – IPa adreso de la maŝino kiu estas esti ligita.
  • INCITI_CLASSPATH – Uzita aldoni la bibliotekojn kiu estas uzita ĉe runtime efektivigi.
  • FAJRERA_JAVA_OPTS – Uzita aldoni la JVMajn elektojn

Arbohakanta: Fajrero uzas la norman Log4j API por arbohakanta kiun povas esti formita uzanta la log4j. Nemoveblaĵa dosiero.

Initializing Fajrero:

Komenci kun fajrera programo, La unua afero estas krei JavaSparkContext objekto, Kiu diras fajreron aliri la grapolon. Krei fajreran kuntekston ni unue kreas fajreron conf objekto kiel montrita sub:

Enlistiganta 2: Initializing la fajrera kunteksta objekto

SparkConfconfig=newSparkConf().SetAppName(ApplicationName).SetMaster(Mastro);

JavaSparkContextconext=newJavaSparkContext(Config);

La parametro applicationName estas la nomo de nia apliko kiu estas montrita sur la grapola UI. La parametra mastro estas la grapola URL aŭ loka ŝnuro uzita kuri en loka maniero.

Fortika Distribuis Datasets (RDDs):

Fajrero estas bazita sur la koncepto de fortika distribuis dataset aŭ RDD. RDD estas misfaro-tolerant kolekto de elementoj kiu povas esti funkciita en paralelo. RDD povas esti kreita uzanta aŭ de la sekvanta du manieroj:

  • De Parallelizing ekzistanta kolekto – Parallelized kolektoj estas kreita de vokanta la parallelize metodo de la JavaSparkContext klaso en la ŝofora programo. Elementoj de la kolekto estas kopiita de ekzistanta kolekto kiu povas esti funkciita en paralelo.
  • De Referencanta la dataset sur ekstera tenada sistemo – Fajrero havas la kapablecon krei distribuita datasets de ajna Hadoop subtenita tenadan spacon ekz. HDFS, Cassendra, Hbase ktp.

RDDaj Operacioj:

RDDaj subtenoj du tipoj de operacioj –

  • Transformoj – Uzita krei novan datasets de ekzistanta unu.
  • Agoj – Tio ĉi revenas valoron al la ŝofora programo post efektiviganta la kodon sur la dataset.

En RDD la transformoj estas maldiligentaj. Transformoj ne komputas iliajn rezultojn tuj. Prefere ili nur memoras la transformojn kiu estas aplikita al la bazo datasets.

Resuma: Do en la supra diskuto mi klarigis malsamajn flankojn de Apache FAJRERA kadro kaj ĝia efektivigo. La elfaro de FAJRERO super normala MapReduce laborposteno estas ankaŭ unu el la plej gravaj flankoj ni devus kompreni klare.

Lasi nin konkludi nian diskuton en la sekvantaj kugloj:

  • Fajrero estas kadro prezentita de Apache kiu liveras altan elfaran serĉon motoro uzita pretigi grandan skalon de datumo.
  • Evoluigis supre de HDFS, Sed ĝi ne uzas la mapon reduktas paradigm.
  • Fajreraj promesoj 100 Oble pli rapida elfaro ol Hadoop.
  • Inciti plej bone elfaras sur grapoloj.
  • Fajrero povas grimpi ĝis gamo de 80 Al 100 Nodoj.
  • Fajrero havas la kapablecon al konservejo la datasets
  • Fajrero povas esti formita kun la helpo de nemoveblaĵa dosiero kaj iu medio variables.
  • Fajrero estas bazita sur fortika distribuis datasets (RDD) Kiu estas kolekto de misfaro tolerant objektoj.
Etikedita sur:
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share