2017-09-26 1 views
2

J'utilise le code suivant pour me connecter à H2O dans R et obtenir la sortie ci-dessous: h2o.init (nthreads = -1, max_mem_size = paste (x , « g », sep = « »))Comment tester si la connexion à H2O dans r a réussi à R

R is connected to the H2O cluster: 
H2O cluster uptime:   3 minutes 57 seconds 
H2O cluster version:  3.14.0.3 
H2O cluster version age: 3 days 
H2O cluster name:   H2O_started_from_R_rami_krispin 
H2O cluster total nodes: 1 
H2O cluster total memory: 0.88 GB 
H2O cluster total cores: 4 
H2O cluster allowed cores: 4 
H2O cluster healthy:  TRUE 
H2O Connection ip:   localhost 
H2O Connection port:  54321 
H2O Connection proxy:  NA 
H2O Internal Security:  FALSE 
H2O API Extensions:   Algos, AutoML, Core V3, Core V4 
R Version:     R version 3.4.1 (2017-06-30) 

y at-il un moyen de capturer dans la variable booléenne quelle que soit la connexion a réussi (quelque chose comme is.h2o.connect() avec réponse Vrai/Faux) et l'attribut de la connexion en variable? Par exemple:

x$port 
>54321 

ou

x$memory 
>0.88 GB 

Merci à l'avance! Rami

+0

est 'h2o.clusterIsUp()' ce que vous voulez pour la première question? – SymbolixAU

+0

C'était rapide! n'importe quel oui! Merci! –

+0

puis 'h2o.clusterInfo()' vous donne les informations qui sont imprimées sur la console. Pour l'obtenir dans un objet R, vous aurez besoin d'un moyen de capturer et d'analyser, je pense que – SymbolixAU

Répondre

3

Pour voir si le cluster est en place, vous pouvez utiliser

h2o.clusterIsUp() 
# TRUE 

et voir les informations de connexion, vous pouvez utiliser

h2o.getConnection() 

IP Address: localhost 
Port  : 54321 
Session ID: _sid_b51e 
Key Count : 0 

Ensuite, vous pouvez utiliser quelques-unes des h2o internes fonctions obtenir tous les meta sur la connexion

res <- h2o:::.h2o.fromJSON(
     jsonlite::fromJSON(
      h2o:::.h2o.doSafeGET(
      urlSuffix = h2o:::.h2o.__CLOUD 
      ), 
      implifyDataFrame = FALSE 
     ) 
     ) 

str(res) 
List of 19 
$ __meta     :List of 3 
    ..$ schema_version: int 3 
    ..$ schema_name : chr "CloudV3" 
    ..$ schema_type : chr "Iced" 
$ _exclude_fields   : chr "" 
$ skip_ticks    : logi TRUE 
$ version     : chr "3.10.4.6" 
$ branch_name    : chr "rel-ueno" 
$ build_number    : chr "6" 
$ build_age    : chr "4 months and 30 days" 
$ build_too_old   : logi TRUE 
$ node_idx     : int 0 
$ cloud_name    : chr "H2O_started_from_R_david_tos519" 
$ cloud_size    : int 1 
$ cloud_uptime_millis  : int 772951 
$ cloud_healthy   : logi TRUE 
$ bad_nodes    : int 0 
$ consensus    : logi TRUE 
$ locked     : logi TRUE 
$ is_client    : logi FALSE 
$ nodes     :List of 1 
    ..$ :List of 27 
    .. ..$ __meta  :List of 3 
    .. .. ..$ schema_version: int 3 
    .. .. ..$ schema_name : chr "NodeV3" 
    .. .. ..$ schema_type : chr "Iced" 
... etc 
+1

génial, merci SymbolixAU! –

2

O K, h2o.clusterStatus() fournit les attributs de connexion

      h2o healthy last_ping 
1 localhost/127.0.0.1:54321 TRUE 1.506398e+12 
    num_cpus sys_load mem_value_size free_mem 
1  4 0.2445616   5120 783876096 
    pojo_mem swap_mem free_disk  max_disk 
1 170846208  0 310012542976 510426873856 
    pid num_keys tcps_active open_fds rpcs_active 
1 7084  20   0  -1   0