- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有更多关于我的用例的 CustomWritable 必要性的设计问题:
所以我有一个文档对,我将通过管道处理它并将中间数据和最终数据写入 HDFS。我的 key 类似于 ObjectId - DocId - Pair - Lang。我不明白为什么/如果我需要一个 CustomWritable 这个用例。我想如果我没有 key ,我需要一个 CustomWritable 吗?此外,当我在 Reducer 中将数据写入 HDFS 时,我使用了自定义分区程序。那么,这会消除我对自定义可写对象的需求吗?
我不确定我是否理解了需要自定义可写权限的概念。有人可以指出我正确的方向吗?
最佳答案
可写对象可用于反序列化对象。例如,日志条目可以包含时间戳、用户 IP 和浏览器代理。因此,您应该为标识此条目的键实现您自己的 WritableComparable,并且您应该实现一个值类,该值类实现了可读写的,可以在您的日志条目中读取和写入属性。
这些序列化只是将数据从二进制格式获取到对象的便捷方式。 HBase 等一些框架仍然需要字节数组来持久化数据。因此,您自己传输此文件会产生大量开销并弄乱您的代码。
关于hadoop CustomWritables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5629132/
我有更多关于我的用例的 CustomWritable 必要性的设计问题: 所以我有一个文档对,我将通过管道处理它并将中间数据和最终数据写入 HDFS。我的 key 类似于 ObjectId - Doc
我更改了正常 IntWritable适当CustomerWritable class ,从那时起我的测试用例就失败了。我在这里做错了什么? /* this is my customWritable *
假设我在文本文件中有特定用户的时间戳值,例如 #userid; unix-timestamp; value 1; 2010-01-01 00:00:00; 10 2; 2010-01-01 00:00
我是一名优秀的程序员,十分优秀!