h2oai / h2o-3

jun 10, 2021
admin

H2O är en plattform i minnet för distribuerad, skalbar maskininlärning. H2O använder välkända gränssnitt som R, Python, Scala, Java, JSON och Flow notebook/webbgränssnittet, och fungerar sömlöst med stora datatekniker som Hadoop och Spark. H2O tillhandahåller implementeringar av många populära algoritmer som generaliserade linjära modeller (GLM), Gradient Boosting Machines (inklusive XGBoost), slumpmässiga skogar, djupa neurala nätverk, staplade ensembler, Naive Bayes, generaliserade additiva modeller (GAM), Cox Proportional Hazards, K-Means, PCA, Word2Vec, samt en helautomatisk algoritm för maskininlärning (H2O AutoML).

H2O är utbyggbar så att utvecklare kan lägga till datatransformationer och anpassade algoritmer efter eget val och få tillgång till dem via alla dessa klienter. H2O-modeller kan laddas ner och laddas in i H2O-minnet för poängsättning eller exporteras till POJO- eller MOJO-format för extremt snabb poängsättning i produktionen. Mer information finns i H2O User Guide.

H2O-3 (detta arkiv) är den tredje inkarnationen av H2O och efterföljaren till H2O-2.

Innehållsförteckning

  • Hämtning av H2O-3
  • Resurser för öppen källkod
    • Spårning av problem och önskemål om funktioner
    • Lista över H2O-resurser
  • Användning av H2O-3-kodartefakter (bibliotek)
  • Byggande av H2O-3
  • Lansering av H2O efter byggandet
  • Byggandet av H2O på Hadoop
  • Sparkling Water
  • Dokumentation
  • Citering av H2O
  • Roadmap
  • Gemenskap/rådgivare/investerare

1. Hämta H2O-3

Medans större delen av denna README är skriven för utvecklare som gör sina egna byggen, laddar de flesta H2O-användare bara ner och använder en färdigbyggd version. Om du använder Python eller R är det enklaste sättet att installera H2O via PyPI eller Anaconda (för Python) eller CRAN (för R):

Python

pip install h2o

R

install.packages("h2o")

Mer information om nedladdning & och installation av H2O finns i H2O-användarhandboken.

2. Resurser för öppen källkod

De flesta människor interagerar med tre eller fyra primära resurser för öppen källkod: GitHub (som du redan har hittat), JIRA (för felrapporter och problemspårning), Stack Overflow för H2O-kod/programvaruspecifika frågor och h2ostream (en Google-grupp/ett diskussionsforum för e-post) för frågor som inte lämpar sig för Stack Overflow. Det finns också en Gitter H2O-utvecklarchattgrupp, men för arkivändamål & för att maximera tillgängligheten, föredrar vi att standard H2O Q&A genomförs på Stack Overflow.

2.1 Spårning av problem och önskemål om funktioner

(Observera: Det finns bara ett system för spårning av problem för projektet. GitHub-frågor är inte aktiverade; du måste använda JIRA.)

Du kan bläddra och skapa nya ärenden i vårt open source JIRA: http://jira.h2o.ai

  • Du kan bläddra och söka efter ärenden utan att logga in i JIRA:
    1. Klicka på Issues-menyn
    2. Klicka på Search for issues
  • För att skapa ett ärende (antingen ett fel eller en funktionsbegäran) måste du först skapa ett konto:
    1. Klicka på knappen Log In längst upp till höger på skärmen
    2. Klicka på Create an acccount längst ner i inloggningsrutan
    3. När du har skapat ett konto och loggat in kan du använda knappen Create i menyn för att skapa en fråga
    4. Skapa H2O-3-frågor i PUBDEV-projektet. (Observera: Frågor om Sparkling Water bör läggas in under SW-projektet.)
  • Du kan också rösta på önskemål om funktioner och/eller andra frågor. Omröstning kan hjälpa H2O att prioritera vilka funktioner som ingår i varje utgåva.
    1. Gå till H2O JIRA-sidan.
    2. Klicka på Logga in för att antingen logga in eller skapa ett konto om du inte redan har ett.
    3. Sök efter den funktion som du vill prioritera eller skapa en ny funktion.
    4. Klicka på länken Rösta för denna fråga. Den finns till höger om problemet under avsnittet People.

2.2 Lista över H2O-resurser

3. Användning av H2O-3 Artefakter

Varje nattlig build publicerar R-, Python-, Java- och Scala-artefakter till ett build-specifikt arkiv. I synnerhet kan du hitta Java-artefakter i maven/repo-katalogen.

