Innholdsfortegnelse:
Video: WebWeka Tutorial #1: Getting Started 2025
I begynnelsen var store data og R ikke naturlige venner. R programmering krever at alle objekter lastes inn i hovedminnet til en enkelt maskin. Begrensningene i denne arkitekturen blir raskt realisert når store data blir en del av ligningen.
I motsetning til distribuerte filsystemer som Hadoop mangler sterke statistiske teknikker, men er ideelle for å måle komplekse operasjoner og oppgaver. Vertikale skaleringsløsninger - som krever investering i kostbar supercomputer-maskinvare - kan ofte ikke konkurrere med kostnadseffektiv avkastning som tilbys av distribuerte, hardwarevareklynger.
For å overholde begrensningene i R-språket i minnet, må dataforskere ofte begrense analysen til bare en delmengde av tilgjengelige eksempeldata. Før dypere integrasjon med Hadoop, tilbød R språkprogrammerer en målestokkstrategi for å overvinne utfordringene i minnet som stod av store datasett på enkelte maskiner.
Dette ble oppnådd ved hjelp av meldingspasserende systemer og personsøking. Denne teknikken er i stand til å lette arbeidet over datasett for stor til å lagre i hovedminnet samtidig; Imidlertid presenterer programmet for lavt nivå programmering en bratt læringskurve for de som ikke er kjent med parallelle programmeringsparadigmer.
Alternative tilnærminger forsøker å integrere Rs statistiske evner med Hadops distribuerte klynger på to måter: sammenkobling med SQL-spørrespråk og integrasjon med Hadoop Streaming. Med førstnevnte er målet å utnytte eksisterende SQL data warehousing plattformer som Hive and Pig. Disse skjemaene forenkler Hadops jobbprogrammering ved hjelp av SQL-setninger for å gi programmer på høyt nivå for å utføre statistiske jobber over Hadoop-data.
For programmerere som ønsker å programmere MapReduce-jobber på språk (inkludert R) annet enn Java, er et annet alternativ å benytte Hadops Streaming API. Bruker-innsendte MapReduce-jobber gjennomgår datatransformasjoner ved hjelp av UNIX-standardstrømmer og serialisering, garanterer Java-kompatibel inngang til Hadoop - uavhengig av hvilket språk som opprinnelig ble levert av programmereren.
Utviklere fortsetter å utforske ulike strategier for å utnytte den distribuerte beregningsevnen til MapReduce og den nesten ubegrensede lagringskapasiteten til HDFS på måter som kan utnyttes av R.
Integrasjon av Hadoop med R pågår, med tilbud fra IBM (Big R som en del av BigInsights) og Revolution Analytics (Revolution R Enterprise). Bridging-løsninger som integrerer høyt nivå programmerings- og spørrende språk med Hadoop, som RHive og RHadoop, er også tilgjengelige.
Hvert system har som mål å levere de dype analytiske egenskapene til R-språket til mye større datamengder.
RHive
RHive-rammen fungerer som en bro mellom R-språket og Hive. RHive leverer de rike statistiske biblioteker og algoritmer til R til data lagret i Hadoop ved å utvide Hives SQL-lignende spørrespråk (HiveQL) med R-spesifikke funksjoner. Gjennom RHive-funksjonene kan du bruke HiveQL til å bruke R statistiske modeller til data i Hadoop-klyngen du har katalogisert ved hjelp av Hive.
RHadoop
En annen åpen kildekode ramme tilgjengelig for R programmører er RHadoop, en samling av pakker ment å hjelpe til med å administrere distribusjon og analyse av data med Hadoop. Tre pakker med notat - rmr2, rhdfs og rhbase - gir det meste av RHadops funksjonalitet:
-
rmr2: Rmr2-pakken støtter oversettelse av R-språket til Hadoop-kompatible MapReduce-jobber (produserer effektiv, lavnivå MapReduce-kode fra høyere R-kode).
-
rhdfs: Rhdfs-pakken inneholder en R-språk-API for filbehandling over HDFS-butikker. Ved hjelp av rhdfs kan brukere lese fra HDFS-butikker til en R-dataramme (matrise), og på samme måte skrive data fra disse R-matrices tilbake til HDFS-lagring.
-
rhbase: rhbase-pakker gir også en R-språk-API, men deres mål i livet er å håndtere databasebehandling for HBase-butikker, i stedet for HDFS-filer.
Revolusjon R
Revolusjon R (ved Revolution Analytics) er et kommersielt R-tilbud med støtte for R-integrasjon på Hadoop distribuerte systemer. Revolusjon R lover å levere forbedret ytelse, funksjonalitet og brukervennlighet for R på Hadoop. For å gi dyp analyse som er relatert til R, gjør Revolution R bruk av selskapets ScaleR-bibliotek - en samling av statistiske analysalgoritmer utviklet spesielt for store datasamlinger i bedriftskala.
ScaleR har som mål å levere rask utførelse av R-programkoden på Hadoop-klynger, slik at R-utvikleren kun kan fokusere på sine statistiske algoritmer og ikke på MapReduce. Videre håndterer den en rekke analytiske oppgaver, for eksempel dataforberedelse, visualisering og statistiske tester.
IBM BigInsights Big R
Big R tilbyr end-to-end-integrasjon mellom R og IBMs Hadoop-tilbud, BigInsights, slik at R-utviklere kan analysere Hadoop-data. Målet er å utnytte Rs programmeringssyntax og kodingsparadigmer, samtidig som man sikrer at dataene som drives ved opphold i HDFS. R datatyper tjener som proxy til disse datalagerene, noe som betyr at R-utviklere ikke trenger å tenke på lavnivå MapReduce-konstruksjoner eller Hadoop-spesifikke skriptspråk (som Pig).
BigInsights Big R-teknologien støtter flere datakilder - inkludert flatfiler, HBase- og Hive-lagringsformater - samtidig som de gir parallell og partisjonert utførelse av R-kode over Hadoop-klyngen. Den skjuler mange av kompleksiteten i de underliggende HDFS- og MapReduce-rammene, slik at Big R-funksjoner utfører omfattende dataanalyser - både på strukturert og ustrukturert data.
Endelig lar skalbarheten til Big Rs statistiske motor R-utviklere å benytte seg av både forhåndsdefinerte statistiske teknikker, samt forfattere nye algoritmer selv.
