使用sqoop排除表

问题描述 投票:0回答:1

我在RDBMS中有100个表,但我只想导入50个表。

如何使用Sqoop做到这一点?我不想使用—exclude命令。

请通过示例告诉我这个过程。

hadoop sqoop
1个回答
0
投票

你可以在bash中通过列出所有带有Sqoop的表来执行此操作,然后只导入其中的50个:

JDBC_URL=<jdbc_url>
DBNAME=<database>
USERNAME=<username>
PASSWORD=<password>
DATA_COLLECTOR=<import_dir>

sqoop list-tables \
    --connect "$JDBC_URL;databaseName=$DBNAME;username=$USERNAME;password=$PASSWORD" \
| head -n 50 \
| xargs -I {} sqoop import \
    --connect "$JDBC_URL;databaseName=$DBNAME;username=$USERNAME;password=$PASSWORD" \
    --table "{}"  --target-dir "$DATA_COLLECTOR/{}"
© www.soinside.com 2019 - 2024. All rights reserved.