mysql - 如何使用flume从mysql中读取数据?

标签 mysql hadoop hbase flume

如何使用flume连续读取mysql加载到hbase?

我熟悉 sqoop,但我需要从 mysql 源不断地做它。 是否需要自定义源才能执行此操作?

最佳答案

Sqoop 适用于从 RDBMS 批量导入 HDFS/Hive/HBase。如果它只是一次导入,那很好,它实现了它在纸面上的 promise 。但是当你想要实时增量更新时,问题就来了。 Sqoop 支持的两种增量更新之间:

Append,这个允许你重新运行 sqoop 作业,每个新作业都从上一个旧作业结束的地方开始。例如。第一个 sqoop 作业只导入行 0-100,然后下一个作业将基于 --last-value=100 从 101 开始。但即使 0-100 得到更新,追加模式也不会再覆盖它们。

last-modified,恕我直言,这个更糟糕,它要求源表有一个时间戳字段,指示该行最后更新的时间。然后根据时间戳进行增量更新导入。如果源表没有类似的东西,这个就没用了。

我想说,如果您确实掌握了源数据库,则可以使用 Sqoop 进入最后修改模式。

关于mysql - 如何使用flume从mysql中读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12690031/

相关文章:

hadoop - 我需要在哪里创建 HDFS 用户?

java - 使用Java远程访问HBase Table List

php - 在函数中丢失全局变量

mysql - Scriptella 中的特殊字符,jexl

mysql - 如何在日期中使用大于运算符?

java - 如何跳过缺少特定列的 HBase 行?

hadoop - zookeeper和hadoop 2.6 + hbase 0.98

php - 我的 SELECT COUNT 查询返回一个数组而不是整数

hadoop - 使用自定义文件格式读取Hive中的xml文件

Hadoop:...被复制到 0 个节点而不是 minReplication (=1)。有 1 个数据节点正在运行,并且没有节点被排除在此操作中