Sqoop學習筆記

1、Sqoop簡介

  Apache Sqoop(TM)是一種旨在有效地在Apache Hadoop和諸如關係數據庫等結構化數據存儲之間傳輸大量數據的工具。
  Sqoop於2012年3月孵化出來,如今是一個頂級的Apache項目。
請注意,1.99.7與1.4.6不兼容,且沒有特徵不完整,它並不打算用於生產部署。java

2、Sqoop原理

  將導入或導出命令翻譯成mapreduce程序來實現。
  在翻譯出的mapreduce中主要是對inputformat和outputformat進行定製。node

3、Sqoop安裝

  安裝Sqoop的前提是已經具有Java和Hadoop的環境。mysql

3.一、下載並解壓

    1. 最新版下載地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/
    1. 上傳安裝包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虛擬機中,如個人上傳目錄是:/opt/software/
    1. 解壓sqoop安裝包到指定目錄,如:
$ tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/

二、修改配置文件

  Sqoop的配置文件與大多數大數據框架相似,在sqoop根目錄下的conf目錄中。sql

    1. 重命名配置文件
$ mv sqoop-env-template.sh sqoop-env.sh
$ mv sqoop-site-template.xml sqoop-site.xml 此行不用作
    1. 修改配置文件

sqoop-env.shshell

export HADOOP_COMMON_HOME=/opt/module/hadoop-2.8.4
export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.8.4
export HIVE_HOME=/opt/module/hive
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export ZOOCFGDIR=/opt/module/zookeeper-3.4.10/conf

三、拷貝JDBC驅動

  拷貝jdbc驅動到sqoop的lib目錄下,如:數據庫

$ cp -a mysql-connector-java-5.1.27-bin.jar /opt/module/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib

四、驗證Sqoop

  咱們能夠經過某一個command來驗證sqoop配置是否正確:apache

$ bin/sqoop help
出現一些Warning警告(警告信息已省略),並伴隨着幫助命令的輸出:
Available commands:
  codegen            Generate code to interact with database records
  create-hive-table     Import a table definition into Hive
  eval               Evaluate a SQL statement and display the results
  export             Export an HDFS directory to a database table
  help               List available commands
  import             Import a table from a database to HDFS
  import-all-tables     Import tables from a database to HDFS
  version            Display version information
·····

  注:註釋掉configure-sqoop 134行到143行的內容,內容以下app

134 ## Moved to be a runtime check in sqoop.
     135 #if [ ! -d "${HCAT_HOME}" ]; then
    136 #  echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."
    137 #  echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'
    138 #fi
    139 #
    140 #if [ ! -d "${ACCUMULO_HOME}" ]; then
    141 #  echo "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail."
    142 #  echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.'
    143 #fi

五、測試Sqoop是否可以成功鏈接數據庫

$ bin/sqoop list-databases --connect jdbc:mysql://bigdata113:3306/ --username root --password 000000
出現以下輸出:
information_schema
metastore
mysql
performance_schema

4、Sqoop的簡單使用案例

一、導入數據

  在Sqoop中,「導入」概念指:從非大數據集羣(RDBMS)向大數據集羣(HDFS,HIVE,HBASE)中傳輸數據,叫作:導入,即便用import關鍵字。框架

1.一、RDBMS到HDFS
    1. 肯定Mysql服務開啓正常
    1. 在Mysql中新建一張表並插入一些數據
$ mysql -uroot -p000000
mysql> create database company;
mysql> create table company.staff(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));
mysql> insert into company.staff(name, sex) values('Thomas', 'Male');
mysql> insert into company.staff(name, sex) values('Catalina', 'FeMale');
    1. 導入數據

  (1)所有導入工具

$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--table staff \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t"

  (2)查詢導入

$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--query 'select name,sex from staff where id <=3 and $CONDITIONS;'

  尖叫提示:must contain '$CONDITIONS' in WHERE clause. 注:CONDITIONS 翻譯‘條件’
  尖叫提示:若是query後使用的是雙引號,則$CONDITIONS前必須加轉移符,防止shell識別爲本身的變量。

  (3)導入指定列

$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--columns id,sex \
--table staff

  尖叫提示:columns中若是涉及到多列,用逗號分隔,分隔時不要添加空格

  (4)使用sqoop關鍵字篩選查詢導入數據

$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--table staff \
--where "id=2"

  尖叫提示:在Sqoop中可使用sqoop import -D property.name=property.value這樣的方式加入執行任務的參數,多個參數用空格隔開。

