【发布时间】:2017-08-29 09:20:02
【问题描述】:
我需要在不使用 Sqoop 的情况下将大量数据从 RDBMS 移动到 Hadoop。我有 2200 个表的数据库,使用 Sqoop 将它们导入 hdfs 是一项耗时的工作,需要大量时间并访问数据库以选择每次都会影响性能。我有更多的资源可以从 RDBMS 转移到 hdfs。我用 hive 查询 hdfs 中的文件。有人可以用更有效的方法帮助我吗?
【问题讨论】:
我需要在不使用 Sqoop 的情况下将大量数据从 RDBMS 移动到 Hadoop。我有 2200 个表的数据库,使用 Sqoop 将它们导入 hdfs 是一项耗时的工作,需要大量时间并访问数据库以选择每次都会影响性能。我有更多的资源可以从 RDBMS 转移到 hdfs。我用 hive 查询 hdfs 中的文件。有人可以用更有效的方法帮助我吗?
【问题讨论】:
您始终可以使用任何后端代码手动执行此操作:从数据库读取数据并将流式写入 HDFS。
然后在您的应用程序配置中,您可以进行任何您需要的自定义(线程、超时、数据批处理量等)。这是一个相当简单的解决方案。
出于某种我不记得的原因,我们已经尝试过一次。但大多数情况下我们使用 sqoop 并且在这里没有问题。
您还可以制作数据库的副本(类似副本),除了您的 sqoop 作业之外,任何外部系统都不会使用该数据库。所以用户选择不会影响性能。
【讨论】: