h2oai / h2o-3

Giu 10, 2021
admin

H2O è una piattaforma in-memory per l’apprendimento automatico distribuito e scalabile. H2O usa interfacce familiari come R, Python, Scala, Java, JSON e l’interfaccia Flow notebook/web, e funziona perfettamente con le tecnologie di big data come Hadoop e Spark. H2O fornisce implementazioni di molti algoritmi popolari come i Modelli Lineari Generalizzati (GLM), le Macchine a Gradiente Boosting (incluso XGBoost), Foreste Casuali, Reti Neurali Profonde, Ensemble Impilati, Naive Bayes, Modelli Additivi Generalizzati (GAM), Cox Proportional Hazards, K-Means, PCA, Word2Vec, così come un algoritmo di machine learning completamente automatico (H2O AutoML).

H2O è estensibile in modo che gli sviluppatori possano aggiungere trasformazioni di dati e algoritmi personalizzati di loro scelta e accedervi attraverso tutti questi client. I modelli H2O possono essere scaricati e caricati nella memoria H2O per lo scoring, o esportati in formato POJO o MOJO per uno scoring estremamente veloce in produzione. Maggiori informazioni possono essere trovate nella Guida utente di H2O.

H2O-3 (questo repository) è la terza incarnazione di H2O, e il successore di H2O-2.

Indice

  • Scaricare H2O-3
  • Risorse Open Source
    • Tracciamento dei problemi e richieste di funzioni
    • Elenco delle risorse H2O
  • Utilizzare gli artefatti del codice H2O-3 (librerie)
  • Costruire H2O-3
  • Lancio di H2O dopo la costruzione
  • Costruzione di H2O su Hadoop
  • Acqua frizzante
  • Documentazione
  • Citare H2O
  • Roadmap
  • Comunità / Consulenti / Investitori

1. Scaricare H2O-3

Mentre la maggior parte di questo README è scritto per gli sviluppatori che fanno le proprie compilazioni, la maggior parte degli utenti di H2O scaricano e usano una versione pre-costruita. Se sei un utente Python o R, il modo più semplice per installare H2O è tramite PyPI o Anaconda (per Python) o CRAN (per R):

Python

pip install h2o

R

install.packages("h2o")

Più informazioni su come scaricare & installare H2O sono disponibili nella Guida Utente H2O.

2. Risorse Open Source

La maggior parte delle persone interagisce con tre o quattro risorse open source primarie: GitHub (che hai già trovato), JIRA (per le segnalazioni di bug e il tracciamento dei problemi), Stack Overflow per il codice H2O/domande specifiche del software, e h2ostream (un gruppo Google / forum di discussione via email) per le domande non adatte a Stack Overflow. C’è anche un gruppo di chat Gitter per sviluppatori H2O, tuttavia per scopi di archiviazione & per massimizzare l’accessibilità, preferiremmo che il Q&A H2O standard fosse condotto su Stack Overflow.

2.1 Issue Tracking e richieste di funzionalità

(Nota: c’è solo un sistema di issue tracking per il progetto. I problemi di GitHub non sono abilitati; devi usare JIRA.)

Puoi sfogliare e creare nuovi problemi nel nostro JIRA open source: http://jira.h2o.ai

  • Puoi sfogliare e cercare i problemi senza accedere a JIRA:
    1. Clicca il menu Issues
    2. Clicca Search for issues
  • Per creare un problema (sia un bug che una richiesta di funzionalità), crea prima un account:
    1. Clicca il pulsante Log In in alto a destra dello schermo
    2. Clicca Create an acccount vicino al fondo del box di login
    3. Una volta che hai creato un account ed effettuato il login, usa il pulsante Create nel menu per creare un problema
    4. Crea i problemi H2O-3 nel progetto PUBDEV. (Nota: le domande sull’acqua frizzante dovrebbero essere archiviate sotto il progetto SW.)
  • Puoi anche votare per richieste di funzionalità e/o altri problemi. Votare può aiutare H2O a dare priorità alle caratteristiche che sono incluse in ogni release.
    1. Vai alla pagina H2O JIRA.
    2. Clicca su Log In per accedere o creare un account se non ne hai già uno.
    3. Cerca la caratteristica a cui vuoi dare priorità, o crea una nuova caratteristica.
    4. Clicca sul link Vote for this issue. Questo si trova sul lato destro del problema sotto la sezione People.

