CREATE TABLE test(a int, b string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS PARQUET TBLPROPERTIES ("parquet.compression"="SNAPPY");

 

'Programming > Hive' 카테고리의 다른 글

[Hive] beeline 접속 명령어  (0) 2019.07.05
[Hive] 테이블 스키마 컬럼 추가 방법  (0) 2019.07.05
[Hive] parquet 압축 설정  (0) 2019.05.29
[Hive] 쿼리로 파일 추출  (0) 2019.05.29
[Hive] udf 함수 등록 및 사용 방법  (0) 2019.05.23
[Hive] 스키마 샘플  (0) 2019.05.16

댓글을 달아 주세요

delimiter를 변경하여 hive 쿼리로 파일 추출하는 방법입니다.

 

1. 아래내용에서 저장할 파일의 디렉토리 위치와 원하는 구분자, 쿼리 설정 후 hql 파일 저장

INSERT OVERWRITE LOCAL DIRECTORY './directory_name'
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
SELECT * FROM table WHERE id > 100;

 

2. 저장한 파일 실행 ( ex : test.hql)

hive -f test.hql

 

 

'Programming > Hive' 카테고리의 다른 글

[Hive] 테이블 스키마 컬럼 추가 방법  (0) 2019.07.05
[Hive] parquet 압축 설정  (0) 2019.05.29
[Hive] 쿼리로 파일 추출  (0) 2019.05.29
[Hive] udf 함수 등록 및 사용 방법  (0) 2019.05.23
[Hive] 스키마 샘플  (0) 2019.05.16
[Hive] header 제거 옵션  (0) 2019.05.16

댓글을 달아 주세요

 

이클립스에서 Synchronize 사용할 때 초기 설정이 화면 전환되도록 설정되어 있는데 

작업하다 보면 상당히 불편합니다. 아래 옵션 적용해주면 아래 영역에 고정되서 화면 전환되지 않습니다.

 

*Window -> Preferences -> Team -> "Open the associated perspective when a synchronize operation completes" -> Never 클릭

 

*설정 후 적용 화면

 

댓글을 달아 주세요

 

eclipse 글꼴 및 크기 변경 방법입니다.

 

1. Window -> Prefernces

2. General -> Appearance -> Colors and Fonts ->Basic -> Text Font -> Edit

 

3. 원하는 글꼴 및 크기 선택 (저는 Verdana 사용합니다.) 

 

4. Apply and Close 클릭하면 변경 완료

댓글을 달아 주세요

 

리눅스 서버에서 외부서버로 파일 전송할 때 scp 명령어를 사용합니다.

주기적으로 파일을 전송해야 할 경우 아래 내용 스크립트 작성에 참고 해주세요.

 

-scp 사용법

expect << EOF
spawn scp /경로/파일명 계정@아이피:/경로
expect "password:"
        send "패스워드\r"
expect eof
EOF

*용어정리

  - expect : scp 사용시 패스워드를 입력해야 하는데 인증 부분을 체크해 줄 명령어

     ex) "password:" 란 문자가 나타나면 send 로 패스워드를 입력해 줍니다.

  - spawn : expect 안에서 scp 명령어를 실행시킬때 사용 (쉘에서 리눅스 명령어 실행시키는 ``와 같은 의미)

  - \r은 패스워드 입력 후 엔터(개행문자)를 입력하기 떄문에 사용

 

-sftp 사용법 (ex: sftp 접속하여 파일 다운)

expect << EOF
spawn sftp $GET_USER@$GET_SERVER_IP
expect "ord:"
send "${GET_PASS}\r"
expect "p>"
send "cd ${GET_PATH}\r"
expect "p>"
send "mget ${GET_FILE_NM}\r"
expect "p>"
send "bye\r"
expect eof
EOF

 

 

댓글을 달아 주세요

 

1. udf.jar 파일을 hive 설치 경로의 conf 디렉토리에 저장  (해당 udf.jar)


2. .hiverc 파일의 아래 내용 추가 (conf 디렉토리 위치)

CREATE TEMPORARY FUNCTION method AS 'udf.package';  (등록할 함수명과 jar 파일에 패키지 작성)

 

3. hive-env.sh 파일의 아래 내용 추가(jar 파일 위치한 경로로 등록)

export HIVE_AUX_JARS_PATH=/home/hive/conf/udf.jar 

 

4. hive 재기동


5. 등록 함수 사용

 select method(col) from table;

 

'Programming > Hive' 카테고리의 다른 글

[Hive] parquet 압축 설정  (0) 2019.05.29
[Hive] 쿼리로 파일 추출  (0) 2019.05.29
[Hive] udf 함수 등록 및 사용 방법  (0) 2019.05.23
[Hive] 스키마 샘플  (0) 2019.05.16
[Hive] header 제거 옵션  (0) 2019.05.16
[Hive] Delimiter 변경하는 방법  (0) 2017.04.11

댓글을 달아 주세요

 

- PID 하나씩 KILL에 매개변수로 넘겨서 다 죽임

ps -ef | grep '프로세스명' | awk '{print $2}' | xargs kill

 

 

댓글을 달아 주세요

 

리눅스에서 여러 파일들 동일한 내용을 전체 변경하거나 파일에서 원하는 내용만 삭제하고 싶을때

일일이 vi로 열어서 변경하지 않고 sed 명령어를 사용하면 유용합니다.

 

1. 1개 파일 내용 변경

sed -i 's/기존 내용/변경할 내용/g' 파일명.txt

2. 여러 파일 내용 변경

sed -i 's/기존 내용/변경할 내용/g' *.txt

3. 해당 문자가 포함된 줄 삭제

sed -i '/삭제 할 내용/d' *

4. 해당 문자가 포함된 줄만 삭제하지 않고 나머지 내용 모두 삭제 (로그에서 원하는 내용만 보고싶을때 유용)

sed -i '/삭제하지 않을 내용/!d' *

 

 

댓글을 달아 주세요

 

- FTP 계정, 패스워드 생성 방법
1. useradd userID (계정 생성)
2. passwd userID (패스워드 설정)


- FTP 계정 패스워드 만료되지 않도록 설정
1. chage -E -1 -I 0 -m 0 -M 99999 userID (변경) 
2. chage -l userID (조회)


- FTP 계정 패스워드 변경
1. root or sudo (root 계정으로 접속)
2. sudo passwd ${user_id} (패스워드 변경)

 

댓글을 달아 주세요

 

ftp 압축 파일 업로드 할 때 binary 모드 사용해야 파일 깨지지 않고 정상 업로드 됩니다. (자주 까먹는 부분..;;)

 

아래 쉘은 ftp put하는 샘플 코드 입니다.

ftp -n 127.0.0.1 << EOF
quote USER $user
quote PASS $pass
cd $put_path
lcd $local_path
binary
put $file_nm
bye
EOF

 

## binary 모드로 업로드 하지 않으면 일반 텍스트 형태로 올라가 압축 해제 시 아래 에러 메시지가 발생

gzip : test.csv.gz: invalid compressed data--format violated

 

 

댓글을 달아 주세요