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