2017-03-07 5 views
2

MySQLデータベースには100個のテーブルがあります。テーブル名の中には、今私は_testingのように終了し、HDFSにファイルとして結果を持つテーブルを選択したいテーブル名をMySQLからHDFSへのファイルとして選択

123_testing 
124_testing 
125_testing_10 
and so on 

以下のように同様に終了します。

テーブル名をファイルとしてHDFSに変換する必要があります。

どうすればいいですか?

私はsqoop list-tablesを使用できますが、すべてのテーブルとローカルマシンの結果が表示されます。これでは--target-dirオプションを指定することはできません。

答えて

3

list-tables--target-dir引数を受け付けません。

テーブル名は、MySQLのinformation_schemaデータベースで利用できます。このクエリは、末尾がのdb_nameのテーブルをフェッチします。

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

sqoop-import--query引数を指定して、このクエリを使用して、--target-dirを使用しています。

関連する問題