2.2 Elenco delle risorse H2O

3. Usare gli artefatti H2O-3

Ogni build notturna pubblica gli artefatti R, Python, Java e Scala in un repository specifico della build. In particolare, puoi trovare gli artefatti Java nella directory maven/repo.

Qui c’è uno snippet di esempio di un file di build gradle che usa h2o-3 come dipendenza. Sostituire x, y, z e nnnn con numeri validi.

Riferimento all’ultima pagina di build notturna di H2O-3 bleeding edge per informazioni sull’installazione degli artefatti di build notturna.

Riferimento al repository GitHub h2o-droplets per un esempio funzionante di come usare gli artefatti Java con gradle.

Nota: gli artefatti H2O-3 stabili sono pubblicati periodicamente su Maven Central (clicca qui per cercare) ma possono essere sostanzialmente in ritardo rispetto alle build notturne di H2O-3 Bleeding Edge.

4. Costruire H2O-3

Iniziare a sviluppare H2O richiede JDK 1.7, Node.js, Gradle, Python e R. Usiamo il wrapper di Gradle (chiamato gradlew) per assicurarci che versioni locali aggiornate di Gradle e altre dipendenze siano installate nella tua directory di sviluppo.

4.1. Prima di costruire

4.1. Prima di costruire

Costruire h2o richiede un ambiente R correttamente impostato con i pacchetti richiesti e un ambiente Python con i seguenti pacchetti:

gripcoloramafuturetabulaterequestswheel

Per installare questi pacchetti puoi usare pip o conda.Se hai problemi ad installare questi pacchetti su Windows, segui la sezione Setup on Windows di questa guida.

(Nota: Si raccomanda di usare qualche ambiente virtuale come VirtualEnv, per installare tutti i pacchetti. )

4.2. Costruire dalla riga di comando (Quick Start)

Per costruire H2O dal repository, eseguire i seguenti passi.

Ricetta 1: Clonare fresh, costruire, saltare i test ed eseguire H2O

Ricetta 2: Clonare fresh, costruire ed eseguire i test (richiede un’installazione funzionante di R)

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

