通过Sqoop将所有表导入HBase

时间:2015-08-21 12:07:43

标签: mysql hbase sqoop

操作系统:Windows

使用此reference我可以将特定表导入HBase;但是如何将数据库的所有表作为单独的表导入HBase?

Sqoop命令将数据库中的所有表导入单个HBase表

sqoop import-all-tables --hbase-table testhbaseall --hbase-create-table  --column-family hr  --connect jdbc:mysql://localhost/madha --username root --password sa  --warehouse-dir /user/h40/hr -m 1 --hbase-row-key Id

执行此命令会导致数据丢失(覆盖HBase表中的现有数据)

我只需要知道这是否是正确的行为

1 个答案:

答案 0 :(得分:1)

当我们使用import-all-tables时,源(DB)和目标(HDFS或Hive)可以保持类似的格式。但是,当您希望DB中的所有表都在Hbase中时,它们存储的结构是不同的,因为我们需要Hbase中的列族。我们如何为整个数据库管理它。没有文档将所有表导入Hbase。因此,您可能必须尝试其他方式将数据加载到HBase中。即使我在这方面寻找任何答案。