gpt4 book ai didi

java - 将 MapWritable 转换为字符串

转载 作者:可可西里 更新时间:2023-11-01 14:34:06 25 4
gpt4 key购买 nike

我在我的 Hadoop Map Reduce 程序中使用 MapWritable。当我将 MapWritable 映射作为 new Text (mapName.toString()) 发出时,我得到以下输出

key1      org.apache.hadoop.io.MapWritable@396cbd97 
key2 org.apache.hadoop.io.MapWritable@17991de1
key3 org.apache.hadoop.io.MapWritable@18f63055

你能告诉我如何以简单的方式打印它而不是遍历它吗?我知道我们可以简单地通过调用 mapName.toString() 来打印一个 HashMap。

我在 Stripes 方法中使用它,我发现与 Pairs 方法相比性能非常差(如果您不了解 Map-Reduce 中的设计模式,请忽略此行。我添加此语句是为了向那些谁提供更多信息知道它)。

任何指针将不胜感激。

最佳答案

实现此目的的唯一方法是扩展 MapWritable 并覆盖 toString 以输出您想要的内容(这可能涉及在 toString 时迭代它 被调用或在创建/修改 map 时根据您的需要将字符串存储为字段)。

MapWritable 的 javadoc显示它从 Object 继承了 toString 方法- 您看到 HashMap 输出更有用的原因是因为它继承了 AbstractMaptoString 方法,该方法覆盖了 Object 的,来自 javadoc :

Returns a string representation of this map. The string representation consists of a list of key-value mappings in the order returned by the map's entrySet view's iterator, enclosed in braces ("{}"). Adjacent mappings are separated by the characters ", " (comma and space). Each key-value mapping is rendered as the key followed by an equals sign ("=") followed by the associated value. Keys and values are converted to strings as by String.valueOf(Object).

关于java - 将 MapWritable 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com