select table 名称从 MySQL 作为文件传输到 HDFS

select table names from MySQL as a file to HDFS

在 MySQL 数据库中我有 100 个 table。一些 table 名称的结尾类似如下

123_testing
124_testing
125_testing_10
and so on

现在我想 select 以 _testing 结尾的 table 并将结果作为文件保存在 hdfs 中。

我想将 table 名称作为文件复制到 HDFS。

我们该怎么做。

我可以使用 sqoop list-tables 但它会给我所有 table 和本地机器上的结果。我们不能用这个指定 --target-dir 选项。

list-tables 不接受 --target-dir 参数。

table 个名字在 MySQL 的 information_schema 数据库中可用。此查询将获取 db_name 中以 _testing.

结尾的 tables
select TABLE_NAME from TABLES where TABLE_SCHEMA='db_name' and TABLE_NAME like '%_testing';

将此查询与 sqoop-import 中的 --query 参数一起使用,然后使用 --target-dir.