Sqoop 的语法导入数据库中存在的 100 个表中的 5 个 - 不要使用排除关键字?

Posted

技术标签:

【中文标题】Sqoop 的语法导入数据库中存在的 100 个表中的 5 个 - 不要使用排除关键字?【英文标题】:Syntax to Sqoop import 5 out of 100 tables present in database - don't use exclude keyword? 【发布时间】:2018-05-22 13:49:49 【问题描述】:

我在一个数据库中有 100 个表。 我只想导入 5 个表。 我不能/不使用“--排除”命令

【问题讨论】:

编写 5 个导入命令... Sqoop 允许您一次带一张桌子。甚至在给定特定查询的情况下带来数据。可能会更好,您可以先尝试一些东西并分享您到目前为止所做的事情。 Sqoop 选择你要带的数据:sqoop.apache.org/docs/1.4.1-incubating/… 【参考方案1】:
This can be done by shell script.

1)Prepare a input file which has list of 5 DBNAME.TABLENAME 
2)The shell script will have this file as input, iterate line by line and execute sqoop statement for each line.
while read line;
do

    DBNAME=`echo $line | cut -d'.' -f1` 
    tableName=`echo $line | cut -d'.' -f2`


    sqoop import -Dmapreduce.job.queuename=$RM_QUEUE_NAME --connect '$JDBC_URL;databaseName=$DBNAME;username=$USERNAME;password=$PASSWORD' --table $tableName  --target-dir $DATA_COLLECTOR/$tableName  --fields-terminated-by '\001'  -m 1 

done<inputFile

【讨论】:

以上是关于Sqoop 的语法导入数据库中存在的 100 个表中的 5 个 - 不要使用排除关键字?的主要内容,如果未能解决你的问题,请参考以下文章

linux下用sqoop导入mysql有个表最多只能导入10580条记录,怎么改才能让它放多点

SQOOP 导入和评估

我用sqoop从oracle导入数据到hdfs时,总是报 表或视图不存在错误,求解答...

使用 Sqoop 并行导入 Oracle 表的最佳方法是啥?

sqoop 数据抽取到hive语法

sqoop 数据抽取到hive语法