如何使用flume从mysql连续读取加载到hbase?
我熟悉sqoop但我需要从mysql源继续这样做。 是否需要有自定义源来执行此操作?
答案 0 :(得分:0)
有很多方法可以做到这一点,但我会编写一个脚本,从MySQL获取数据并为每个生成Avro事件。
然后,您可以使用内置的Avro源接收此数据,并将其发送到HDFS接收器。
答案 1 :(得分:0)
Sqoop适用于从RDBMS到HDFS / Hive / HBase的批量导入。如果它只是一次导入,它非常好,它做了它在纸上的承诺。但是,当您想要实时增量更新时,问题就出现了。在Sqoop支持的两种类型的增量更新之间:
附加,这个允许您重新运行sqoop作业,并且每个新作业都从最后一个旧作业结束的地方开始。例如。第一个sqoop作业只导入行0-100,然后下一个作业将从101开始 - 基于--last-value = 100。但即使0-100已更新,附加模式也不会再覆盖它们了。
最后修改过,这个更糟糕的是恕我直言,它要求源表有一个时间戳字段,表示该行何时上次更新。然后根据时间戳,它执行增量更新导入。如果源表没有这样的东西,那么这个没用。
我会说,如果您确实掌握了源数据库,可以使用Sqoop进行最后修改模式。