将数据从Mysql导入Hbase时,数据格式发生了变化

时间:2013-05-09 06:10:50

标签: mysql hbase sqoop

我正在使用sqoop将数据从Mysql导入Hbase。 它工作正常,但有一个问题。 正如我从Sqoop文档中读到的那样,sqoop将mysql数据转换为String,然后将其存储在Hbase中。 然而,这对我来说是个问题,因为我必须将数据从Hbase导出回Mysql,那时,sqoop将如何推断出Hbase数据的数据类型信息? 有人请帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

您可以做的是 - 在导出期间,只需将其导出到MySql端的临时表。此时数据类型将不同。然后编写一个查询,将它们从临时表中插入到原始MySql表中,并在此期间过滤掉意外数据或转换数据类型。

我遇到了与时间戳数据类型非常相似的问题,就像在Hive中我将它存储为bigint一样。在导出期间,我首先插入它们,以使Sqoop导出工作。如果它成功,那么我运行一个查询,实际上将这些数据从临时表加载到原始表,同时转换数据。希望它有所帮助。