说说自己的思路,路过的朋友请帮忙指正或提新建议,万分感谢。
场景介绍:
自己在mysql中有1张表,每天2GB左右的统计数据,,因为资源原因需定期删除。
但有其他场景需要保存1年以上,所以想把数据备份在hbase里,同时还要能支持准实时查询。
选择Sqoop原因:
希望以后能有一个较通用的数据迁移方案(在mysql和hbase/hive/hdfs之间),尽量减少重复代码的开发与维护。
测试场景(已验证)
假设在数据库实例 logdb 中有一张表:system_log, 包含如下五个字段:
id: int(12) PRI AUTO_INCREMENT (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
mytime: datetime (格式:2015-12-12 12:12:12)
mytype: varchar(128)
value1: varchar(256)
value2: varchar(256)
为了提高查询效率,我设计hbase rowkey如下: mytype_mytime_id, 列族(cf)中有两列:cf:value1, cf:value2。因为我的查找需求就是查询某个mytype在指定时间段内的属性值。
具体测试步骤:
<1> 创建一张临时表 system_log_tmp
CREATE TABLE system_log_tmp LIKE system_log;
<2> 将昨日增量数据copy至该临时表<

本文介绍了如何利用sqoop将mysql中的数据迁移到hbase,以解决资源限制问题并实现准实时查询。通过创建临时表,拼接mysql字段作为hbase的rowkey,优化查询效率。详细步骤包括创建临时表、添加新列、更新数据和运行sqoop命令进行导入。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



