mysql - 从 MySQL 选择表名作为文件发送到 HDFS

标签 mysql hadoop hdfs sqoop

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

123_testing
124_testing
125_testing_10
and so on

现在我想选择以 _testing 结尾的表,并将结果作为 hdfs 中的文件。

我想将表名作为文件发送到 HDFS。

我们怎样才能做到这一点。

我可以使用sqoop list-tables,但它给出了所有表和本地计算机上的结果。我们不能用它指定 --target-dir 选项。

最佳答案

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

表名可在 MySQL 的 information_schema 数据库中找到。此查询将获取 db_name 中以 _testing 结尾的表。

select TABLE_NAME from TABLES where TABLE_SCHEMA='db_name' and TABLE_NAME like '%_testing';

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

关于mysql - 从 MySQL 选择表名作为文件发送到 HDFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42659744/

相关文章:

hadoop - 适用于各种属性的最佳技术堆栈

java - 避免在 Hadoop pig 中使用指数表示法

java - 如何在级联中仅从一行中获取某些列

hadoop - "dfs.replication"和 "dfs.datanode.data.dir"配置如何在集群中工作?

mysql - 如果 where 语句不匹配,如何显示表的所有行但具有默认值

php - 如何构建此查询来比较 id 与两个表?

mysql - 在 mysql 中创建过程的问题引发错误 1064

mysql - 错误 1452 : Cannot add or update a child row: a foreign key constraint fails

java - 无法附加到 HDFS

hadoop - Hadoop Distcp-在不同位置之间复制时出现小文件问题