2016-03-23 9 views
0

私のHDFSファイルには5つの列が含まれています。Sqoop hdfsからmysqlへの特定の列のエクスポートが正しく行われていません

emp_no,birth_date,first_name,last_name,hire_date 

私は3列でそれをエクスポートする:

emp_no,first_name,last_name 

私は

sqoop export 
    --connect jdbc:mysql://mysql.example.com/sqoop 
    --username sqoop 
    --password sqoop 
    --table employees 
    --columns "emp_no,first_name,last_name" 
    --export-dir /user/dataset/employees 

でそれをやっているしかし、私は、MySQLのテーブルにemp_nobirth_datefirst_nameを取得しています。

私は私の問題を解決し、私は私のテーブル内の3列を取得していますが、私はスキップしたい1つの列がsqoop export

+0

--input-fields-terminated-by '\ 001' - lines-terminated-by '\ n'を追加してください。 –

+0

ありがとうございました。しかし、私はこれらのオプションも使用していました。 – Dulari

答えて

1

--columnsで起きていません。実際に私は輸出のために列を誤解していました。

エクスポート用の--columnsオプションを使用すると、HDFSカラムではなく、カラムのサブセットを選択したり、テーブルカラム(または宛先などのmysqlカラム)の順序を制御できます。

このオプションは、HDFSソース列と宛先テーブルの--columnsオプションで説明した列とのバインドを決定します。

sqoopコマンドの "col2、col3、col1"に言及している場合 col1、col2、col3はmysqlテーブルのカラムです

次に、col2をHDFSソースの最初のカラムとcol3にバインドします。 HDFSソースなど..

+0

これは、MySQLにデータを選択的にインポートするという問題を解決しましたか?あなたのために働いた質問を提供してください。 – daemon12

関連する問題