1. 程式人生 > >大資料(二十七):Sqoop常用命令和公用引數

大資料(二十七):Sqoop常用命令和公用引數

一、常用命令列舉

命令

說明

import

ImportTool

將資料匯入到叢集

export

ExportTool

將叢集資料匯出

codegen

CodeGenTool

獲取資料庫中某張表資料生成java並打包jar

create-hive-table

CreateHiveTableTool

建立Hive表

eval

EvalSqlTool

查詢SQL執行結果

import-all-tables

ImportAllTablesTool

匯入某個資料庫下所有表到HDFS中

job

JobTool

用來生成一個sqoop的任務,生成後,該任務並不執行,除非使用命令執行該任務。

list-databases

ListDatabasesTool

列出所有資料庫名

list-tables

ListTablesTool

列出某個資料庫下所有表

merge

MergeTool

將HDFS中不同目錄下面的資料合在一起,並存放在指定的目錄中

metastore

MetastoreTool

記錄Sqoop Job的元資料資訊,如果不啟動Metastore例項,則預設的元資料儲存目錄為~/.sqoop,如果要更改儲存目錄,可以在配置檔案sqoop-site.xml中進行更改。

help

HelpTool

列印sqoop幫助資訊

version

VersionTool

列印sqoop版本資訊

二、命令&引數詳解

1.公用引數:資料庫連線

引數

說明

--connect

連線關係型資料庫的URL

--connection-manager

指定要使用的連線管理類

--driver

JDBC的driver class

--help

列印幫助資訊

--password

連線資料庫的密碼

--username

連線資料庫的使用者名稱

--verbose

在控制檯打印出詳細資訊

2.公用引數:import

引數

說明

--enclosed-by<char>

給欄位值前後加上指定的字元

--escaped-by<char>

對欄位中的雙引號加轉義符

--fields-terminated-by<char>

設定每個欄位是以什麼符號作為結束 預設為逗號

--lines-terminated-by<char>

設定每行記錄之間的分隔符,預設是\n

--mysql-delimiters

Mysql預設的分隔符設定,欄位之間以逗號分隔,行之間以\n分隔,預設轉譯符是\,欄位值以單引號包裹。

--optionally-enclosed-by<char>

給帶有雙引號或單引號的欄位值前後加上指定字元

3.公用引數:export

引數

說明

--input-enclosed-by<char>

對欄位值前後加上指定字元

--input-escaped-by<char>

對含有轉譯符的欄位做轉義處理

--input-fields-terminated-by<char>

欄位之間的分隔符

--input-lines-terminated-by<char>

行之間的分隔符

--input-optionally-enclosed-by<char>

給帶有雙引號或單引號的欄位前後加上指定字元

4.公用引數:hive

引數

說明

--hive-delims-replacement<arg>

用自定義的字串替換掉資料中的\r\n和\013\010等字元

--hive-drop-import-delims

在匯入資料到hive時,去掉資料中的\r\n\013\010這種的字元

--map-column-hive<map>

生成hive表時,可以更改生成欄位的資料型別

--hive-partition-key

建立分割槽,後面直接跟分割槽名,分割槽欄位的預設型別為string

--hive-partition-value<v>

匯入資料時,指定某個分割槽的值

--hive-home<dir>

hive的安裝目錄,可以通過該引數覆蓋之前預設配置的目錄

--hive-import

將資料從關係資料庫中匯入到hive表中

--hive-overwrite

覆蓋掉在hive表中已經存在的資料

--create-hive-table

預設是false,即如果目標表已經存在了,那麼建立任務失敗

--hive-table

後面接要建立的hive表,預設使用mysql的表名

--table

指定關係資料庫的表名