gpt4 book ai didi

hadoop - java.io.IOException :java. lang.ClassCastException : org. apache.hadoop.hbase.client.Result 无法转换为 org.apache.hadoop.io.Writable

转载 作者:可可西里 更新时间:2023-11-01 15:38:17 26 4
gpt4 key购买 nike

尝试了一个从 hive 处理 hbase 中的表的示例。

CREATE EXTERNAL TABLE命令成功,但是select语句给出类转换异常

环境:hive 0.12.0, hbase 0.96.1, hadoop 2.2, Virtual box 上的 Ubuntu 12.04

hive> SHOW TABLES;                                                                   
OK
hbatablese_myhive
Time taken: 0.309 seconds, Fetched: 1 row(s)
hive> SELECT * FROM hbatablese_myhive;
OK

**异常失败

java.io.IOException:java.lang.ClassCastException: org.apache.hadoop.hbase.client.Result cannot be cast to org.apache.hadoop.io.Writable**
Time taken: 1.179 seconds

hive>

The same table on HBASE console:

hbase(main):002:0> scan 'myhive'
ROW COLUMN+CELL



row1 column=ratings:userid, timestamp=1392886585074, value=user1
row2 column=ratings:userid, timestamp=1392886606457, value=user2
2 row(s) in 0.0520 seconds

最佳答案

在 TableRecordReaderImpl 的 next(Immutablebyteswritable key, Result value) 方法的旧版本中,曾经有一个 Writables.copyWritable(Result result, Result value) 调用.java.

copyWritable 现在已经被删除,并且只适用于 Writable,Writable 参数。

现在要进行复制,您需要使用value.copyFrom(result)。这将对数据进行从源到目标的深度复制

我猜你有一些库不匹配导致这些调用发生并试图从 Result, Result 转换为 Writable, Writable

关于hadoop - java.io.IOException :java. lang.ClassCastException : org. apache.hadoop.hbase.client.Result 无法转换为 org.apache.hadoop.io.Writable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21951217/

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