我有一个postgresql数据库,我用它来生产服务器。我想建立一个Hadoop / Spark集群来运行mapreduce作业。为了做到这一点,我需要将我的postgres数据库中的数据加载到hdfs。天真的方法是让批处理作业每天一次将数据库的内容(120GB)转储到HDFS。这将是浪费和昂贵的。由于大多数数据从一天到下一天不会发生变化,理论上每天发送差异可能会更便宜,也更有效率。这可能吗?
我已经阅读了一些关于sqoop的内容,它似乎提供了我想要的功能,但它需要对数据库和应用程序进行更改。有没有办法不要求对数据库进行任何更改?
答案 0 :(得分:0)
Apache Sqoop可以连接到postgreSQL数据库。
Sqoop提供了一种增量导入模式,可用于仅检索比先前导入的一组行更新的行,即,您可以获得在上次运行和当前运行之间发生的表更新。
数据库无需更改。
使用Sqoop postgreSQL连接器,您可以将Sqoop连接到数据库并获得增量导入而无需更改任何数据库。