1.二、RDBMS到Hive
$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/Andy \
--username root \
--password 000000 \
--table aca \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-table staff_hive

  尖叫提示:該過程分爲兩步,第一步將數據導入到HDFS,第二步將導入到HDFS的數據遷移到Hive倉庫
  尖叫提示:從MYSQL到Hive,本質時從MYSQL => HDFS => load To Hive

二、導出數據

  在Sqoop中,「導出」概念指:從大數據集羣(HDFS,HIVE,HBASE)向非大數據集羣(RDBMS)中傳輸數據,叫作:導出,即便用export關鍵字。

2.一、HIVE/HDFS到RDBMS
//建立aca表
create table abc(id int,name VARCHAR(5));
$ bin/sqoop export \
--connect jdbc:mysql://bigdata113:3306/Andy \
--username root \
--password 000000 \
--export-dir /user/hive/warehouse/staff_hive \
--table abc \
--num-mappers 1 \
--input-fields-terminated-by "\t"

  尖叫提示:Mysql中若是表不存在,不會自動建立,自行根據表結構建立
  思考:數據是覆蓋仍是追加 答案:追加

三、腳本打包

  使用opt格式的文件打包sqoop命令,而後執行

    1. 建立一個.opt文件
$ touch job_HDFS2RDBMS.opt
    1. 編寫sqoop腳本
$ vi ./job_HDFS2RDBMS.opt
#如下命令是從staff_hive中追加導入到mysql的aca表中

export
--connect
jdbc:mysql://bigdata113:3306/Andy
--username
root
--password
000000
--table
aca
--num-mappers
1
--export-dir
/user/hive/warehouse/staff_hive
--input-fields-terminated-by
"\t"
    1. 執行該腳本
$ bin/sqoop --options-file job_HDFS2RDBMS.opt

5、Sqoop一些經常使用命令及參數

一、經常使用命令列舉

  這裏是一部分Sqoop操做時的經常使用參數,以供參考,須要深刻學習的能夠參看對應類的源代碼。

序號 命令 說明
1 import ImportTool 將數據導入到集羣
2 export ExportTool 將集羣數據導出
3 codegen CodeGenTool 獲取數據庫中某張表數據生成Java並打包Jar
4 create-hive-table CreateHiveTableTool 建立Hive表
5 eval EvalSqlTool 查看SQL執行結果
6 import-all-tables ImportAllTablesTool 導入某個數據庫下全部表到HDFS中
7 job JobTool 用來生成一個sqoop的任務,生成後,該任務並不執行,除非使用命令執行該任務。
8 list-databases ListDatabasesTool 列出全部數據庫名
9 list-tables ListTablesTool 列出某個數據庫下全部表
10 merge MergeTool 將HDFS中不一樣目錄下面的數據合在一塊兒,並存放在指定的目錄中
11 metastore MetastoreTool 記錄sqoop job的元數據信息,若是不啓動metastore實例,則默認的元數據存儲目錄爲:~/.sqoop,若是要更改存儲目錄,能夠在配置文件sqoop-site.xml中進行更改。
12 help HelpTool 打印sqoop幫助信息
13 version VersionTool 打印sqoop版本信息

二、命令&參數詳解

  剛纔列舉了一些Sqoop的經常使用命令,對於不一樣的命令,有不一樣的參數,讓咱們來一一列舉說明。
  首先來咱們來介紹一下公用的參數,所謂公用參數,就是大多數命令都支持的參數。

2.一、公用參數:數據庫鏈接
序號 參數 說明
1 --connect 鏈接關係型數據庫的URL
2 --connection-manager 指定要使用的鏈接管理類
3 --driver Hadoop根目錄
4 --help 打印幫助信息
5 --password 鏈接數據庫的密碼
6 --username 鏈接數據庫的用戶名
7 --verbose 在控制檯打印出詳細信息
2.二、公用參數:import
序號 參數 說明
1 --enclosed-by 給字段值前加上指定的字符
2 --escaped-by 對字段中的雙引號加轉義符
3 --fields-terminated-by 設定每一個字段是以什麼符號做爲結束,默認爲逗號
4 --lines-terminated-by 設定每行記錄之間的分隔符,默認是\n
5 --mysql-delimiters Mysql默認的分隔符設置,字段之間以逗號分隔,行之間以\n分隔,默認轉義符是\,字段值以單引號包裹。
6 --optionally-enclosed-by 給帶有雙引號或單引號的字段值先後加上指定字符。
2.三、公用參數:export
序號 參數 說明
1 --input-enclosed-by 對字段值先後加上指定字符
2 --input-escaped-by 對含有轉移符的字段作轉義處理
3 --input-fields-terminated-by 字段之間的分隔符
4 --input-lines-terminated-by 行之間的分隔符
5 --input-optionally-enclosed-by 給帶有雙引號或單引號的字段先後加上指定字符
2.四、公用參數:hive
序號 參數 說明
1 --hive-delims-replacement 用自定義的字符串替換掉數據中的\r\n和\013 \010等字符
2 --hive-drop-import-delims 在導入數據到hive時,去掉數據中的\r\n\013\010這樣的字符
3 --map-column-hive 生成hive表時,能夠更改生成字段的數據類型
4 --hive-partition-key 建立分區,後面直接跟分區名,分區字段的默認類型爲string
5 --hive-partition-value 導入數據時,指定某個分區的值
6 --hive-home hive的安裝目錄,能夠經過該參數覆蓋以前默認配置的目錄
7 --hive-import 將數據從關係數據庫中導入到hive表中
8 --hive-overwrite 覆蓋掉在hive表中已經存在的數據
9 --create-hive-table 默認是false,即,若是目標表已經存在了,那麼建立任務失敗。
10 --hive-table 後面接要建立的hive表,默認使用MySQL的表名
11 --table 指定關係數據庫的表名

  公用參數介紹完以後,咱們來按照命令介紹命令對應的特有參數。

