1. 程式人生 > >大資料Sqoop系列之Sqoop匯入匯出資料

大資料Sqoop系列之Sqoop匯入匯出資料

一、Sqoop介紹

  • Sqoop是一個用來將關係型資料庫和Hadoop中的資料進行相互轉移的工具,可以將一個關係型資料庫(例如Mysql、Oracle)中的資料匯入到Hadoop(例如HDFS、Hive、Hbase)中,也可以將Hadoop(例如HDFS、Hive、Hbase)中的資料匯入到關係型資料庫(例如Mysql、Oracle)中。

  • Sqoop工具接收到客戶端的shell命令或者Java api命令後,通過Sqoop中的任務翻譯器(Task Translator)將命令轉換為對應的MapReduce任務,而後將關係型資料庫和Hadoop中的資料進行相互轉移,進而完成資料的拷貝。

二、匯入資料 

1、引數說明

## 連結MySQL資料庫url
--connect jdbc:mysql://127.0.0.1:3306/test_db

## 連結MySQL資料庫使用者名稱
--username root

## 連結MySQL資料庫密碼
--password 123456

## 連結MySQL資料庫中的表
--table tb1

## 設定map的個數
--num-mappers 1 

## 設定匯入到hdfs檔案所在的位置
--target-dir /datas/sqoop/input

## 設定匯入到hdfs檔案前先刪除已經存在的目錄
--delete-target-dir 

## 設定匯入到hdfs檔案的分隔符
--fields-teminated-by ',' 

## 設定增量匯入到hdfs上的檢查列
--check-column id 

## 設定增量匯入到hdfs上的追加方式
--incremental append 

## 設定增量匯入到hdfs上的開始位置
--last-value 4

## 設定增量匯入到hdfs上的檔案儲存格式
--as-parquetfile

## 指定hive中的資料庫
--hive-database test_db 

## 設定操作型別
--hive-import 

## 指定hive中的表
--hive-table tb1

## 備註:delete-target-dir和incremental append不能同時使用

2、Sqoop獲取MySQL的所有資料庫

sqoop list-databases \
--connect jdbc:mysql://127.0.0.1:3306 \
--username root \
--password 123456;

3、Sqoop從MySQL匯入資料到HDFS

sqoop import \
--connect jdbc:mysql://127.0.0.1:3306/test_db \
--username root \
--password 123456 \
--table tb1 \
--num-mappers 1 \
--target-dir /datas/sqoop/input \
--delete-target-dir;

4、Sqoop從MySQL匯入資料到Hive

sqoop import \
--connect jdbc:mysql://127.0.0.1:3306/test \
--username root \
--password 123456 \
--table tb1 \
--num-mappers 1 \
--fields-terminated-by ',' \
--delete-target-dir \
--hive-database test \
--hive-import \ 
--hive-table tb1;

三、匯出資料

1、引數說明

## 連結MySQL資料庫url
--connect jdbc:mysql://127.0.0.1:3306/test_db

## 連結MySQL資料庫使用者名稱
--username root

## 連結MySQL資料庫密碼
--password 123456

## 連結MySQL資料庫中的表
--table tb1

## 設定map的個數
--num-mappers 1

## 設定hdfs檔案匯出的分隔符
--fields-terminated-by ','

## 設定hdfs檔案所在的位置
--export-dir /user/hive/warehouse/test_db.db/tb1

2、Sqoop從Hive匯出資料到MySQL

sqoop export \
--connect jdbc:mysql://127.0.0.1:3306/test_db \
--username root \
--password 123456 \
--table tb1 \
--num-mappers 1 \
--fields-terminated-by ',' \
--export-dir /user/hive/warehouse/test_db.db/tb1;

相關推薦

資料Sqoop系列Sqoop匯入匯出資料

