【问题标题】:Merging columns (h2o.merge) using H2O in SparkR在 SparkR 中使用 H2O 合并列 (h2o.merge)
【发布时间】:2016-12-23 07:03:45
【问题描述】:

在我当前的项目中,我在 SparkR 中使用 H2O 机器学习库。我有多个 .csv 文件并通过 h2o 数据框读取这些 .csv 文件。现在,我想对文件应用h2o.merge() 函数以将一个 h2o 数据帧的主键映射到另一个 h2o 数据帧的外键。我的主要 h2o 数据框包含 14 列。我使用h2o.getTypes() 函数获取所有列的数据类型。

为了应用h2o.merge() 函数,列应该是字符串或数字类型,而不是枚举或实数。所以为了转换列的数据类型,我使用h2o.ascharacter()h2o.asfactor() 函数。现在,我已将枚举列转换为字符串列以使用 h2o.merge() 函数。当我使用 h2o.merge() 函数时,它显示以下错误: 我错过了什么吗?我已经从这个链接Syntax of h2o.merge function 捕获了使用h2o.merge() 函数的语法。 如何合并 h2o 数据帧? factTable h2o 数据框的示例数据集如下所示(SALES_ORG 为主键) regionTable h2o数据框的样本数据集如下图(SALES_ORG是外键)

【问题讨论】:

  • 您能否提供一个可重现的示例(包括示例数据)?
  • 两张表的关键是什么?我认为你需要定义。执行者如何在没有键值的情况下找到两个表之间的相似性???
  • @sahildesai:密钥在两个表之间定义。我只映射合并操作中的键列。
  • 我经常发现我必须在合并之前将字符串转换为因子才能使 h2o.merge 正常工作。我想知道您是否在这里遇到类似的事情。
  • @jmuhlenkamp-您能否将其发布为答案。隐藏的逻辑是列应该是枚举/因子格式,以使用 h2o 执行合并操作。感谢您的提示。

标签: r merge sparkr h2o


【解决方案1】:

最后,我使用评论中的提示找出答案。 基本的事情是我们需要在应用合并操作之前将列转换为因子/枚举。具有主键或外键的列的数据类型应为因子/枚举。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    相关资源
    最近更新 更多