热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何快速将数据导入h2o

如何解决《如何快速将数据导入h2o》经验,为你挑选了1个好方法。

我的问题不是:

维护h2o数据帧的有效方法

H2O的运行速度比data.table R慢

在h2o中加载大于内存大小的数据

硬件/空间:

32个Xeon线程w/~256 GB Ram

~65 GB的数据上传.(约56亿个细胞)

问题:
将数据上传到h2o需要数小时.这不是任何特殊处理,只有"as.h2o(...)".

使用"fread"将文本放入空间需要不到一分钟,然后我进行一些行/列转换(差异,滞后)并尝试导入.

在尝试任何类型的"as.h2o"之前,总R内存是~56GB,所以分配的128不应该太疯狂,不是吗?

问题:
如果需要不到一个小时加载到h2o,我该怎么办?它应该需要一分钟到几分钟,不再需要.

我尝试过的:

'h2o.init'中撞击高达128 GB的ram

使用slam,data.table和options(...

在"as.h2o"之前转换为"as.data.frame"

写入csv文件(r write.csv chokes并永远占用.虽然我写了很多GB,所以我理解).

写入sqlite3,表的列数太多,这很奇怪.

检查驱动器缓存/交换以确保有足够的GB.也许java正在使用缓存.(还在工作)

更新:
所以看起来我唯一的选择是创建一个巨大的文本文件,然后使用"h2o.importFile(...)".我写了15GB.

Update2:
这是一个可怕的csv文件,大约22GB(~2.4Mrows,~2300 cols).对于它的价值,从下午12:53到下午2:44花了很多时间来编写csv文件.在编写之后,导入它的速度要快得多.



1> Darren Cook..:

将其as.h2o()视为便利功能,执行以下步骤:

    将您的R数据转换为data.frame(如果还没有).

    将data.frame保存到本地磁盘上的临时文件(data.table::fwrite()如果可用,则使用它(*),否则write.csv())

    调用h2o.uploadFile()那个临时文件

    删除临时文件

正如您的更新所说,将大量数据文件写入磁盘可能需要一段时间.但另一个痛点是使用h2o.uploadFile()而不是更快h2o.importFile().决定使用哪个是可见性:

随着h2o.uploadFile()你的客户端必须能够看到这个文件.

随着h2o.importFile()群集必须能够看到这个文件.

当您的客户端与其中一个群集节点在同一台计算机上运行时,您的数据文件对客户端和群集都是可见的,因此总是更喜欢h2o.importFile().(它执行多线程导入.)

另外几个提示:只将数据带入您实际需要的R会话中.并且记住R和H2O都是以列为导向的,所以cbind可以很快.如果您只需要在R中处理100个2300列,请将它们放在一个csv文件中,并将其他2200列保留在另一个csv文件中.然后将h2o.cbind()它们装入H2O中.

*:使用h2o:::as.h2o.data.frame(不带括号)查看实际代码.对于data.table写作,你需要先做options(h2o.use.data.table = TRUE); 您也可以选择打开/关闭它h2o.fwrite.


推荐阅读
  • 原文转自:http:blog.csdn.netchinasoftosgarticledetails7903045UploadAction.java:packagecr ... [详细]
  • fileuploadJS@sectionscripts{<scriptsrc~Contentjsfileuploadvendorjquery.ui.widget.js ... [详细]
  • UEditor可以如何直接复制word的图文内容到编辑器中
    这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)j ... [详细]
  • javaftp上传,javaftp下载文件
    本文目录一览:1、javaftp上传5G以上大文件,怎么做 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
author-avatar
小妖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有