鍍金池/ 教程/ 大數(shù)據(jù)/ Sqoop導(dǎo)出
Sqoop導(dǎo)出
Sqoop導(dǎo)入所有表
Sqoop導(dǎo)入
Sqoop代碼生成
Sqoop安裝
Sqoop Eval工具
Sqoop作業(yè)
Sqoop教程
Sqoop列出所有表
Sqoop列出數(shù)據(jù)庫(kù)

Sqoop導(dǎo)出

本章介紹如何將數(shù)據(jù)從HDFS導(dǎo)出到RDBMS數(shù)據(jù)庫(kù)。目標(biāo)表必須存在于目標(biāo)數(shù)據(jù)庫(kù)中。這是作為輸入到Sqoop的文件包含記錄,這被稱為在表中的行。那些被讀取并解析成一組記錄和分隔與用戶指定的分隔符。

默認(rèn)的操作是從輸入文件到數(shù)據(jù)庫(kù)表,使用INSERT語(yǔ)句插入所有記錄。在更新模式,Sqoop生成替換現(xiàn)有記錄到數(shù)據(jù)庫(kù)的UPDATE語(yǔ)句。

語(yǔ)法

以下是export命令語(yǔ)法。

$ sqoop export (generic-args) (export-args) 
$ sqoop-export (generic-args) (export-args)

示例

在HDFS文件中的員工數(shù)據(jù)的一個(gè)例子,。員工數(shù)據(jù)是在HDFS“EMP/”目錄的emp_data文件中。所述emp_data如下。

1201, gopal,     manager, 50000, TP
1202, manisha,   preader, 50000, TP
1203, kalil,     php dev, 30000, AC
1204, prasanth,  php dev, 30000, AC
1205, kranthi,   admin,   20000, TP
1206, satish p,  grp des, 20000, GR

它是強(qiáng)制性的,該表手動(dòng)導(dǎo)出創(chuàng)建并且存在于從要導(dǎo)出的數(shù)據(jù)庫(kù)中。

下面的查詢被用來(lái)創(chuàng)建MySQL命令行表'employee'。

$ mysql
mysql> USE db;
mysql> CREATE TABLE employee ( 
   id INT NOT NULL PRIMARY KEY, 
   name VARCHAR(20), 
   deg VARCHAR(20),
   salary INT,
   dept VARCHAR(10));

下面的命令是用來(lái)導(dǎo)出表數(shù)據(jù)(這是在HDFS emp_data文件)到MySQL數(shù)據(jù)庫(kù)服務(wù)器DB數(shù)據(jù)庫(kù)的employee表中。

$ sqoop export \
--connect jdbc:mysql://localhost/db \
--username root \
--table employee \ 
--export-dir /emp/emp_data

下面的命令是用來(lái)驗(yàn)證表mysql命令行。

mysql>select * from employee;

如果給定的數(shù)據(jù)存儲(chǔ)成功,那么可以找到數(shù)據(jù)在如下的employee表。

+------+--------------+-------------+-------------------+--------+
| Id   | Name         | Designation | Salary            | Dept   |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal        | manager     | 50000             | TP     |
| 1202 | manisha      | preader     | 50000             | TP     |
| 1203 | kalil        | php dev     | 30000             | AC     |
| 1204 | prasanth     | php dev     | 30000             | AC     |
| 1205 | kranthi      | admin       | 20000             | TP     |
| 1206 | satish p     | grp des     | 20000             | GR     |
+------+--------------+-------------+-------------------+--------+