Här är ett exempelutdrag av en gradle-byggfil som använder h2o-3 som ett beroende. Ersätt x, y, z och nnnn med giltiga tal.

Se den senaste H2O-3 bleeding edge nightly build-sidan för information om hur man installerar nightly build-artefakter.

Se h2o-droplets GitHub-repository för ett fungerande exempel på hur man kan använda Java-artefakter med gradle.

Notera: Stabila H2O-3 artefakter publiceras regelbundet till Maven Central (klicka här för att söka) men kan vara betydligt efter H2O-3 Bleeding Edge nightly builds.

4. Byggning av H2O-3

För att komma igång med H2O-utvecklingen krävs JDK 1.7, Node.js, Gradle, Python och R. Vi använder Gradle-omslaget (kallat gradlew) för att se till att uppdaterade lokala versioner av Gradle och andra beroenden är installerade i din utvecklingskatalog.

4.1. Innan du bygger

För att bygga h2o krävs en korrekt konfigurerad R-miljö med nödvändiga paket och en Python-miljö med följande paket:

gripcoloramafuturetabulaterequestswheel

För att installera dessa paket kan du använda pip eller conda.Om du har problem med att installera dessa paket på Windows, följ avsnittet Setup on Windows i den här guiden.

(Obs: Det rekommenderas att du använder en virtuell miljö, till exempel VirtualEnv, för att installera alla paket. )

4.2. Byggning från kommandoraden (Snabbstart)

För att bygga H2O från arkivet utför du följande steg.

Recept 1: Klona ny, bygg, hoppa över tester och kör H2O

Recept 2: Klona ny, bygg och kör tester (kräver en fungerande installation av R)

git clone https://github.com/h2oai/h2o-3.gitcd h2o-3./gradlew syncSmalldata./gradlew syncRPackages./gradlew build