2.五、命令&參數:import

  將關係型數據庫中的數據導入到HDFS(包括Hive,HBase)中,若是導入的是Hive,那麼當Hive中沒有對應表時,則自動建立。

    1. 命令:

  如:導入數據到hive中

$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/Andy \
--username root \
--password 000000 \
--table access \
--hive-import \
--fields-terminated-by "\t"

  如:增量導入數據到hive中,mode=append

append導入:
$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/Andy \
--username root \
--password 000000 \
--table aca \
--num-mappers 1 \
--fields-terminated-by "\t" \
--target-dir /user/hive/warehouse/staff_hive \
--check-column id \
--incremental append \
--last-value 10

  尖叫提示:append不能與--hive-等參數同時使用(Append mode for hive imports is not yet supported. Please remove the parameter --append-mode)
  注:--last-value 2 的意思是標記增量的位置爲第二行,也就是說,當數據再次導出的時候,從第二行開始算
  注:若是 --last-value N , N > MYSQL中最大行數,則HDFS會建立一個空文件。若是N<=0 , 那麼就是全部數據

  如:增量導入數據到hdfs中,mode=lastmodified(注:卡住)

先在mysql中建表並插入幾條數據:
mysql> create table company.staff_timestamp(id int(4), name varchar(255), sex varchar(255), last_modified timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
mysql> insert into company.staff_timestamp (id, name, sex) values(1, 'AAA', 'female');
mysql> insert into company.staff_timestamp (id, name, sex) values(2, 'BBB', 'female');
先導入一部分數據:
$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--table staff_timestamp \
--delete-target-dir \
--hive-import \
--fields-terminated-by "\t" \
--m 1
再增量導入一部分數據:
mysql> insert into company.staff_timestamp (id, name, sex) values(3, 'CCC', 'female');
$ bin/sqoop import \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--table staff_timestamp \
--check-column last_modified \
--incremental lastmodified \
--m 1 \
--last-value "2019-05-17 09:50:12" \
--append

--last-value "2019-05-17 07:08:53" \

  尖叫提示:使用lastmodified方式導入數據要指定增量數據是要--append(追加)仍是要--merge-key(合併)
  尖叫提示:在Hive中,若是不指定輸出路徑,能夠去看如下兩個目錄
  1./user/root(此爲用戶名)
  2./user/hive/warehouse 我的配置的目錄
  尖叫提示:last-value指定的值是會包含於增量導入的數據中
  若是卡住,在yarn-site.xml中加入如下配置

<property>
     <name>yarn.nodemanager.resource.memory-mb</name>
     <value>20480</value>
 </property>

 <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
 </property>

 <property>
     <name>yarn.nodemanager.vmem-pmem-ratio</name>
     <value>2.1</value>
 </property>
    1. 參數:
序號 參數 說明
1 --append 將數據追加到HDFS中已經存在的DataSet中,若是使用該參數,sqoop會把數據先導入到臨時文件目錄,再合併。
2 --as-avrodatafile 將數據導入到一個Avro數據文件中
3 --as-sequencefile 將數據導入到一個sequence文件中
4 --as-textfile 將數據導入到一個普通文本文件中
5 --boundary-query 邊界查詢,導入的數據爲該參數的值(一條sql語句)所執行的結果區間內的數據。
6 --columns <col1, col2, col3> 指定要導入的字段
7 --direct 直接導入模式,使用的是關係數據庫自帶的導入導出工具,以便加快導入導出過程。
8 --direct-split-size 在使用上面direct直接導入的基礎上,對導入的流按字節分塊,即達到該閾值就產生一個新的文件
9 --inline-lob-limit 設定大對象數據類型的最大值
10 --m或–num-mappers 啓動N個map來並行導入數據,默認4個。
11 --query或--e 將查詢結果的數據導入,使用時必須伴隨參--target-dir,--hive-table,若是查詢中有where條件,則條件後必須加上$CONDITIONS關鍵字
12 --split-by 按照某一列來切分表的工做單元,不能與--autoreset-to-one-mapper連用(請參考官方文檔)
13 --table 關係數據庫的表名
14 --target-dir 指定HDFS路徑
15 --warehouse-dir 與14參數不能同時使用,導入數據到HDFS時指定的目錄
16 --where 從關係數據庫導入數據時的查詢條件
17 --z或--compress 容許壓縮
18 --compression-codec 指定hadoop壓縮編碼類,默認爲gzip(Use Hadoop codec default gzip)
19 --null-string string類型的列若是null,替換爲指定字符串
20 --null-non-string 非string類型的列若是null,替換爲指定字符串
21 --check-column 做爲增量導入判斷的列名
22 --incremental mode:append或lastmodified
23 --last-value 指定某一個值,用於標記增量導入的位置
2.六、命令&參數:export

  從HDFS(包括Hive和HBase)中將數據導出到關係型數據庫中。

    1. 命令:(例如)
bin/sqoop export \
--connect jdbc:mysql://bigdata113:3306/Andy \
--username root \
--password 000000 \
--export-dir /user/hive/warehouse/staff_hive \
--table aca \
--num-mappers 1 \
--input-fields-terminated-by "\t"
    1. 參數:
序號 參數 說明
1 --direct 利用數據庫自帶的導入導出工具,以便於提升效率
2 --export-dir 存放數據的HDFS的源目錄
3 -m或--num-mappers 啓動N個map來並行導入數據,默認4個
4 --table 指定導出到哪一個RDBMS中的表
5 --update-key 對某一列的字段進行更新操做
6 --update-mode updateonly
allowinsert(默認)
7 --input-null-string 請參考import該相似參數說明
8 --input-null-non-string 請參考import該相似參數說明
9 --staging-table 建立一張臨時表,用於存放全部事務的結果,而後將全部事務結果一次性導入到目標表中,防止錯誤。
10 --clear-staging-table 若是第9個參數非空,則能夠在導出操做執行前,清空臨時事務結果表
2.七、命令&參數:codegen

  將關係型數據庫中的表映射爲一個Java類,在該類中有各列對應的各個字段。如:

$ bin/sqoop codegen \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--table staff \
--bindir /opt/Desktop/staff \
--class-name Staff \
--fields-terminated-by "\t"
序號 參數 說明
1 --bindir 指定生成的Java文件、編譯成的class文件及將生成文件打包爲jar的文件輸出路徑
2 --class-name 設定生成的Java文件指定的名稱
3 --outdir 生成Java文件存放的路徑
4 --package-name 包名,如com.z,就會生成com和z兩級目錄
5 --input-null-non-string 在生成的Java文件中,能夠將null字符串或者不存在的字符串設置爲想要設定的值(例如空字符串)
6 --input-null-string 將null字符串替換成想要替換的值(通常與5同時使用)
7 --map-column-java 數據庫字段在生成的Java文件中會映射成各類屬性,且默認的數據類型與數據庫類型保持對應關係。該參數能夠改變默認類型,例如:--map-column-java id=long, name=String
8 --null-non-string 在生成Java文件時,能夠將不存在或者null的字符串設置爲其餘值
9 --null-string 在生成Java文件時,將null字符串設置爲其餘值(通常與8同時使用)
10 --table 對應關係數據庫中的表名,生成的Java文件中的各個屬性與該表的各個字段一一對應
2.八、命令&參數:create-hive-table

  生成與關係數據庫表結構對應的hive表結構。

  命令:(如:僅建表)

$ bin/sqoop create-hive-table \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--table staff \
--hive-table hive_staff1

  參數:

序號 參數 說明
1 --hive-home Hive的安裝目錄,能夠經過該參數覆蓋掉默認的Hive目錄
2 --hive-overwrite 覆蓋掉在Hive表中已經存在的數據
3 --create-hive-table 默認是false,若是目標表已經存在了,那麼建立任務會失敗
4 --hive-table 後面接要建立的hive表
5 --table 指定關係數據庫的表名
2.九、命令&參數:eval

  能夠快速的使用SQL語句對關係型數據庫進行操做,常常用於在import數據以前,瞭解一下SQL語句是否正確,數據是否正常,並能夠將結果顯示在控制檯。
  命令:(例如)

$ bin/sqoop eval \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--query "SELECT * FROM staff"

  參數:

序號 參數 說明
1 --query或--e 後跟查詢的SQL語句
2.十、命令&參數:import-all-tables

  能夠將RDBMS中的全部表導入到HDFS中,每個表都對應一個HDFS目錄
  命令:(例如),注意:(卡住)

$ bin/sqoop import-all-tables \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--hive-import \
--fields-terminated-by "\t"

  參數:

序號 參數 說明
1 --as-avrodatafile 這些參數的含義均和import對應的含義一致
2 --as-sequencefile 同上
3 --as-textfile 同上
4 --direct 同上
5 --direct-split-size 同上
6 --inline-lob-limit 同上
7 --m或—num-mappers 同上
8 --warehouse-dir 同上
9 -z或--compress 同上
10 --compression-codec 同上
2.十一、命令&參數:job

  用來生成一個sqoop任務,生成後不會當即執行,須要手動執行。
  命令:(例如)

$ bin/sqoop job \
 --create myjob -- import-all-tables \
 --connect jdbc:mysql://bigdata113:3306/company \
 --username root \
 --password 000000
$ bin/sqoop job \
--list
$ bin/sqoop job \
--exec myjob

  尖叫提示:注意import-all-tables和它左邊的--之間有一個空格
  尖叫提示:若是須要鏈接metastore,則--meta-connect
  執行的結果在HDFS:/user/root/ 目錄中,即導出全部表到/user/root中
  參數:

序號 參數 說明
1 --create 建立job參數
2 --delete 刪除一個job
3 --exec 執行一個job
4 --help 顯示job幫助
5 --list 顯示job列表
6 --meta-connect 用來鏈接metastore服務
7 --show 顯示一個job的信息
8 --verbose 打印命令運行時的詳細信息

  尖叫提示:在執行一個job時,若是須要手動輸入數據庫密碼,能夠作以下優化

<property>
	<name>sqoop.metastore.client.record.password</name>
	<value>true</value>
	<description>If true, allow saved passwords in the metastore.</description>
</property>
2.十二、命令&參數:list-databases

  命令:(例如)

$ bin/sqoop list-databases \
--connect jdbc:mysql://bigdata113:3306/ \
--username root \
--password 000000

  參數:與公用參數同樣

2.1三、命令&參數:list-tables

  命令:(例如)

$ bin/sqoop list-tables \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000

  參數:與公用參數同樣

2.1四、命令&參數:merge

  將HDFS中不一樣目錄下面的數據合併在一塊兒並放入指定目錄中
  數據環境:注意:如下數據本身手動改爲\t

new_staff

1	AAA	male
2	BBB	male
3	CCC	male
4	DDD	male

old_staff

1	AAA	female
2	CCC	female
3	BBB	female
6	DDD	female

  尖叫提示:上邊數據的列之間的分隔符應該爲\t,行與行之間的分割符爲\n,若是直接複製,請檢查之。
  命令:(例如)

建立JavaBean:
$ bin/sqoop codegen \
--connect jdbc:mysql://bigdata113:3306/company \
--username root \
--password 000000 \
--table staff \
--bindir /opt/Desktop/staff \
--class-name Staff \
--fields-terminated-by "\t"

開始合併:注:是hdfs路徑
$ bin/sqoop merge \
--new-data /test/new/ \
--onto /test/old/ \
--target-dir /test/merged \
--jar-file /opt/Desktop/staff/Staff.jar \
--class-name Staff \
--merge-key id
結果:
1	AAA	MALE
2	BBB	MALE
3	CCC	MALE
4	DDD	MALE
6	DDD	FEMALE

  參數:

序號 參數 說明
1 --new-data HDFS 待合併的數據目錄,合併後在新的數據集中保留
2 --onto HDFS合併後,重複的部分在新的數據集中被覆蓋
3 --merge-key
合併鍵,通常是主鍵ID
4 --jar-file 合併時引入的jar包,該jar包是經過Codegen工具生成的jar包
5 --class-name 對應的表名或對象名,該class類是包含在jar包中的
6 --target-dir 合併後的數據在HDFS裏存放的目錄
2.1五、命令&參數:metastore

  記錄了Sqoop job的元數據信息,若是不啓動該服務,那麼默認job元數據的存儲目錄爲~/.sqoop,可在sqoop-site.xml中修改。

  命令:(如:啓動sqoop的metastore服務)

$ bin/sqoop metastore

  參數:

序號 參數 說明
1 --shutdown 關閉metastore
相關文章
相關標籤/搜索