从 mysql 到 Hbase 的近实时同步
Near real time sync from mysql to Hbase
目前我在将数据从 mysql 同步到 hbase 时遇到问题,我需要从 mysql 到 hbase 的近乎实时的数据同步,并且我需要合并多个 mysql tables 到一个 hbase table 在数据同步期间。
我试了sqoop好像不能满足我们的要求
那么,是否有任何现有的 tools/libs 可以用于我的案例,或者我可以尝试使用 spark 的任何其他解决方案。
考虑在 HBase 上使用 Apache Phoenix。它将为您提供对存储在 HBase 中的数据的低延迟 SQL 查询(因此对于 OLTP 是 suitable 并且对于 OLAP 易于使用),因此您不必担心同步。它还具有 NoSQL 功能,例如在查询期间动态添加列的能力。
为了满足您的用例,您可以 运行 Phoenix 用于 OLTP,而 Phoenix 在只读副本上的第二个实例 运行 table 加入 OLAP。
http://www.cloudera.com/documentation/enterprise/5-4-x/topics/admin_hbase_read_replicas.html
Secondary replicas are refreshed at intervals controlled by a timer (hbase.regionserver.storefile.refresh.period), and so are guaranteed to be at most that interval of milliseconds behind the primary RegionServer.
此解决方案满足您对 OLTP、OLAP 和近实时同步的要求,同时为您的事务数据库提供使用 MySQL 无法轻松实现的可扩展性。 Apache Phoenix 还提供与 Hadoop 生态系统的完全集成,因此它将与您当前的分析堆栈很好地集成。
目前我在将数据从 mysql 同步到 hbase 时遇到问题,我需要从 mysql 到 hbase 的近乎实时的数据同步,并且我需要合并多个 mysql tables 到一个 hbase table 在数据同步期间。
我试了sqoop好像不能满足我们的要求
那么,是否有任何现有的 tools/libs 可以用于我的案例,或者我可以尝试使用 spark 的任何其他解决方案。
考虑在 HBase 上使用 Apache Phoenix。它将为您提供对存储在 HBase 中的数据的低延迟 SQL 查询(因此对于 OLTP 是 suitable 并且对于 OLAP 易于使用),因此您不必担心同步。它还具有 NoSQL 功能,例如在查询期间动态添加列的能力。
为了满足您的用例,您可以 运行 Phoenix 用于 OLTP,而 Phoenix 在只读副本上的第二个实例 运行 table 加入 OLAP。
http://www.cloudera.com/documentation/enterprise/5-4-x/topics/admin_hbase_read_replicas.html
Secondary replicas are refreshed at intervals controlled by a timer (hbase.regionserver.storefile.refresh.period), and so are guaranteed to be at most that interval of milliseconds behind the primary RegionServer.
此解决方案满足您对 OLTP、OLAP 和近实时同步的要求,同时为您的事务数据库提供使用 MySQL 无法轻松实现的可扩展性。 Apache Phoenix 还提供与 Hadoop 生态系统的完全集成,因此它将与您当前的分析堆栈很好地集成。