【问题标题】:Bigtable import errorBigtable 导入错误
【发布时间】:2015-09-06 17:44:18
【问题描述】:

我使用 hive 生成​​了一个序列文件并尝试将其导入 bigtable,我的导入作业失败并出现以下错误。

2015-06-21 00:05:42,584 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1434843251631_0007_m_000000_1: Error: java.lang.ClassCastException: org.apache.hadoop.io.BytesWritable cannot be cast to org.apache.hadoop.hbase.io.ImmutableBytesWritable
at com.google.cloud.bigtable.mapreduce.Import$Importer.map(Import.java:127)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

我正在使用下面的配置单元表定义和参数来生成序列文件。

create table ilv_bigtable_test(
item_id int
)
stored as sequencefile
LOCATION 'gs://zxx/xx/aa1_temp/ilv_bigtable_test/'
TBLPROPERTIES('serialization.null.format'='')
;

SET hive.exec.compress.output=true;
SET mapred.max.split.size=256000000;
SET mapred.output.compression.type=BLOCK;

insert overwrite table ilv_bigtable_test
select 
item_id
FROM xxx
;

下面是hbase建表语句

create 'test', 'item_id'

【问题讨论】:

  • 您使用的是什么版本的 Hive、HBase、Hadoop?从堆栈跟踪来看,它看起来不像是 Cloud Bigtable 问题,您是否在纯 HBase 上尝试过?
  • 这看起来像是非 Cloud Bigtable 代码中的错误:错误:java.lang.ClassCastException: org.apache.hadoop.io.BytesWritable 无法转换为 org.apache.hadoop.hbase.io .ImmutableBytesWritable
  • 我们在 hadoop 2.4 上使用 hive 0.13。是的,我们能够使用 csv bulkload 在 hbase 上加载相同的数据。 Hadoop fs -text 在序列文件上给出了正确的结果,所以不确定这个问题是否与错误的文件格式有关 hadoop fs -text gs://zzz/ssss/aa1_temp/ilv_bigtable_test/*
  • 我正在关注文档cloud.google.com/bigtable/docs/exporting-importing#export-hbase,它说“从 HBase 或 Cloud Bigtable 导出表。”我们不能导入使用其他机制导出的数据。是否只支持导入 Hbase/Cloud 导出的数据集?

标签: hive hbase google-cloud-bigtable


【解决方案1】:

您需要更高版本的 Apache Hive – 1.1.0 是第一个支持 Cloud Bigtable 所需的 HBase 1.0 的版本。您至少可以尝试使用 Hive 1.2.1。

【讨论】:

    猜你喜欢
    • 2016-03-10
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2020-04-17
    • 2019-10-07
    • 1970-01-01
    相关资源
    最近更新 更多