大資料之sqoop sqoop的安裝及常用操作

2021-07-02 12:45:23 字數 1408 閱讀 3333

sqoop安裝:安裝在一台節點上就可以了。

1.上傳sqoop

2.安裝和配置

在新增sqoop到環境變數

將資料庫連線驅動拷貝到$sqoop_home/lib裡

3.使用

第一類:資料庫中的資料匯入到hdfs上

sqoop import --connect jdbc:mysql: --username root --password 123  --table trade_detail --columns 'id, account, income, expenses'

指定輸出路徑、指定資料分隔符

sqoop import --connect jdbc:mysql: --username root --password 123  --table trade_detail --target-dir '/sqoop/td' --fields-terminated-by '\t'

指定map數量 -m 

sqoop import --connect jdbc:mysql: --username root --password 123  --table trade_detail --target-dir '/sqoop/td1' --fields-terminated-by '\t' -m 2

增加where條件, 注意:條件必須用引號引起來

sqoop import --connect jdbc:mysql: --username root --password 123  --table trade_detail --where 'id>3' --target-dir '/sqoop/td2' 

增加query語句(使用 \ 將語句換行)

sqoop import --connect jdbc:mysql: --username root --password 123 \

--query 'select * from trade_detail where id > 2 and $conditions' --split-by trade_detail.id --target-dir '/sqoop/td3'

注意:如果使用--query這個命令的時候,需要注意的是where後面的引數,and $conditions這個引數必須加上

而且存在單引號與雙引號的區別,如果--query後面使用的是雙引號,那麼需要在$conditions前加上\即\$conditions

如果設定map數量為1個時即-m 1,不用加上--split-by $,否則需要加上

第二類:將hdfs上的資料匯出到資料庫中(不要忘記指定分隔符)

sqoop export --connect jdbc:mysql: --username root --password 123 --export-dir '/td3' --table td_bak -m 1 --fields-terminated-by ','

大資料之Sqoop Sqoop初探

sqoop是一款用於把關係型資料庫中的資料匯入到hdfs中或者hive中的工具,當然也支援把資料從hdfs或者hive匯入到關係型資料庫中。sqoop也是基於mapreduce來做的資料匯入。sqoop的原理比較簡單,就是根據使用者指定的sql或者字段引數,從資料庫中讀取資料匯入到hive或者hdf...

大資料之簡介

要理解大資料這一概念,首先要從 大 入手,大 是指資料規模,大資料一般指在10tb 1tb 1024gb 規模以上的資料量。大資料同過去的海量資料有所區別,其基本特徵可以用4個v來總結 vol ume variety value和veloc ity 即體量大 多樣性 價值密度低 速度快。大資料技術是...

大資料之Map reduce

大資料問題一般解決方式 利用雜湊函式進行分流來解決記憶體限制或者其他限制的問題。1.雜湊函式又叫雜湊函式,雜湊函式的輸入域可以是非常大的範圍,但是輸出域是固定範圍。假設為s。雜湊函式的性質 1.典型的雜湊函式都擁有無限的輸入值域。2.輸入值相同時 返回值一樣。3.輸入值不同時,返回值可能一樣,也可能...