一、Sqoop介紹 Sqoop是一個用來將關係型資料庫和Hadoop中的資料進行相互轉移的工具,可以將一個關係型資料庫(例如Mysql、Oracle)中的資料匯入到Hadoop(例如HDFS、Hive、Hbase)中,也可以將Hadoop(例如HDFS、Hive、Hbase

WpfExcel匯入匯出資料

轉:http://blog.csdn.net/sanjiawan/article/details/6818921 大凡微軟的匯入匯出無論是asp.net、winform、抑或是wpf匯出的方法大致相同。無非就是例項化Excel類,建立工作簿,建立工作表,然後儲

Oracle利用exp和imp,資料泵impdp和expdp匯入匯出資料,spool匯出資料

Oracle利用exp和imp,資料泵impdp和expdp匯入匯出資料,spool匯出資料 注意: (1)imp只能匯入exp匯出的檔案 ,imp,exp是客戶端程式,操作少量資料  (2)impdp只能匯入expdp匯出的檔案,impdp,expdp是伺服器端程式,操作適量大的

Sqoopjava API匯入匯出資料

折騰了一下午終於成功了,這裡做一下總結 專案依賴: <dependency> <groupId>org.apache.sqoop</groupId> <artifactId>sqoop-client</arti

sqoop用法mysql與hive資料匯入匯出

[TOC] ## 一. Sqoop介紹 `Sqoop`是一個用來將`Hadoop`和關係型資料庫中的資料相互轉移的工具,可以將一個關係型資料庫(例如:`MySQL、Oracle、Postgres`等)中的資料導進到`Hadoop`的`HDFS`中,也可以將`HDFS`的資料導進到關係型資料庫中。對於某些`N

資料協作框架Sqoop

一、概述:     1、Sqoop:SQL-to-Hadoop     2、連線傳統關係型資料庫和Hadoop的橋樑:      a、把關係型資料庫的資料匯入到Hadoop與其相關的系統中(如Hive,Hbase)

詳解資料採集引擎Sqoop&採集Oracle資料庫中的資料

歡迎關注大資料和人工智慧技術文章釋出的微信公眾號:清研學堂,在這裡你可以學到夜白(作者筆名)精心整理的筆記,讓我們每天進步一點點,讓優秀成為一種習慣! 詳解大資料採集引擎之Sqoop&採集oracle資料庫中的資料 一、Sqoop的簡介: Sqoo

sqoop簡單操作-從mysql匯入匯出資料

轉:http://blog.csdn.net/chaiyiping/article/details/40295881 安裝和配置: tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz vi /etc/profil

資料Zookeeper系列Zookeeper服務開機自啟動配置

1.  編寫執行指令碼 $ sudo cd /etc/init.d $ sudo vi zookeeper #!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper

資料Hadoop系列Hadoop服務開機自啟動配置

1.  編寫執行指令碼 $ sudo cd /etc/init.d $ sudo vi hadoop #!/bin/bash #chkconfig:35 95 1 #description:script to start/stop hadoop su - hadoop

資料HBase系列HBase分散式資料庫部署

一、部署準備 1. 依賴框架 大資料Hadoop系列之Hadoop分散式叢集部署:https://blog.csdn.net/volitationLong/article/details/80285123 大資料Zookeeper系列之Zookeeper叢集部署:https://

資料Zookeeper系列Zookeeper分散式協調服務部署

一、部署準備 1. 安裝介質 zookeeper-3.4.13:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz 2. 主機規劃 192.168.233.13

資料Hive系列Hive MapReduce

1.  JOIN 1.1  join操作 INSERT OVERWRITE TABLE pv_users SELECT pv.pageid, u.age FROM page_view pv JOIN user u ON (pv.userid = u.userid);

資料HBase系列初識HBase

1.  HBase簡介 1.1  為什麼使用HBase 傳統的RDBMS關係型資料庫(MySQL/Oracle)儲存一定量資料時進行資料檢索沒有問題,可當資料量上升到非常巨大規模的資料(TB/PB)級別時,傳統的RDBMS已無法支撐,這時候就需要一種新型的資料庫系統更好更

資料Hive系列Hive常用SQL

1. hive匯出資料到hdfs 語法:export table 表名 to '輸出路徑'; 例子:export table cloud.customer to '/tmp/hive/customer'; 2. beeline連線 $ beeline 語法:beeline> !

資料Hive系列Hive使用者許可權管理

1. 角色 * 建立角色 create role role_name; * 顯示角色 show roles; * 刪除角色 drop role role_name; 2. 使用者 * 使用者進入admin角色許可權 set hive.users.in.admin.role;

資料Flume系列Flume叢集搭建

1. 概念 叢集的意思是多臺機器,最少有2臺機器,一臺機器從資料來源中獲取資料,將資料傳送到另一臺機器上,然後輸出。接下來就要實現Flume叢集搭建。叢集如下圖所示。 2. Flume搭建 2.1 部署準備 部署主機 192.168.9.139 host14

資料Hive系列Hive API

Maven依賴配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma

資料學習系列—HBASE

hadoop生態系統 zookeeper負責協調 hbase必須依賴zookeeper flume 日誌工具 sqoop 負責 hdfs dbms 資料轉換 資料到關係型資料庫轉換 大資料學習群119599574 hbase簡介 hadoop database 是一個

資料Hive系列Hive效能優化

一、介紹 首先,我們來看看Hadoop的計算框架特性,在此特性下會衍生哪些問題? 資料量大不是問題,資料傾斜是個問題。 jobs數比較多的作業執行效率相對比較低,比如即使有幾百行的表,如果多次關聯多次彙總,產生十幾個jobs,耗時很長。原因是map reduce作業初