R gyökerű gyártói R változatok

Korcsmáros István
2018. február 19.

Az adattudósok egyik szabványos munkaeszköze az R nyelv. Népszerűsége folyamatosan nő, ahogy ezt a programozási nyelvek elterjedtségéről, az IEEE Spectrum által készített rangsor is mutatja.

gyártói R változatok

Az R elterjedését nagyban elősegítette, hogy megalkotói 1995-ben nyílt forráskódúvá tették és megengedték ingyenes használatát. Ez után igen népszerűvé vált akadémiai körökben és az egyetemi oktatásban. Manapság szinte minden frissen végzett szakember, aki a statisztika, vagy az adatelemzés más területein nyert képesítést (pl. gépi tanulás, adatbányászat), rendelkezik az R nyelvben bizonyos fokú jártassággal. Ez a fiatal szakembergárda elhelyezkedése után munkahelyén is szívesen veszi használatba az R nyelvet. Ezt ismerték fel a szoftvergyártók, és egyre többen saját termékeikbe is beépítik az R használatának lehetőségét. Gyakran nem csupán annyit tesznek, hogy a standard, nyílt forráskódú R-t integrálják eszközeikbe, hanem olyan új funkciókkal és szolgáltatásokkal bővítik az alapváltozatot, amelyekért már térítést is kérhetnek – és hivatalos gyártói támogatást is biztosítanak. Így alakultak ki a különböző gyártói R változatok.

Jelen cikkben áttekintjük a különböző gyártók által támogatott, egyes esetekben ingyenes, de többnyire fizetős R változatokat. Nevesített R változat (R Distribution) viszonylag kevés van, ezért – a teljesség igénye nélkül – bemutajuk, hogy a különböző gyártók milyen módon integrálják, építik be az R nyelvet megoldásaikba. Az integráció történhet az adattárolási (adatbázis) rétegben, ill. az elemzési rétegben. Mivel azonban szinte alig létezik adatelemzés Excel nélkül, külön megvizsgáljuk az R és az Excel együttműködésének különböző módozatait.

Nevesített gyártói R változatok

Revolution Analitics

A Revolution Analitics volt az R nyelv első kereskedelmi célú szállítója. Termékei három változatban jelentek meg.

  • Revolution R Open – Ingyenes és nyílt forráskódú r változat, kiegészítve különböző teljesítménynövelő megoldásokkal.
  • Revolution R Plus – Az előfizető felhasználók számára hivatalos támogatás nyújtása.
  • Revolution R Enterprise – Saját fejlesztésű kiegészítő komponensek biztosítása a big data statisztikai elemzésének lehetővé tételére munkaállomásokon, kiszolgáló gépeken, adatbázisokban és Hadoop (big data tárolására és feldolgozására szolgáló eszközpark) környezetekben (Revolution R enterprise for Hadoop, Linux and Teradata). Szintén csak előfizetők számára volt elérhető.

A Microsoft 2015-ben felvásárolta a Revolution Analitics céget és a termékeket átnevezte, ill. új változatokat is kifejlesztett.

Microsoft

A Revolution Analitics felvásárlása után kialakított termékstruktúra: Microsoft R Open, R Client, R Server és SQL Server R Services. Ez volt a helyzet az SQL Server 2016 megjelenésekor. Az SQL Server 2017-be a Microsoft az R mellett a nyílt forráskódú Python nyelvet is beintegrálta, ezért az R Server-t átnevezte Microsoft Machine Learning (gépi tanulási) Server-re, az SQL Server R Services-t pedig SQL Server Machine Learning Services-re.

Microsoft R Open – A Revolution R Open-nek felel meg. Szintén ingyenes, teljesen kompatibilis a standard R környezettel. Rendelkezésre áll mind Windows, mind Linux platformokon. Letöltése és installálása előfeltétele az R Client, R Server és SQL Server R Services használatának, de e termék maga az utóbbi három nélkül is használható önállóan.

R Client – Ingyenes fejlesztői eszköz, mely az R Open bővítménye – ezért az adattudósok ezzel az eszközzel már nagyobb teljesítményű számításokat is végezhetnek. Szintén rendelkezésre áll mind Windows, mind Linux platformokon. Rendelkezik azonban korlátokkal is. Mint a standard R esetében, csak annyi adat dolgozható fel, amennyi belefér a munkaállomás memóriájába. A párhuzamos feldolgozás is két folyamatra korlátozódik, bárhány folyamat párhuzamos futtatására is lenne képes a munkaállomásunk. Fejlesztésre ez viszont kiválóan alkalmas, mert az itt kifejlesztett modellek minden további nélkül áttelepíthetők az R Server-re vagy az SQL Server R Services-re, ahol ezek a korlátozó tényezők már nem állnak fenn.

