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从oracle导入数据到hdfs时,总是报 表或视图不存在错误,求解答...