首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从MySQL迁移到Hadoop的Flume

问将数据从MySQL迁移到Hadoop的Flume
EN

Stack Overflow用户
提问于 2012-05-11 17:07:50
回答 5查看 4.9K关注 0票数 2

请分享你的想法。

要求是将Hadoop中的数据迁移到MySQL /HBase进行分析。

应该实时或接近实时地迁移数据。flume可以支持这一点。

还有什么是更好的方法。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-12 01:47:53

对你的问题的直接回答是肯定的。Flume被设计为事件/日志结构化数据的分布式数据传输和聚合系统。如果设置“正确”,flume可以在Hadoop中推送数据以供连续摄取。这是当Flume被正确设置为从各种来源(在这个例子中是MySql)收集数据的时候,我确信如果数据在源中可用,Flume中的接收器将以毫秒级别将其同步到HDFS。一旦数据在HDFS/HBASE上可用,您就可以在其上运行查询,并且可以根据基础架构进行处理。

因此,我想说Flume配置对于将数据近乎实时地推送到HDFS非常重要,然后剩下的取决于Map/Reduce集群的性能以及查询是如何针对正在处理的数据编写的。

我还找到了以下资源来帮助您理解如何使用Flume和HDFS:http://assets.en.oreilly.com/1/event/61/Real-time%20Streaming%20Analysis%20for%20Hadoop%20and%20Flume%20Presentation.pdf

票数 0
EN

Stack Overflow用户

发布于 2012-05-12 17:57:44

据我所知,Flume不是用来做这个的。Flume基本上是用来读取像日志一样的数据源(平面文件),并以结构化的方式将它们推送到接收器。Sqoop很有用,你可以试试http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html

票数 3
EN

Stack Overflow用户

发布于 2013-08-08 23:46:05

实际上,flume更多地用于收集日志或其他时间序列数据。很少有人使用flume将数据从db导入hadoop。

Sqoop适用于从RDBMS到HDFS/Hive/HBase的批量导入。如果它只是一次导入,那就非常好了,它做了它在纸上承诺的事情。但当你想要实时增量更新时,问题就来了。在两种类型的增量更新之间,Sqoop支持:

  1. Append,它允许您重新运行sqoop作业,并且每个新作业都从上一个旧作业结束的位置开始。例如:第一个sqoop作业仅导入第0-100行,然后下一个作业将基于--last-value=100从101开始。但是即使0-100被更新了,追加模式也不会覆盖它们anymore.
  2. last-modified,这个模式更糟糕,它要求源表有一个时间戳字段来指示行最后一次更新的时间。然后,它根据时间戳执行增量更新导入。如果源表没有类似的内容,则此表没有任何用处。

AFAIK,没有完美的解决方案,如果你更关心实时,添加触发器或使用flume来扫描编辑日志,并让你的HBase以RT的方式更新,这听起来很糟糕。或者使用Sqoop+Oozie,定期将您的源表导入到HBase中,您将不会有RT甚至接近RT的响应。到目前为止,如果周围没有其他东西,我会投票给flume自定义源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10548538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档