Note:

  • L’esecuzione dei test avvia cinque JVM di test che formano un cluster H2O e richiede almeno 8GB di RAM (preferibilmente 16GB di RAM).
  • L’esecuzione di ./gradlew syncRPackages è supportata su Windows, OS X e Linux, ed è fortemente raccomandata ma non richiesta. ./gradlew syncRPackages assicura un ambiente completo e coerente con versioni pre-approvate dei pacchetti richiesti per i test e le compilazioni. I pacchetti possono essere installati manualmente, ma si consiglia di impostare una variabile ENV e usare ./gradlew syncRPackages. Per impostare la variabile ENV, usa il seguente formato (dove `${WORKSPACE} può essere qualsiasi percorso):
mkdir -p ${WORKSPACE}/Rlibraryexport R_LIBS_USER=${WORKSPACE}/Rlibrary

Ricetta 3: Estrarre, pulire, costruire ed eseguire test

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

Note

  • Si raccomanda di usare ./gradlew clean dopo ogni git pull.

  • Skip test aggiungendo -x test alla fine della riga di comando gradle build. I test in genere durano 7-10 minuti su un portatile Macbook Pro con 4 CPU (8 hyperthreads) e 16 GB di RAM.

  • Sincronizzare smalldata non è necessario dopo ogni estrazione, ma se i test falliscono a causa di file di dati mancanti, allora prova ./gradlew syncSmalldata come primo passo per la risoluzione dei problemi. La sincronizzazione di smalldata scarica i file di dati da AWS S3 alla directory smalldata nel tuo spazio di lavoro. La sincronizzazione è incrementale. Non controllare questi file. La directory smalldata è in .gitignore. Se non esegui alcun test, non hai bisogno della directory smalldata.

  • L’esecuzione di ./gradlew syncRPackages è supportata su Windows, OS X e Linux, ed è fortemente raccomandata ma non richiesta. ./gradlew syncRPackages assicura un ambiente completo e coerente con versioni pre-approvate dei pacchetti richiesti per i test e le compilazioni. I pacchetti possono essere installati manualmente, ma si consiglia di impostare una variabile ENV e usare ./gradlew syncRPackages. Per impostare la variabile ENV, usa il seguente formato (dove ${WORKSPACE} può essere qualsiasi percorso):

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

Ricetta 4: Solo costruire i documenti

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

4.3. Setup su Windows

Passo 1: Scaricare e installare WinPython.

Dalla linea di comando, convalidare python sta usando il pacchetto appena installato usando which python (o sudo which python). Aggiorna la variabile d’ambiente con il percorso di WinPython.

Passo 2: Installa i pacchetti Python richiesti:
pip install grip 'colorama>=0.3.8' future tabulate wheel
Passo 3: Installa JDK

Installa Java 1.7 e aggiungi la directory appropriata C:\Program Files\Java\jdk1.7.0_65\bin con java.exe a PATH nelle variabili d’ambiente. Per assicurarsi che il prompt dei comandi rilevi la versione corretta di Java, eseguire:

javac -version

La variabile CLASSPATH deve anche essere impostata sulla sottocartella lib del JDK:

CLASSPATH=/<path>/<to>/<jdk>/lib
Passo 4. Installare Node.js

Installare Node.js e aggiungere la directory installata C:\Program Files\nodejs, che deve includere node.exe e npm.cmd al PATH se non è già stata aggiunta.

Passo 5. Installa R, i pacchetti richiesti e Rtools:

Installa R e aggiungi la directory bin al tuo PATH se non è già inclusa.

Installa i seguenti pacchetti R:

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

Per installare questi pacchetti da una sessione R:

Nota che libcurl è richiesto per l’installazione del pacchetto RCurl R.

Nota che questi pacchetti non coprono l’esecuzione di test, ma solo la costruzione di H2O.

Infine, installa Rtools, che è una raccolta di strumenti a riga di comando per facilitare lo sviluppo di R su Windows.

NOTA: Durante l’installazione di Rtools, non installare Cygwin.dll.

Passo 6. Installare Cygwin

NOTA: Durante l’installazione di Cygwin, deselezionare i pacchetti Python per evitare un conflitto con il pacchetto Python.org.

Passo 6b. Convalidare Cygwin

Se Cygwin è già installato, rimuovere i pacchetti Python o assicurarsi che Native Python sia prima di Cygwin nella variabile PATH.

Passo 7. Aggiornare o convalidare la variabile PATH di Windows per includere R, Java JDK, Cygwin.
Passo 8. Git Clone h2o-3

Se non hai già un client Git, installane uno. Quello predefinito può essere trovato qui http://git-scm.com/downloads. Assicurati che il supporto del prompt dei comandi sia abilitato prima dell’installazione.

Scarica e aggiorna i codici sorgente di h2o-3:

git clone https://github.com/h2oai/h2o-3
Passo 9. Esegui la build gradle di primo livello:

cd h2o-3./gradlew.bat build

Se incontri errori esegui di nuovo con --stacktrace per ulteriori istruzioni sulle dipendenze mancanti.

4.4. Setup su OS X

Se non hai Homebrew, ti consigliamo di installarlo. Rende facile la gestione dei pacchetti per OS X.

Passo 1. Installare JDK

Installare Java 1.7. Per assicurarti che il prompt dei comandi rilevi la versione corretta di Java, esegui:

javac -version
Passo 2. Installare Node.js:

Utilizzando Homebrew:

brew install node

Altrimenti, installare dal sito web di NodeJS.

Passo 3. Installare R e i pacchetti richiesti:

Installare R e aggiungere la directory bin al tuo PATH se non è già inclusa.

Installa i seguenti pacchetti R:

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

Per installare questi pacchetti da una sessione R:

Nota che libcurl è richiesto per l’installazione del pacchetto RCurl R.

Nota che questi pacchetti non coprono l’esecuzione di test, ma solo la costruzione di H2O.

Passo 4. Installare python e i pacchetti richiesti:

Installare python:

brew install python

Installare il gestore di pacchetti pip:

sudo easy_install pip

Poi installare i pacchetti richiesti:

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

OS X dovrebbe avere già Git installato. Per scaricare e aggiornare i codici sorgente di h2o-3:

git clone https://github.com/h2oai/h2o-3
Passo 6. Eseguire la build gradle di primo livello:
cd h2o-3./gradlew build

Nota: su una macchina normale potrebbe essere necessario molto tempo (circa un’ora) per eseguire tutti i test.

Se si incontrano errori eseguire di nuovo con --stacktrace per ulteriori istruzioni sulle dipendenze mancanti.

4.5. Installazione su Ubuntu 14.04

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

Installare Java 8. Le istruzioni per l’installazione possono essere trovate qui Installazione di JDK. Per assicurarsi che il prompt dei comandi rilevi la versione corretta di Java, eseguire:

javac -version
Passo 3. Installare R e i pacchetti richiesti:

Le istruzioni per l’installazione possono essere trovate qui Installazione di R. Fare clic su “Scarica R per Linux”. Fare clic su “ubuntu”. Segui le istruzioni date.

Per installare i pacchetti richiesti, segui le stesse istruzioni come per OS X sopra.

Nota: Se il processo non riesce ad installare RStudio Server su Linux, esegui uno dei seguenti:

sudo apt-get install libcurl4-openssl-dev

o

sudo apt-get install libcurl4-gnutls-dev

Passo 4. Git Clone h2o-3

Se non hai già un client Git:

sudo apt-get install git

Scarica e aggiorna i codici sorgente di h2o-3:

git clone https://github.com/h2oai/h2o-3
Passo 5. Eseguire la build gradle di primo livello:
cd h2o-3./gradlew build

Se si riscontrano errori, eseguire nuovamente utilizzando --stacktrace per ulteriori istruzioni sulle dipendenze mancanti.

Assicurarsi che non si stia eseguendo come root, poiché bower rifiuta tale esecuzione.

4.6. Installazione su Ubuntu 13.10

Passo 1. Installare Node.js
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -sudo apt-get install -y nodejs
Passi 2-4. Segui i passi 2-4 per Ubuntu 14.04 (sopra)

4.7. Installazione su CentOS 7

5. Avvio di H2O dopo la costruzione

Per avviare il cluster H2O localmente, eseguire quanto segue sulla linea di comando:

java -jar build/h2o.jar

Un elenco delle opzioni disponibili per l’avvio della JVM e di H2O (ad esempio -Xmx, -nthreads, -ip), è disponibile nella Guida Utente H2O.

6. Costruire H2O su Hadoop

I file zip H2O-on-Hadoop precompilati sono disponibili nella pagina di download. Ogni versione della distribuzione Hadoop ha un file zip separato in h2o-3.

Per costruire H2O con supporto Hadoop da soli, prima installate sphinx per python: pip install sphinxPoi avvia la compilazione inserendo quanto segue dalla directory di primo livello h2o-3:

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

Questo creerà una directory chiamata ‘target’ e genererà i file zip lì. Si noti che BUILD_HADOOP è il comportamento predefinito quando il nome utente è jenkins (fare riferimento a settings.gradle); altrimenti è necessario richiederlo, come mostrato sopra.

Aggiungere il supporto per una nuova versione di Hadoop

Nella directory h2o-hadoop, ogni versione di Hadoop ha una directory di build per il driver e una directory assembly per il fatjar.

È necessario:

  1. Aggiungi una nuova directory di driver e una directory di assembly (ciascuna con un file build.gradle) in h2o-hadoop
  2. Aggiungi questi nuovi progetti a h2o-3/settings.gradle
  3. Aggiungi la nuova versione Hadoop a HADOOP_VERSIONS in make-dist.sh
  4. Aggiungi la nuova versione di Hadoop alla lista in h2o-dist/buildinfo.json

Impersonificazione sicura degli utenti

Hadoop supporta l’impersonificazione sicura degli utenti attraverso la sua API Java. Un utente autenticato da Kerberos può essere autorizzato a impersonare qualsiasi nome utente che soddisfi i criteri specificati nel file core-site.xml del NameNode. Questa impersonificazione si applica solo alle interazioni con l’API di Hadoop o le API dei servizi correlati a Hadoop che la supportano (questo non è lo stesso che passare a quell’utente sulla macchina di origine).

Impostare l’impersonificazione sicura dell’utente (per h2o):

  1. Creare o trovare un id da usare come proxy che abbia accesso limitato o nullo a HDFS o ai servizi correlati; l’utente proxy deve essere usato solo per impersonare un utente
  2. (Necessario se non si usa h2odriver) Se non si usa il driver (es.ad es. avete scritto il vostro codice contro le API di h2o usando Hadoop), fate le modifiche al codice necessarie per impersonare gli utenti (vedere org.apache.hadoop.security.UserGroupInformation)
  3. In Ambari/Cloudera Manager o direttamente nel file core-site.xml del NameNode, aggiungere 2/3 proprietà per l’utente che vogliamo usare come proxy (sostituire con il semplice nome utente – non il nome principale pienamente qualificato).
    • hadoop.proxyuser.<proxyusername>.hosts: gli host che l’utente proxy è autorizzato a eseguire azioni impersonate per conto di un utente valido da
    • hadoop.proxyuser.<proxyusername>.groups: i gruppi a cui un utente impersonato deve appartenere perché l’impersonificazione funzioni con quell’utente proxy
    • hadoop.proxyuser.<proxyusername>.users: gli utenti che un utente proxy è autorizzato a impersonare
    • Esempio: <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. Riavvia i servizi di base come HDFS & YARN perché le modifiche abbiano effetto

Le azioni HDFS impersonate possono essere visualizzate nel log di audit hdfs (‘auth:PROXY’ dovrebbe apparire nel campo ugi= nelle voci in cui questo è applicabile). YARN allo stesso modo dovrebbe mostrare ‘auth:PROXY’ da qualche parte nel Resource Manager UI.

Per usare l’impersonificazione sicura con il driver Hadoop di h2o:

Prima che questo sia tentato, vedi Rischi con l’impersonificazione, sotto

Quando si usa il h2odriver (es.g. quando viene eseguito con hadoop jar ...), specificare -principal <proxy user kerberos principal>, -keytab <proxy user keytab path> e -run_as_user <hadoop username to impersonate>, oltre a qualsiasi altro argomento necessario. Se la configurazione ha avuto successo, l’utente proxy accederà e impersonerà il -run_as_user fintanto che l’utente è autorizzato dalla proprietà di configurazione degli utenti o dei gruppi (configurata sopra); questo è imposto da HDFS & YARN, non dal codice di h2o. Il driver imposta effettivamente il suo contesto di sicurezza come l’utente impersonato, quindi tutte le azioni Hadoop supportate saranno eseguite come quell’utente (ad esempio YARN, le API HDFS supportano gli utenti impersonati in modo sicuro, ma altri potrebbero non farlo).

Precauzioni da prendere quando si sfrutta l’impersonificazione sicura

  • Il caso d’uso target per l’impersonificazione sicura è costituito da applicazioni o servizi che pre-autenticano un utente e poi usano (in questo caso) il h2odriver per conto di quell’utente. H2O’s Steam è un esempio perfetto: autentica l’utente nella web app tramite SSL, impersona quell’utente quando crea il contenitore h2o YARN.
  • L’utente proxy dovrebbe avere permessi limitati nel cluster Hadoop; questo significa nessun permesso per accedere ai dati o effettuare chiamate API. In questo modo, se venisse compromesso avrebbe solo il potere di impersonare un sottoinsieme specifico di utenti nel cluster e solo da macchine specifiche.
  • Utilizzare la proprietà hadoop.proxyuser.<proxyusername>.hosts ogni volta che è possibile o pratico.
  • Non dare la password del proxyusername o il keytab a qualsiasi utente che non vuoi impersonare un altro utente (questo è generalmente qualsiasi utente). Lo scopo dell’impersonificazione non è quello di permettere agli utenti di impersonarsi a vicenda. Vedere il primo punto per il tipico caso d’uso.
  • Limitare l’accesso dell’utente alla macchina da cui il proxy sta avvenendo ogni volta che è pratico.
  • Assicurarsi che il keytab usato per accedere all’utente proxy sia adeguatamente protetto e che gli utenti non possano accedere come quell’id (tramite su, per esempio)
  • Non impostare mai hadoop.proxyuser..{users,groups} a ‘*’ o ‘hdfs’, ‘yarn’, ecc. Permettere a qualsiasi utente di impersonare hdfs, yarn, o qualsiasi altro utente/gruppo importante dovrebbe essere fatto con estrema cautela e fortemente analizzato prima di essere permesso.

Rischi con l’impersonificazione sicura

  • L’id che esegue l’impersonificazione può essere compromesso come qualsiasi altro id utente.
  • Impostare qualsiasi proprietà hadoop.proxyuser.<proxyusername>.{hosts,groups,users} su ‘*’ può aumentare notevolmente l’esposizione al rischio di sicurezza.
  • Quando gli utenti non vengono autenticati prima di essere utilizzati con il driver (ad esempio, come fa Steam tramite una web app/API sicura), la verificabilità del processo/sistema è difficile.

7. Sparkling Water

Sparkling Water unisce due tecnologie open-source: Apache Spark e la piattaforma H2O Machine Learning. Rende la libreria H2O di algoritmi avanzati, tra cui Deep Learning, GLM, GBM, K-Means, e Distributed Random Forest, accessibile dai flussi di lavoro Spark. Gli utenti di Spark possono selezionare le migliori caratteristiche da entrambe le piattaforme per soddisfare le loro esigenze di Machine Learning. Gli utenti possono combinare le API RDD di Spark e Spark MLLib con gli algoritmi di apprendimento automatico di H2O, o usare H2O indipendentemente da Spark per il processo di costruzione del modello e post-processare i risultati in Spark.

Risorse di Sparkling Water:

  • Pagina di download per pacchetti precostruiti
  • Repository GitHub di Sparkling Water
  • README
  • Documentazione per sviluppatori

8. Documentazione

Homepage della documentazione

La principale documentazione di H2O è la Guida utente di H2O. Visitate http://docs.h2o.ai per l’introduzione di primo livello alla documentazione sui progetti H2O.

Genera documentazione REST API

Per generare la documentazione REST API, usate i seguenti comandi:

La posizione predefinita per la documentazione generata è build/docs/REST.

Se la compilazione fallisce, provare gradlew clean, poi git clean -f.

Documentazione per la compilazione bleeding edge

La documentazione per ogni compilazione notturna bleeding edge è disponibile nella pagina della compilazione notturna.

9. Citare H2O

Se usate H2O come parte del vostro flusso di lavoro in una pubblicazione, siete pregati di citare le vostre risorse H2O usando la seguente voce BibTex:

Software H2O

Esempi di citazione del software H2O formattati:

Libretti H2O

I libretti degli algoritmi H2O sono disponibili alla Documentation Homepage.

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

Esempi di citazione di libretti formattati:

10. Roadmap

H2O 3.34.0.1 – Gennaio 2021

  • Algoritmo esteso della foresta di isolamento
  • Alberi di sollevamento
  • Estrazione di & interazioni di caratteristiche di classifica da modelli GBM e XGBoost
  • RuleFit MOJO, CoxPH MOJO
  • Supporto per MOJO2 Scoring
  • Grid-Search fault Tolerance
  • Kubernetes Operator
  • Externalized XGBoost su cluster Kubernetes

11. Community

H2O è stato costruito da un gran numero di collaboratori nel corso degli anni sia all’interno di H2O.ai (l’azienda) che nella più grande comunità open source. Puoi iniziare a contribuire ad H2O rispondendo alle domande di Stack Overflow o segnalando bug. Unisciti a noi!

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

Advisors

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.