【问题标题】:python 3.x: H2OFrame crash - Parsing Pandas dataframepython 3.x:H2OFrame 崩溃 - 解析 Pandas 数据帧
【发布时间】:2018-01-31 23:03:19
【问题描述】:

我是 H2O(python 包)的早期入门者。我的问题是我不知道如何从 Pandas 的数据框中成功创建 H2OFrame。

我的环境是:

  • Windows 10 家庭版,内部版本 15063.540,具有 16.0 GB 内存
  • Java SE 开发工具包 8u144(64 位)
  • Java SE 运行时环境(内部版本 1.8.0_144-b01)
  • Anaconda Python 3.5.4

我用 h2o.init() 启动了服务器:

H2O cluster uptime: 19 hours 14 mins
H2O cluster version:    3.14.0.1
H2O cluster version age:    12 days
H2O cluster name:   H2O_from_python_pedro_23i63g
H2O cluster total nodes:    1
H2O cluster free memory:    3.456 Gb
H2O cluster total cores:    4
H2O cluster allowed cores:  4
H2O cluster status: locked, healthy
H2O connection url: http://localhost:54321
H2O connection proxy:   None
H2O internal security:  False
H2O API Extensions: Algos, AutoML, Core V3, Core V4
Python version: 3.5.4 final

我正在尝试通过以下命令从 train1 熊猫的数据框创建我的 H2OFrame:

hf1 = h2o.H2OFrame(train1)

崩溃信息:

OSError: Job with key $03017f00000132d4ffffffff$_8ef7ebc5204725b046d7b31ca7194c71 failed with an exception: DistributedException from /127.0.0.1:54321: 'null', caused by java.lang.AssertionError
stacktrace: 
DistributedException from /127.0.0.1:54321: 'null', caused by java.lang.AssertionError
    at water.MRTask.getResult(MRTask.java:478)
    at water.MRTask.getResult(MRTask.java:486)
    at water.MRTask.doAll(MRTask.java:402)
    at water.parser.ParseDataset.parseAllKeys(ParseDataset.java:245)
    at water.parser.ParseDataset.access$000(ParseDataset.java:26)
    at water.parser.ParseDataset$ParserFJTask.compute2(ParseDataset.java:194)
    at water.H2O$H2OCountedCompleter.compute(H2O.java:1255)
    at jsr166y.CountedCompleter.exec(CountedCompleter.java:468)
    at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:263)
    at jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:974)
    at jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1477)
    at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Caused by: java.lang.AssertionError
    at water.parser.Categorical.addKey(Categorical.java:41)
    at water.parser.FVecParseWriter.addStrCol(FVecParseWriter.java:133)
    at water.parser.CsvParser.parseChunk(CsvParser.java:126)
    at water.parser.ParseDataset$MultiFileParseTask$DistributedParse.map(ParseDataset.java:888)
    at water.MRTask.compute2(MRTask.java:637)
    at water.MRTask.compute2(MRTask.java:591)
    at water.MRTask.compute2(MRTask.java:591)
    at water.MRTask.compute2(MRTask.java:591)
    at water.MRTask.compute2(MRTask.java:591)
    at water.MRTask.compute2(MRTask.java:591)
    at water.MRTask.compute2(MRTask.java:591)
    at water.H2O$H2OCountedCompleter.compute1(H2O.java:1258)
    at water.parser.ParseDataset$MultiFileParseTask$DistributedParse$Icer.compute1(ParseDataset$MultiFileParseTask$DistributedParse$Icer.java)
    at water.H2O$H2OCountedCompleter.compute(H2O.java:1254)
    ... 5 more

但是,我尝试使用 pandas 数据框的前 6 行 创建 H2OFrame,并且运行良好。

hf1 = h2o.H2OFrame(train1.loc[:6,:])
[out] Parse progress: |█████████████████████████████████████████████████████████| 100%

但是当我尝试超过这 6 行(例如 7 行)时,它再次失败并显示之前的崩溃信息:

hf1 = h2o.H2OFrame(train1.loc[:7,:])
[out] Parse progress: | (failed)

这有什么问题?

提前致谢。

佩德罗

【问题讨论】:

    标签: python python-3.x pandas dataframe h2o


    【解决方案1】:

    添加:

    h2o.cluster().shutdown()
    

    并解决了我的问题。可能是错误的,但我认为内存不足是我的问题,因此关闭之前的集群有所帮助。

    想出了解决我自己问题的方法,但我将把它留在这里,以便我可以帮助其他可能遇到相同问题的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 2020-03-24
      • 2019-08-17
      相关资源
      最近更新 更多