ETL ツール Sqoop を使用して、MySQL データベース db03 内の 10 テーブルのテーブル構造とデータをビッグ データ プラットフォーム上の Hive にインポート (同期) します。

  1. MySQL で、ユーザー名 sqoop03 とパスワード 123456 でユーザーを作成します。

启アニメーションMySQL:support-files/mysql.server start

MySQL への入力:mysql -u root -p

ユーザー sqoop03 を作成します: *.* のすべてを '123456' で識別される sqoop03@'%' に付与します。

(1) MySQL ユーザー sqoop03 にログインし、 db03 という名前のデータベースを作成しますsqoop03 ユーザーとして mysql にログインします

mysql -u sqoop03 -p

(2) データベースsqoop03の作成

データベースdb03を作成します。

2. sqoop 経由で mysql の sqoop03 ユーザー配下のデータベースを確認します。

コマンド:sqoop list-databases -connect jdbc:mysql://127.0.0.1:3306 -username sqoop03 -password 123456

3. データベース db03 に 10 個のテーブルを作成します。テーブル名とフィールドはカスタマイズでき、各テーブルのデータは 5 行以上である必要があります。

(1)最初のテーブルを作成する

mysql> db03 を使用する

テーブル名と列名を補完するためのテーブル情報の読み取り

-A を使用すると、この機能をオフにして起動を高速化できます。

データベースが変更されました

mysql> テーブル tb01 を作成します(名前 char(100),id char(100));

クエリは OK、影響を受ける行は 0 (0.75 秒)

mysql> tb01 に挿入 value('zhh','100');

クエリは OK、1 行が影響を受ける (0.16 秒)

mysql> tb01 に挿入 value('za','101');

クエリは OK、1 行が影響を受けました (0.09 秒)

mysql> tb01 に挿入 value('zrr','102');

クエリは OK、1 行が影響を受ける (0.02 秒)

mysql> tb01 に挿入 value('gg','103');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb01 に挿入 value('qq','104');

クエリは OK、1 行が影響を受ける (0.04 秒)

(2) 2番目のテーブルを作成します

mysql> テーブル tb02 を作成します (名前 char(100),性別 char(30),年齢 int);

クエリは OK、影響を受ける行は 0 (0.26 秒)

mysql> tb02 に挿入 value('qq','man','104');

クエリは OK、1 行が影響を受けました (0.12 秒)

mysql> tb02 に挿入 value('zz','man','13');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb02 に挿入 value('cf','女性','23');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb02 に挿入 value('gg','女性','20');

クエリは OK、1 行が影響を受ける (0.02 秒)

mysql> tb02 に挿入 value('gf','女性','26');

クエリ OK、1 行が影響を受ける (0.00 秒)

(3) 3番目のテーブルを作成する

mysql> テーブル tb03 を作成します(name char(100),heiht float);

クエリは OK、影響を受ける行は 0 (0.26 秒)

mysql> tb03 に挿入 value('gf',115);

クエリは OK、1 行が影響を受けました (0.26 秒)

mysql> tb03 に挿入 value('zz',165);

クエリは OK、1 行が影響を受ける (0.06 秒)

mysql> tb03 に挿入 value('jz',155);

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb03 に挿入 value('kk',150);

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb03 に挿入 value('ll',167);

クエリは OK、1 行が影響を受ける (0.01 秒)

(4) 4番目のテーブルを作成します

mysql> テーブル tb04 を作成します (名前 char(100)、tel char(30));

クエリは OK、影響を受ける行は 0 (0.11 秒)

mysql> tb04 に挿入 value('hh','110');

クエリは OK、1 行が影響を受ける (0.04 秒)

mysql> tb04 に挿入 value('zz','111');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb04 に挿入 value('gg','112');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb04 に挿入 value('jj','113');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb04 に挿入 value('nm','114');

クエリは OK、1 行が影響を受ける (0.01 秒)

(5) 5番目のテーブルを作成します

mysql> テーブル tb05 を作成します (名前 char(100),アドレス char(100));

クエリは OK、影響を受ける行は 0 (0.08 秒)

mysql> tb05 に挿入 value('hh','ChongQing');

クエリは OK、1 行が影響を受ける (0.04 秒)