Anmärkningar:

  • Körning av tester startar fem test-JVM:er som bildar ett H2O-kluster och kräver minst 8 GB RAM (helst 16 GB RAM).
  • Körning ./gradlew syncRPackages stöds på Windows, OS X och Linux och rekommenderas starkt men är inget krav. ./gradlew syncRPackages säkerställer en komplett och konsekvent miljö med förhandsgodkända versioner av de paket som krävs för tester och byggnationer. Paketen kan installeras manuellt, men vi rekommenderar att du ställer in en ENV-variabel och använder ./gradlew syncRPackages. För att ställa in ENV-variabeln använder du följande format (där `${WORKSPACE} kan vara vilken sökväg som helst):
mkdir -p ${WORKSPACE}/Rlibraryexport R_LIBS_USER=${WORKSPACE}/Rlibrary

Recept 3: Hämta, rensa, bygg och kör tester

git pull./gradlew syncSmalldata./gradlew syncRPackages./gradlew clean./gradlew build

Anteckningar

  • Vi rekommenderar att du använder ./gradlew clean efter varje git pull.

  • Skippa tester genom att lägga till -x test i slutet av kommandoraden för gradle build. Testerna körs vanligtvis i 7-10 minuter på en bärbar Macbook Pro med 4 CPU:er (8 hypertrådar) och 16 GB RAM.

  • Synkronisering av smalldata krävs inte efter varje dragning, men om testerna misslyckas på grund av saknade datafiler kan du prova ./gradlew syncSmalldata som första felsökningssteg. Synkronisering av smalldata hämtar datafiler från AWS S3 till katalogen smalldata i din arbetsyta. Synkroniseringen är inkrementell. Kontrollera inte in dessa filer. Katalogen smalldata finns i .gitignore. Om du inte kör några tester behöver du inte katalogen smalldata.

  • Körning ./gradlew syncRPackages stöds på Windows, OS X och Linux och rekommenderas starkt men krävs inte. ./gradlew syncRPackages säkerställer en komplett och konsekvent miljö med förhandsgodkända versioner av de paket som krävs för tester och byggnationer. Paketen kan installeras manuellt, men vi rekommenderar att du ställer in en ENV-variabel och använder ./gradlew syncRPackages. För att ställa in ENV-variabeln använder du följande format (där ${WORKSPACE} kan vara vilken sökväg som helst):

    mkdir -p ${WORKSPACE}/Rlibraryexport R_LIBS_USER=${WORKSPACE}/Rlibrary

Recept 4: Att bara bygga dokumentationen

./gradlew clean && ./gradlew build -x test && (export DO_FAST=1; ./gradlew dist)open target/docs-website/h2o-docs/index.html

4.3. Installation på Windows

Steg 1: Ladda ner och installera WinPython.

Från kommandoraden bekräftar du att python använder det nyinstallerade paketet genom att använda which python (eller sudo which python). Uppdatera miljövariabeln med sökvägen till WinPython.

Steg 2: Installera nödvändiga Python-paket:
pip install grip 'colorama>=0.3.8' future tabulate wheel
Steg 3: Installera JDK

Installera Java 1.7 och lägg till den lämpliga katalogen C:\Program Files\Java\jdk1.7.0_65\bin med java.exe till PATH i miljövariablerna. Kör:

javac -version

För att kontrollera att kommandotolken upptäcker rätt Java-version kör du:

javac -version

Variabeln CLASSPATH måste också ställas in på undermappen lib i JDK:

CLASSPATH=/<path>/<to>/<jdk>/lib
Steg 4. Installera Node.js

Installera Node.js och lägg till den installerade katalogen C:\Program Files\nodejs, som måste innehålla node.exe och npm.cmd, i PATH om den inte redan finns där.

Steg 5. Installera R, de nödvändiga paketen och Rtools:

Installera R och lägg till bin-katalogen i din PATH om den inte redan är inkluderad.

Installera följande R-paket:

  • RCurl
  • jsonlite
  • statmod
  • devtools
  • roxygen2
  • testthat

För att installera dessa paket från en R-session:

Notera att libcurl krävs för installation av RCurl R-paketet.

Bemärk att dessa paket inte täcker körning av tester, de är endast till för att bygga H2O.

Slutligen installerar du Rtools, som är en samling kommandoradsverktyg som underlättar R-utveckling på Windows.

OBS: Under installationen av Rtools får du inte installera Cygwin.dll.

Steg 6. Installera Cygwin

OBS: Under installationen av Cygwin, avmarkera Python-paketen för att undvika en konflikt med Python.org-paketet.

Steg 6b. Validera Cygwin

Om Cygwin redan är installerat tar du bort Python-paketen eller ser till att Native Python står före Cygwin i PATH-variabeln.

Steg 7. Uppdatera eller bekräfta Windows PATH-variabeln för att inkludera R, Java JDK, Cygwin.
Steg 8. Git Clone h2o-3

Om du inte redan har en Git-klient bör du installera en. Standardklienten finns här http://git-scm.com/downloads. Se till att stöd för kommandotolk är aktiverat före installationen.

Ladda ner och uppdatera h2o-3 källkoder:

git clone https://github.com/h2oai/h2o-3
Steg 9. Kör gradle-bygget på högsta nivå:
cd h2o-3./gradlew.bat build

Om du stöter på fel, kör igen med --stacktrace för fler instruktioner om saknade beroenden.

4.4. Installation på OS X

Om du inte har Homebrew rekommenderar vi att du installerar det. Det gör pakethantering för OS X enkelt.

Steg 1. Installera JDK

Installera Java 1.7. För att kontrollera att kommandotolken upptäcker rätt Java-version, kör:

javac -version
Steg 2. Installera Node.js:

Med hjälp av Homebrew:

brew install node

Installera annars från NodeJS webbplats.

Steg 3. Installera R och de nödvändiga paketen:

Installera R och lägg till bin-katalogen i din PATH om den inte redan finns med.

Installera följande R-paket:

  • RCurl
  • jsonlite
  • statmod
  • devtools
  • roxygen2
  • testthat

För att installera dessa paket från en R-session:

Notera att libcurl krävs för installation av RCurl R-paketet.

Bemärk att dessa paket inte täcker körning av tester, utan endast byggandet av H2O.

Steg 4. Installera python och de paket som krävs:

Installera python:

brew install python

Installera pip package manager:

sudo easy_install pip

Nästa installation av erforderliga paket:

sudo pip install wheel requests 'colorama>=0.3.8' future tabulate 
Steg 5. Git Clone h2o-3

OS X bör redan ha Git installerat. För att ladda ner och uppdatera h2o-3 källkoder:

git clone https://github.com/h2oai/h2o-3
Steg 6. Kör gradle-bygget på högsta nivå:
cd h2o-3./gradlew build

Notera: på en vanlig maskin kan det ta mycket lång tid (cirka en timme) att köra alla tester.

Om du stöter på fel kör du igen med --stacktrace för fler instruktioner om saknade beroenden.

4.5. Installation på Ubuntu 14.04

Steg 1. Installera Node.js
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -sudo apt-get install -y nodejs
Steg 2. Installera JDK:

Installera Java 8. Installationsinstruktioner finns här JDK-installation. För att kontrollera att kommandotolken upptäcker rätt Java-version, kör:

javac -version
Steg 3. Installera R och de nödvändiga paketen:

Instruktioner för installation finns här Installation av R. Klicka på ”Ladda ner R för Linux”. Klicka på ”ubuntu”. Följ de givna instruktionerna.

För att installera de nödvändiga paketen följer du samma instruktioner som för OS X ovan.

Anmärkning: Om processen misslyckas med att installera RStudio Server på Linux, kör något av följande:

sudo apt-get install libcurl4-openssl-dev

eller

sudo apt-get install libcurl4-gnutls-dev

Steg 4. Git Clone h2o-3

Om du inte redan har en Git-klient:

sudo apt-get install git

Ladda ner och uppdatera h2o-3-källkoderna:

git clone https://github.com/h2oai/h2o-3
Steg 5. Kör gradle-bygget på högsta nivå:
cd h2o-3./gradlew build

Om du stöter på fel, kör igen med hjälp av --stacktrace för fler instruktioner om saknade beroenden.

Säkerställ att du inte kör som root, eftersom bower kommer att avvisa en sådan körning.

4.6. Installation på Ubuntu 13.10

Steg 1. Installera Node.js
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -sudo apt-get install -y nodejs
Steg 2-4. Följ steg 2-4 för Ubuntu 14.04 (ovan)

4.7. Installation på CentOS 7

5. Starta H2O efter uppbyggnad

För att starta H2O-klustret lokalt utför du följande på kommandoraden:

java -jar build/h2o.jar

En lista över tillgängliga startalternativ för JVM och H2O (t.ex. -Xmx, -nthreads, -ip) finns i H2O-användarhandboken.

6. Bygga H2O på Hadoop

Förberedda H2O-on-Hadoop zip-filer finns på nedladdningssidan. Varje version av Hadoop-distributionen har en separat zip-fil i h2o-3.

För att själv bygga H2O med stöd för Hadoop installerar du först sphinx for python: pip install sphinxStarta sedan byggandet genom att ange följande från den översta h2o-3-katalogen:

(export BUILD_HADOOP=1; ./gradlew build -x test)./gradlew dist

Detta kommer att skapa en katalog som heter ”target” och generera zip-filer där. Observera att BUILD_HADOOP är standardbeteendet när användarnamnet är jenkins (se settings.gradle); annars måste du begära det, som visas ovan.

Lägga till stöd för en ny version av Hadoop

I katalogen h2o-hadoop har varje Hadoop-version en byggkatalog för drivrutinen och en assemblerkatalog för fatjar.

Du måste:

  1. Lägg till en ny drivarkatalog och en samlingskatalog (var och en med en build.gradle-fil) i h2o-hadoop
  2. Lägg till dessa nya projekt i h2o-3/settings.gradle
  3. Lägg till den nya Hadoop-versionen i HADOOP_VERSIONS i make-dist.sh
  4. Tillägg den nya Hadoop-versionen till listan i h2o-dist/buildinfo.json

Säker användaridentifiering

Hadoop har stöd för säker användaridentifiering via sitt Java API. En kerberosautentiserad användare kan tillåtas att företräda ett användarnamn som uppfyller angivna kriterier som angetts i NameNodes core-site.xml-fil. Denna personifiering gäller endast för interaktioner med Hadoop API eller API:er för Hadoop-relaterade tjänster som stöder det (detta är inte samma sak som att byta till den användaren på ursprungsmaskinen).

Sätt upp säker användarimitation (för h2o):

  1. Skapa eller hitta ett id att använda som proxy som har begränsad till ingen åtkomst till HDFS eller relaterade tjänster; proxyanvändaren behöver bara användas för att imitera en användare
  2. (Krävs om du inte använder h2odriver) Om du inte använder drivrutinen (t.ex.t.ex. om du har skrivit din egen kod mot h2os API med hjälp av Hadoop), gör du de nödvändiga kodändringarna för att kunna utge dig för att vara en användare (se org.apache.hadoop.security.UserGroupInformation)
  3. I antingen Ambari/Cloudera Manager eller direkt i NameNodes core-site.xml-fil lägger du till 2/3 egenskaper för den användare som vi vill använda som proxy (ersätt med det enkla användarnamnet – inte det fullt kvalificerade huvudnamnet).
    • hadoop.proxyuser.<proxyusername>.hosts: de värdar som proxyanvändaren får utföra personifierade åtgärder för en giltig användares räkning från
    • hadoop.proxyuser.<proxyusername>.groups: de grupper som en personifierad användare måste tillhöra för att personifieringen ska fungera med den proxyanvändaren
    • hadoop.proxyuser.<proxyusername>.users: de användare som en proxyanvändare får personifiera
    • Exempel: <property> <name>hadoop.proxyuser.myproxyuser.hosts</name> <value>host1,host2</value> </property> <property> <name>hadoop.proxyuser.myproxyuser.groups</name> <value>group1,group2</value> </property> <property> <name>hadoop.proxyuser.myproxyuser.users</name> <value>user1,user2</value> </property>
  4. Starta om kärntjänster som HDFS & YARN för att ändringarna ska träda i kraft

Handlingar som utförs av HDFS-användaren kan ses i hdfs-auditloggen (”auth:PROXY” bör visas i fältet ugi= i poster där detta är tillämpligt). YARN bör på samma sätt visa ”auth:PROXY” någonstans i Resource Manager UI.

För att använda säker personifiering med h2os Hadoop-drivrutin:

För att försöka, se Risker med personifiering, nedan

När du använder h2odriver (t.ex.t.ex. när du kör med hadoop jar ...), ange -principal <proxy user kerberos principal>, -keytab <proxy user keytab path> och -run_as_user <hadoop username to impersonate>, utöver eventuella andra argument som behövs. Om konfigurationen lyckades kommer proxyanvändaren att logga in och personifiera -run_as_user så länge den användaren tillåts av antingen konfigurationsegenskapen users eller groups (konfigurerad ovan); detta verkställs av HDFS & YARN, inte av h2o:s kod. Drivrutinen ställer effektivt in sin säkerhetskontext som den personifierade användaren så att alla Hadoop-åtgärder som stöds kommer att utföras som den användaren (t.ex. YARN, HDFS API:er stödjer säkert personifierade användare, men andra kanske inte gör det).

Försiktighetsåtgärder som ska vidtas när man utnyttjar säker personifiering

  • Det målinriktade användningsfallet för säker personifiering är tillämpningar eller tjänster som i förväg autentiserar en användare och sedan använder (i det här fallet) h2odrivrutinen på den användarens vägnar. H2O:s Steam är ett perfekt exempel: autentisera användaren i en webbapplikation via SSL, utge sig för den användaren när h2o YARN-behållaren skapas.
  • Proxyanvändaren bör ha begränsade behörigheter i Hadoop-klustret; det innebär inga behörigheter för att få tillgång till data eller göra API-anrop. På så sätt skulle den, om den äventyras, endast ha befogenhet att utge sig för en specifik delmängd av användarna i klustret och endast från specifika maskiner.
  • Använd egenskapen hadoop.proxyuser.<proxyusername>.hosts närhelst det är möjligt eller praktiskt möjligt.
  • Ge inte proxyanvändarnamns lösenord eller keytab till någon användare som du inte vill att den ska utge sig för att vara en annan användare (detta är i allmänhet vilken användare som helst). Poängen med impersonation är inte att låta användare utge sig för att utge sig för varandra. Se den första punkten för det typiska användningsfallet.
  • Begränsar användarens inloggning till maskinen som proxyn sker från när det är praktiskt möjligt.
  • Säkerställ att den keytab som används för att logga in på proxyanvändaren är ordentligt säkrad och att användare inte kan logga in som den id:n (via su, till exempel)
  • Sätt aldrig hadoop.proxyuser..{users,groups} till ”*” eller ”hdfs”, ”yarn”, etc. Att tillåta någon användare att utge sig för att vara hdfs, yarn eller någon annan viktig användare/grupp bör göras med yttersta försiktighet och analyseras kraftigt innan det tillåts.

Risker med säker personifiering

  • ID:et som utför personifieringen kan äventyras precis som vilket annat användarid som helst.
  • Sätta någon hadoop.proxyuser.<proxyusername>.{hosts,groups,users} egenskap till ”*” kan kraftigt öka exponeringen för säkerhetsrisker.
  • När användarna inte autentiseras innan de används med drivrutinen (t.ex. som Steam gör via en säker webbapplikation/API), är det svårt att granska processen/systemet.

7. Sparkling Water

Sparkling Water kombinerar två teknologier med öppen källkod: Apache Spark och H2O Machine Learning-plattformen. Den gör H2O:s bibliotek med avancerade algoritmer, inklusive Deep Learning, GLM, GBM, K-Means och Distributed Random Forest, tillgängligt från Spark-arbetsflöden. Spark-användare kan välja de bästa funktionerna från båda plattformarna för att tillgodose sina behov av maskininlärning. Användarna kan kombinera Spark RDD API och Spark MLLib med H2O:s algoritmer för maskininlärning, eller använda H2O oberoende av Spark för modellbyggandet och efterbehandla resultaten i Spark.

Sparkling Water Resources:

  • Download page for pre-built packages
  • Sparkling Water GitHub repository
  • README
  • Developer documentation

8. Dokumentation

Dokumentationshemsida

Den huvudsakliga H2O-dokumentationen är H2O-användarhandboken. Besök http://docs.h2o.ai för en introduktion på högsta nivå till dokumentation om H2O-projekt.

Generera REST API-dokumentation

För att generera REST API-dokumentationen använder du följande kommandon:

Standardplaceringen för den genererade dokumentationen är build/docs/REST.

Om byggningen misslyckas, prova gradlew clean och sedan git clean -f.

Dokumentation för Bleeding Edge-byggnaden

Dokumentation för varje nattlig Bleeding Edge-byggnad finns tillgänglig på sidan för den nattliga byggnaden.

9. Citera H2O

Om du använder H2O som en del av ditt arbetsflöde i en publikation, vänligen citera din(a) H2O-resurs(er) med hjälp av följande BibTex-post:

H2O Software

Formaterade exempel på citeringar av H2O Software:

H2O Booklets

H2O-algoritm-broschyrer finns tillgängliga på dokumentationssidan.

@Manual{h2o_booklet_name, title = {booklet_title}, author = {list_of_authors}, year = {year}, month = {month}, url = {link_url},}

Formaterade exempel på citat av häften:

10. Färdplan

H2O 3.34.0.1 – januari 2021

  • Extended Isolation Forest Algorithm
  • Uplift Trees
  • Extracting & ranking feature interactions from GBM and XGBoost models
  • RuleFit MOJO, CoxPH MOJO
  • Stöd för MOJO2 Scoring
  • Grid-Search fault Tolerance
  • Kubernetes Operator
  • Externalized XGBoost on Kubernetes clusters

11. Community

H2O har byggts upp av ett stort antal bidragsgivare under årens lopp både inom H2O.ai (företaget) och det större open source-communityt. Du kan börja bidra till H2O genom att svara på frågor från Stack Overflow eller lämna in felrapporter. Var gärna med!

Team & Committers

SriSatish AmbatiCliff ClickTom KraljevicTomas NykodymMichal MalohlavaKevin NormoyleSpencer AielloAnqi FuNidhi MehtaArno CandelJosephine WangAmy WangMax SchloemerRay PeckPrithvi PrabhuBrandon HillJeff GamberaAriel RaoViraj ParmarKendall HarrisAnand AvatiJessica LanfordAlex TellezAllison WashburnAmy WangErik EckstrandNeeraja MadabhushiSebastian VidrioBen SabrinMatt DowleMark LandryErin LeDellAndrey SpiridonovOleg RogynskyyNick MartinNancy JordanNishant KaloniaNadine HussamiJeff CramerStacie SpreitzerVinod IyengarCharlene WindomParag SanghaviNavdeep GillLauren DiPernaAnmol BalMark ChanNick KarpovAvni WadhwaAshrith BarthurKaren HayrapetyanJo-fai ChowDmitry LarkoBranden MurrayJakub HavaWen PhanMagnus StensmoPasha StetsenkoAngela BartzMateusz DymczykMicah StubbsIvy WangTerone WardLeland WilkinsonWendy WongNikhil ShekharPavel PscheidlMichal KurkaVeronika MaurerovaJan SterbaJan JendrusakSebastien PoirierTomáš Frýda

Rådgivare

Scientific Advisory Council

Stephen BoydRob TibshiraniTrevor Hastie

Systems, Data, FileSystems and Hadoop

Doug LeaChris PouliotDhruba Borthakur

Investors

Jishnu Bhattacharjee, Nexus Venture PartnersAnand Babu PeriasamyAnand RajaramanAsh BhardwajRakesh MathurMichael MarksEgbert BiermanRajesh Ambati

Lämna ett svar

Din e-postadress kommer inte publiceras.