如何使用flume从mysql连续读取数据加载到hbase?
我熟悉sqoop,但我需要从mysql源码中不断地使用它。是否需要自定义源才能做到这一点?
发布于 2013-08-09 13:40:01
Sqoop适用于从RDBMS到HDFS/Hive/HBase的批量导入。如果它只是一次导入,那就非常好了,它做了它在纸上承诺的事情。但当你想要实时增量更新时,问题就来了。在两种类型的增量更新之间,Sqoop支持:
Append,它允许您重新运行sqoop作业,并且每个新作业都从上一个旧作业结束的位置开始。例如:第一个sqoop作业仅导入第0-100行,然后下一个作业将基于--last-value=100从101开始。但是,即使0-100更新了,追加模式也不会再覆盖它们。
last-modified,这个更糟糕。IMHO,它要求源表有一个时间戳字段,用来指示行的最后更新时间。然后,它根据时间戳执行增量更新导入。如果源表没有这样的东西,那么这个表就没有用了。
我要说的是,如果你有你的源数据库,你可以使用Sqoop来使用最后修改的模式。
发布于 2013-03-27 19:04:44
有很多方法可以做到这一点,但我会编写一个脚本,从MySQL中获取数据并为每种方法生成一个Avro事件。
然后,您可以使用内置的Avro源来接收此数据,并将其发送到HDFS接收器。
https://stackoverflow.com/questions/12690031
复制相似问题