輸入sqoop |ハイブ| HBaseの

データのインポート(クラスタオブジェクト)

Sqoop「インポート」という概念では意味:大きな非クラスタ化データ(RDBMS)から大規模なデータクラスタ(HDFS、HIVE、HBaseの)データの伝送に、と呼ばれる:インポート、つまり、importキーワードを使用します。

HDFSに1つのRDBMS

1)ノーマルオープンMySQLサービスを決定します

2)表を作成し、いくつかのデータMySQLを挿入

$ mysqlの-uroot -p000000 

MySQLの>データベース会社を作成します。

mysqlの>テーブルcompany.staff(ID int型(4)主キーNOT NULL AUTO_INCREMENT、名前はvarchar(255)、セックスVARCHAR(255))を作成します。

MySQLの> company.staffに挿入(名前、性別)の値( '・トーマス'、 '男性'); 

MySQLの> company.staffに挿入(名前、性別)の値( 'カタリナ'、 '女性');

3)データのインポート

(1)すべての導入

$ binに/ sqoop \インポート

--connect JDBCます。mysql:// hadoop102:\ 3306 /会社

--usernameルート\は

\ 000000を--password 

--tableスタッフ\ 

--target-dirは/ユーザー/会社\ 

--delete-ターゲット-dirの\ 

--num-マッパー1 \ 

--fields終端-で"\ tの"

(2)インポートクエリ

$ビン/ sqoop輸入の\ 

--connectのJDBC:mysqlの:// hadoop102:3306 /会社\ 

--usernameルート\ 

--password 000000 \ 

--target-dirは/ユーザー/会社\ 

--delete-対象のdir \ 

- -num-マッパー1 \ 

--fields終端-で"\ tの" \ 

--query 'スタッフからのid <= 1と$条件名を選択し、性別;'

ヒント:最後に書き込まれたデータの一貫性を確保するために使用するパラメータを渡し、WHERE句で「$条件」を含んでいなければなりません。

クエリは、二重引用符を使用している場合、その識別シェル変数を防ぐために、条件転送する前に$文字を追加する必要があります。

(3)指定されたカラムの導入を

$ビン/ sqoop輸入の\ 

--connectのJDBC:mysqlの:// hadoop102:3306 /会社\ 

--usernameルート\ 

--password 000000 \ 

--target-dirは/ユーザー/会社\ 

--delete-対象のdir \ 

- -num-マッパー1 \ 

--fields終端-で"\ tの" \ 

--columns ID、\セックス

--tableスタッフ

ヒント:それは複数の列になる場合分けたときの列は、カンマで区切って、スペースを追加しないでください

(4)キーワードフィルタクエリsqoopインポートデータを使用して

$ビン/ sqoop輸入の\ 

--connectのJDBC:mysqlの:// hadoop102:3306 /会社\ 

--usernameルート\ 

--password 000000 \ 

--target-dirは/ユーザー/会社\ 

--delete-対象のdir \ 

- -num-マッパー1 \ 

--fieldsが終わる-で"\ tの" \ 

--tableスタッフの\は、

"ID = 1" --where

2  RDBMSはハイブに

$ binに/ sqoop \インポート

--connect JDBCます。mysql:// hadoop102:\ 3306 /会社

--usernameルート\は

\ 000000を--password 

--tableスタッフ\ 

--num-マッパー1 \ 

--hiveインポート\ 

- -fields終端-で"\ tの" \ 

--hive上書き\ 

--hiveテーブルstaff_hive

ヒント:この2段階のプロセスは、最初のステップは、HDFSにデータをインポートするために、第2のステップはハイブ倉庫にHDFSのデータ移行にインポートされ、デフォルトの一時ディレクトリの最初のステップは、/ユーザー/ユーザー名/テーブル名です

3  HのRDBMS B ASE

$ binに/ sqoop \インポート

--connect JDBCます。mysql:// hadoop102:\ 3306 /会社

--usernameルート\は

000000 \ --password 

--table会社\ 

--columns "ID、氏名、性別を" \ 

--column -family "情報" \ 

--hbase作成テーブル\ 

--hbase行キー"ID" \ 

--hbaseテーブル"hbase_company" \ 

--num-マッパ1 \ 

--split-IDによって

ヒント:sqoop1.4.6のみHBase1.0.1バージョンの前に自動作成機能HBaseのテーブルをサポートしています

解決策:手動HBaseのテーブルを作成します。

HBaseのは>「情報 'hbase_company' を作成します

(5)この表の次のスキャンのHBaseで得られ

HBaseの>スキャン 'hbase_company'

おすすめ

転載: www.cnblogs.com/alexzhang92/p/10927400.html