Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다.
문의사항은 gooper@gooper.com로 메일을
보내주세요.
MariaDB의 study데이타 베이스에 접근하여 product테이블의 데이타를 가져와서 study/out/productimport에 저장하는 sqoop문장이다.
이때 컬럼구분자는 '\001'(^A)를 사용하고 라인구분자는 '\003'(^C)를 사용한다.
hive폴더에 저장되는 라인은 price >1인 조건을 만족해야하며 productID및 name만 저장된다
이렇게 하면 컬럼에 newline(\n)이 있어도 문제없이 가져올 수 있다.
sqoop import \
--connect=jdbc:mysql://gsda3:포트/study \
--username=db사용자\
--password=패스워드\
--table=product \
--target-dir=study/out/productimport \
--fields-terminated-by='\001' \
--lines-terminated-by='\003'
--where="price > 1 " \
--columns="productID, name"
아래는 위에서 sqoop로 가져온 데이타에 대한 external table을 생성하는 hive명령문이다.
hive 1.1에서 기본적으로 지원하는 라인 구분자는 '\n'만 지원한다.
하지만 textinputformat.record.delimiter을 이용하여 라인 구분자를 변경할 수 있다.
set textinputformat.record.delimiter='\003';
create external table productimport
(productID string, name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
STORED AS TEXTFILE
LOCATION 'study/out/productimport';
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
39 | 동일서버에서 LA와 LC동시에 기동하여 테스트 | 총관리자 | 2014.04.01 | 928 |
38 | 다수의 로그 에이전트로 부터 로그를 받아 각각의 파일로 저장하는 방법(interceptor및 multiplexing) | 총관리자 | 2014.04.04 | 4089 |
37 | sqoop 1.4.4 설치및 테스트 | 총관리자 | 2014.04.21 | 3134 |
36 | sqoop export/import등을 할때 driver를 못찾는 오류가 발생하면... | 총관리자 | 2014.05.15 | 867 |
35 | sqoop에서 oracle관련 작업할때 테이블명, 사용자명, DB명은 모두 대문자로 사용할것 | 총관리자 | 2014.05.15 | 1528 |
34 | source의 type을 spooldir로 하는 경우 해당 경로에 파일이 들어오면 파일단위로 전송함 | 총관리자 | 2014.05.20 | 687 |
33 | import 혹은 export할때 hive파일의 default 구분자는 --input-fields-terminated-by " |