mysql> tb05 値に挿入 (kk','広東');

mysql> tb05 に挿入 value('kk','guangdong');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb05 に挿入 value('Jack','YunNan');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb05 に挿入 value('Jf','YunNan');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb05 に挿入 value('fg','HeNan');

クエリ OK、1 行が影響を受ける (0.00 秒)

(6) 6番目のテーブルを作成します

mysql> テーブル tb06 を作成します (名前 char(100),love char(50));

クエリは OK、影響を受ける行は 0 (0.14 秒)

mysql> tb06 に挿入 value('Marry','Sing');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb06 に挿入 value('Mm','haha');

クエリは OK、1 行が影響を受ける (0.06 秒)

mysql> tb06 に挿入 value('kk','hj');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb06 に挿入 value('ss','hj');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb06 に挿入 value('rts','dg');

クエリは OK、1 行が影響を受ける (0.01 秒)

(7) 7番目のテーブルを作成します

mysql> テーブル tb07 を作成します (名前 char(100),academic char(50));

クエリは OK、影響を受ける行は 0 (0.14 秒)

mysql> insert into tb07 value('Marry','Senior');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb07 に挿入 value('Mm','Senior');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb07 に挿入 value('oo','Ungergraduate');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb07 に挿入 value('hh','Ungergraduate');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb07 に挿入 value('iu','Ungergraduate');

クエリ OK、1 行が影響を受ける (0.00 秒)

(8) 8番目のテーブルを作成します

mysql> テーブル table08 を作成します (名前 char(100),作業 char(50));

エラー 1050 (42S01): テーブル 'table08' はすでに存在します

mysql> テーブル tb08 を作成します (名前 char(100),作業 char(50));

クエリは OK、影響を受ける行は 0 (0.14 秒)

mysql> tb08 に挿入 value('hh','Driver');

クエリは OK、1 行が影響を受けました (0.03 秒)

mysql> tb08 に挿入 value('ll','singer');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb08 に挿入 value('tt','Teacher');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb08 に挿入 value('qq','Teacher');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb08 に挿入 value('yq','Teacher');

クエリ OK、1 行が影響を受ける (0.00 秒)

(9) 9番目のテーブルを作成します

mysql> テーブル tb09 を作成します (名前 char(100),salary int);

クエリは OK、影響を受ける行は 0 (0.23 秒)

mysql> tb09 に挿入 value('Ma',6000);

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb09 に挿入 value('hh',4000);

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb09 に挿入 value('gh',3000);

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb09 に挿入 value('yy',9000);

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb09 に挿入 value('oy',2000);

クエリ OK、1 行が影響を受ける (0.00 秒)

(10) 10番目のテーブルを作成します

mysql> テーブル tb10 を作成します (名前 char(100),ステータス char(30));

クエリは OK、影響を受ける行は 0 (0.11 秒)

mysql> tb10 に挿入 value('Ma','Single');

クエリは OK、1 行が影響を受けました (0.09 秒)

mysql> tb10 に挿入 value('hh','Single');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb10 に挿入 value('ih','Married');

クエリは OK、1 行が影響を受ける (0.01 秒)

mysql> tb10 に挿入 value('pp','Married');

クエリ OK、1 行が影響を受ける (0.00 秒)

mysql> tb10 に挿入 value('lh','Married');

クエリは OK、1 行が影響を受ける (0.01 秒)

作成した 10 個のテーブルは次のとおりです。

3. ETL ツール Sqoop を使用して、MySQL データベース db03 内の 10 テーブルのテーブル構造とデータをビッグ データ プラットフォーム上の Hive にインポート (同期)

(1)スクープを開始します。

[root@HadoopMaster bin]# ./sqoop list-databases -connect jdbc:mysql://HadoopMaster:3306/ -username sqoop03 -password 123456

注文:

 sqoop import -connect jdbc:mysql://HadoopMaster:3306/db03 -username sqoop03 -password 123456 -table tb01 -hive-import -hive-table bigdata03.tb01 -m 1

成功を示す:

​​​​​​​​​​​​​​

 (10テーブル分のコマンドを1つずつ入力します。)

4. 結果は次のとおりです。

ハイブ> テーブルを表示;

次のようにポート 9870 で表示します。

おすすめ

転載: blog.csdn.net/qq_58476985/article/details/130307655