我在中使用了下面这样的查询 MySQL
. 我正在得到我想要的结果。
select TABLE_NAME,count(column_name) as no_of_columns from information_schema.columns where TABLE_SCHEMA = 'testing' and TABLE_NAME NOT REGEXP 'temp|bkup|RemoveMe|test' group by TABLE_NAME
当我在sqoop import语句中使用相同的查询时,结果是不同的。
这个 sqoop
导入语句如下。
sqoop import --connect jdbc:mysql://xxxxxx:3306/information_schema --username xxxxx --password-file /user/xxxxx/passwds/mysql.file --query "select TABLE_NAME,count(column_name) as no_of_columns from information_schema.columns where TABLE_SCHEMA = 'testing' and TABLE_NAME NOT REGEXP 'temp|bkup|RemoveMe|test' group by TABLE_NAME and \$CONDITIONS" -m 1 --target-dir /user/hive/warehouse/xxxx.db/testing_columns --outdir /home/xxxxx/logs/outdir
为什么会发生这种情况?我应该怎么做才能得到想要的结果
1条答案
按热度按时间oknwwptz1#
这个
$CONDITIONS
令牌必须在WHERE
条款:另外,根据sqoop用户指南:
在当前版本的sqoop中,使用自由形式查询的功能仅限于简单的查询,其中没有不明确的投影和
OR
环境条件WHERE
条款。使用复杂的查询(例如具有子查询或连接的查询)会导致不明确的投影,这可能会导致意外的结果。