【问题标题】:RHadoop key with multiple components具有多个组件的 RHadoop 密钥
【发布时间】:2013-07-03 20:35:06
【问题描述】:

当密钥有多个组件时,我在尝试获取 keyval 对时卡住了。

假设所有键都包含 3 个字符串组件,例如:{"I" "like" "Lucy"} 或 {"You" "hate" "Jimmy"}。

这三个字符串的组合将是唯一键。而我想要的 mapreduce 结果是 {"I" "like" "Lucy"} 或 {"You" "hate" "Jimmy"} 的记录数。

问题是我应该为 3 个字符串键使用什么样的结构?

如果我使用列表作为键:

LST1<-list(who="I", how="like", whom="Lucy")
LST2<-list(who="I", how="like", whom="Lucy")

LST1 和 LST2 应该有相同的键值,但问题是它们是不同的对象,因此列表结构不能用作键。

如果我使用向量作为键:

v1<-c("I","like","lucy")
v2<-c("I","like","Jimmy")

R 将尝试比较同一位置的每个条目,并返回一个布尔值向量,在本例中为 {TRUE, TRUE, FALSE}。

有什么建议吗?我可以使用什么样的结构?或者有什么棘手的方法来处理这个问题?

我知道我可以在 Java 中处理这个问题,但我需要一个 R 中的解决方案。3 个字符串的情况只是一个示例,组件可以是数字、字符串、字符等所有内容。

【问题讨论】:

    标签: r data-structures hadoop rhadoop


    【解决方案1】:

    如何将字符串向量连接到一个新字符串并将其用作键?

    例如,

    v1<-c("I","like","lucy")
    v2<-c("I","like","Jimmy")
    s1 <- paste(v1, sep = " ")
    s2 <- paste(v2, sep = " ")
    

    【讨论】:

    • 嗯,我正在使用这种方法,但这不是我真正想要的。我正在寻找更多类似 R 的解决方案。感谢您的回答!
    • 我找不到任何其他解决方案,也许这就是 ppl 使用的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    相关资源
    最近更新 更多