sqoop
Definition
sqoop ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค. sql ์ฟผ๋ฆฌ๋ rdbms์์ hdfs๋ก ๋ฐ์ดํฐ ์ด๋์ ์ฌ์ฉํ๋ค. [Flow๊ตฌ์ฑ]๋ ธ๋ ์ค [sqoop]๋ ธ๋๋ฅผ drag & drop ํ ํ Property ํญ๋ชฉ์ ์ ๋ ฅํ๋ค. Property ํจ๋์ [๋๋ณด๊ธฐ+] ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ๋ ฅ๊ฐ๋ฅํ ์ ์ฒด Property ํญ๋ชฉ์ ๋ณผ ์ ์๋ค.
Set
[setting], [scheduler], [parameter] ์ค์ ์ [์ํฌํ๋ก์ฐ ์์ฑ] > [์ค์ ]์ ์ฐธ๊ณ ํ๋ค.
property
[Node Description] ์์ฑ ์ค์ธ ๋ ธ๋๋ช ์ ๋ ฅ
- prepare : ๋
ธ๋ ์คํ ๊ฒฐ๊ณผ๋ฅผ HDFS์ ์ ์ฅํ๊ธฐ ์ํด ํ์ผ์ญ์ /ํด๋์์ฑ ์์
์ ์ํ(์ํฌํ๋ก์ฐ ๋ฐ๋ณต์คํ ์ ํ์ฉ๊ฐ๋ฅ)
- delete : ๋ ธ๋ ์คํ ์ ์ญ์ ํ ํด๋/ํ์ผ ๊ฒฝ๋ก
- mkdir : ๋ ธ๋ ์คํ ์ ์์ฑํ ํด๋ ๊ฒฝ๋ก
- file : ๋ ธ๋์์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ค์
- archive : archive๊ฒฝ๋ก๋ฅผ ์ค์
- retry
- max : ์คํ ์คํจ ์ ์ฌ์๋ ํ์
- period : ์ฌ์๋ ์ฃผ๊ธฐ(๋ถ ๋จ์)
- configuration : ์คํ์ ์ฌ์ฉํ ์์ฑ (key, value) ์ ๋ ฅ
- argument : ์คํํ ์ปค๋ฉ๋(EL expressions)
- jobXml : jobXml ๊ฒฝ๋ก ์ ๋ ฅ. ์ก์ ์ ๋ฌํ ํ๋กํผํฐ๋ฅผ ๋ณ๋ xml ๋ก ์์ฑํ์ฌ ์ ๋ฌ๊ฐ๋ฅ
- forceOK : ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ์คํจํด๋ ์ ์์ผ๋ก ํ์ํ๊ณ ์ข ๋ฃ
Example
RDBMS์ ์์นํ ํ ์ด๋ธ์ hdfs๋ก ์ด๋ํ๊ธฐ ์ํ ์์ ๋ก sqoop import syntax ์ ๋ง๊ฒ argement๋ฅผ ์ค์ ํ๋ค. sqoop import common argument๋ ์๋์ ๊ฐ๋ค.
Argument [value] | Description |
---|---|
--connect [jdbc-uri] | Specify JDBC connect string |
--connection-manager [class-name] | Specify connection manager class to use |
--driver [class-name] | Manually specify JDBC driver class to use |
--hadoop-mapred-home [dir] | Override $HADOOP_MAPRED_HOME |
--help | Print usage instructions |
--password-file | Set path for a file containing the authentication password |
-P | Read password from console |
--password [password] | Set authentication password |
--username [username] | Set authentication username |
--verbose | Print more information while working |
--connection-param-file [filename] | Optional properties file that provides connection parameters |
--relaxed-isolation | Set connection transaction isolation to read uncommitted for the mappers. |
[Note] sqoop ๊ด๋ จ ์์ธ ๋ด์ฉ์ ์๋ ๋งํฌ ์ฐธ๊ณ
https://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html#_syntax
[Flow๊ตฌ์ฑ] > [sqoop] ๋ ธ๋๋ฅผ drag & drop ํ ํ setting ํจ๋์์ ์คํํด๋ฌ์คํฐ๋ฅผ ์ ํํ๋ค.
"6.argement"์ ์ถ๊ฐ๋ฒํผ ํด๋ฆญ ํ sqoop import syntax์ ๋ง๊ฒ argment์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ค. import keyword ๋ถํฐ ์์ํด์ argument, value๋ฅผ ์์๋๋ก ์ ๋ ฅํ๋ค.
argument import --connect jdbc:mysql://10.178.XXX.XXX:302XX/modeler --username modeler --password XXXXXX --table tbl_user_grp_map --m 1 --target-dir /user/hive/warehouse/test
[Note] -m,--num-mappers [n] : option Use n map tasks to import in parallel