我刚开始学sqoop。我有一个问题,假设一个数据库中有300个表,我想对这些表执行增量加载。我知道我可以用append模式或last-modified模式进行增量导入。
但是,如果job中唯一变化的是表名、cdc列和最后一个值/更新的值,那么我是否必须创建300个job?
是否有人尝试过使用相同的作业,并将上述内容作为参数传递,该参数可以从循环中的文本文件中读取,并对所有表并行执行相同的作业。
行业标准和建议是什么?
另外,有没有一种方法可以截断并重新加载非常小的hadoop表,而不是稍后执行cdc和合并这些表?
1条答案
按热度按时间vuv7lop31#
有import all tables“import tables from a database to hdfs”,但它不提供更改每个表的cdc列的方法。另请参见sqoop import multiple tables
并没有截断,但同样可以通过以下方法实现--delete target dir“删除导入目标目录(如果存在)”