Microsoft R Server – Az R Server vállalati teljesítményű analitikai platform, mely támogatja a prediktív modellezést és gépi tanulást big data esetében is. Ez az R Client fizetős változata, annak korlátai nélkül. Fontos, hogy az R Server egy önálló termék, mely elkülönül mind az SQL Server-től, mind az SQL Server R Services-től. Akkor célszerű ezt választanunk, ha igen nagy teljesítményű elemzéseket kell végeznünk, de ezekhez nincs szükség az SQL Server integrációjára. Ha viszont az SQL Server és az R integrációjára van szükség, akkor az SQL Server R Services-hez kell fordulnunk.

SQL Server R Services – A Microsoft dokumentációja az R Services-t gyakran úgy nevezi, hogy In-Database (adatbázison belüli), az R Server-t pedig úgy, hogy Standalone (önálló). Jó oka van az „adatbázison belüli” elnevezésnek. Az R Services révén a Microsoft integrálta az R nyelvet az SQL Server adatbázis motorjába. Az R Services segítségével komplett R programok és modellek futtathatók, mint szabályos SQL Server eljárások. Ezek az R programok az SQL Server tetszőleges nagyságú tábláin végezhetnek elemzéseket.

Oracle

Az Oracle által kínált R változatok az Oracle R Distribution (ORD) és az Oracle R Enterprise (ORE).

Oracle R Distribution – A standard, nyílt forráskódú R nyelv Oracle által támogatott változata. Szabadon letölthető az Oracle megfelelő webhelyéről. Az Oracle Big Data Appliance megoldás esetében automatikusan települ. Hasonlóan a Microsoft R Open-hez, szintén kiegészítették különböző teljesítménynövelő megoldásokkal.

Oracle R Enterprise – R nyelvi csomagok összessége, melyek lehetővé teszik az R felhasználók számára, hogy Oracle adatbázis táblákon végezzenek igen nagy méretű elemzéseket, ezáltal az Oracle adatbázis kezelőt igen nagy teljesítményű kalkulációs motorrá változtatva.

R integráció az adattárolási rétegben

Az alábbi szállítók nem készítettek saját nevükkel fémjelzett R változatot, ugyanakkor igen határozottan elkötelezték magukat abban az irányban, hogy adatelemzési technológiáikat, ill. adatbázis kezelőjüket minél szervesebben integrálják az R nyelvvel.

Röviden, felsorolás szerűen áttekintjük a legismertebb gyártókat, a hivatkozások révén bővebb információhoz juthatunk.

IBM – Az IBM big data elemző platformját korábban úgy hívták, hogy Netezza, mára pedig átnevezték IBM Db2 Warehouse Systems-re.

SAP – Az SAP a HANA platformján valósítja meg az R integrációt az SAP BusinessObjects Predictive Analysis termék révén.

TeradataTeradata Analytics Platform.

Pivotal – Saját fejlesztésű PivotalR szoftverkönyvtár.

Cloudera – A nyílt forráskódú big data technológiák (Hadoop) egyik legismertebb szállítója.

Hortonworks – A Cloudera egyik versenytársa.

PostgreSQL – Nyílt forráskódú, teljesen ingyen használható adatbázis kezelő.

R integráció az elemzési rétegben

Nem csupán az adatplatform gyártók, hanem az elemző eszközök szállítói is komolyan elkötelezettek az R nyelv integrációja iránt.

Microsoft Azure Machine Learning – Ez a Microsoft felhőszolgáltatásként kínált gépi tanulási eszköze.

Microsoft Power BI – a Microsoft önkiszolgáló üzleti intelligencia eszköze alapvetően felhőszolgáltatás, de bizonyos földi lehetőségek is rendelkezésre állnak.

IBM SPSS Statistics – az egyik legismertebb statisztikai szoftver.

IBM SPSS Modeler – adatbányászat, gépi tanulás.

IBM Watson – Természetes nyelven (angol) lekérdezhető elemzési környezet a felhőben.

TIBCO – TIBCO Enterprise Runtime for R (TERR) – vállalati méretű analitikus motor R nyelven megírva. Ezen alapszik a TIBCO Spotfire elemzőeszköz.

KNIME – Nyílt forráskódú adatbányász eszköz (fizetős változatban is létezik).

Az R és az Excel együttműködése

Számos R csomag létezik, melyek lehetővé teszik Excel munkalapok R-be történő beolvasását, ill. R-ben feldolgozott adatok Excelbe történő kiírását.

A fenti hivatkozásban is szerepel egy olyan megoldás – RExcel – melyet kiemelünk külön is. Ez nem egy R csomag, hanem egy Excel bővítmény (add-in). Csupán egyéni felhasználók számára ingyenes, ha nem üzleti célokra használják. Segítségével az R funkcionalitása meghívható Excelből, menütételek révén, mintha az Excel az R grafikus felhasználói felülete lenne. Kétirányú adatáramlás az R és az Excel között. Excel makróból az R meghívható úgy, hogy a felhasználó számára az R láthatatlan marad. Letöltés.