맥용 이클립스에서 git을 이용할 때 No password provided 오류가 발생하면서 깃의 암호가 저장되지 않아서 매번 암호를 입력해야 할 때는 환경설정의 'General' - 'Security' - 'Secure Storage' 에서 'Change Password'를 클릭합니다. 그러면 팝업창이 하나 뜨는데 이때 'No'를 클릭합니다. 이렇게 되면 암호를 초기화 하게 됩니다 . 이후 다시 GitHub에 접속할 때 암호를 물어보는데 이때 암호를 저장하면 됩니다. 이렇게 해도 다음에 로그인할 때 안될 경우가 있습니다. 이때는 Secure Storage -> Contents에서 Git을 삭제하고 다시 아이디를 저장하면 된다.
하이브에서 FROM INSERT 문을 이용하여 한번에 여러곳에 데이터를 입력할때 다음과 같이 사용합니다. [FROM INSERT 문을 이용한 입력 예시] FROM ( SELECT * FROM tbl ) INSERT tableA INSERT tableB [TEZ 엔진 실행 결과] ---------------------------------------------------------------------------------------------- VERTICES MODE STATUS TOTAL COMPLETED RUNNING PENDING FAILED KILLED --------------------------------------------------------------------------------..
빅데이터는 효율적인 데이터 저장을 위해 여러가지 저장 형식이 있습니다. 처음에는 TXT 형식으로 데이터를 저장하였지만, 데이터 저장공간과 처리 속도면에서 문제가 발생하면서 효율적인 처리 방식을 고민하게 되었습니다. 이때 클라우데라의 더그 커팅이 trevini, 호튼웍스의 오웬 오말리가 ORC 파일 포맷을 만들었습니다. ORC는 압축률이 높고, 스키마를 가지고 있으며, 처리속도가 빠르지만 하이브에서만 사용할 수 있었습니다(현재는 아님). 회사가 다르다 보니 통합된 형태로 발전하지 못하고 각각 발전하다 트위터에서 Parquet을 발표 했습니다. Parquet도 ORC와 유사하게 칼럼기반의 구조를 가지고 있습니다. 이제 ORC와 Parquet에 대해서 알아보겠습니다. ORC칼럼 기반 저장 포맷 하이브의 RC ..
터미널에서 ls 명령을 이용할 때 파일 별로 구분을 위해서 color 옵션을 제공합니다. never 일때는 색상으로 구분하지 않습니다. $ ls --color=auto$ ls --color=alyways$ ls --color=never 보통 alias 로 ls 명령을 등록하고 사용하는데 LS_COLORS 환경변수를 이용해서 색상을 구분합니다. LS_COLORS="파일종류1=속성1;색1:파일종류2=속성2;색2" 의 형태로 입력하면 됩니다. LS_COLORS=rs=0:di=01;34:ln=01;36 LS_COLOR 설정 참고 -> http://linux-sxs.org/housekeeping/lscolors.html
이번에 시행된 HTTPS SNI 필드 차단에 대해서 간단하게 정리하겠습니다. 이번 차단은 HTTPS 프로토콜이 처음에 접속하고자 하는 서버의 정보를 얻기 위해 DNS와 TLS 통신을 통해 암호화를 위한 키값을 얻어 옵니다. 이때 이용하는 것이 SNI 필드이고 접속하고자 하는 서버의 도메인정보를 가지고 있으며 암호화 되지 않습니다. 즉, 택배를 보낼때 송장의 주소는 암호화 하지 않는 것을 이용하여 송장의 주소를 이용해서 접속을 막는 것입니다. 이 부분은 DNS를 1.1.1.1로 설정하여 우회할 수 있습니다. 1.1.1.1은 클라우드플레어라는 기업에서 운영하는 DNS입니다. 모바일에서는 클라우드플레어의 앱을 이용하여 간단하게 적용할 수 있습니다. SNI 차단이 뭐야? TLS 1.3은 해결책이 될 수 있을까...
우지에는 워크플로우를 작성할 때 도움을 제공하는 기본 EL 상수와 함수가 있습니다. 우지 EL 함수 종류 Basic EL ConstantsKB, MB, GB 등 사이즈 계산을 위한 상수 Basic EL Functionsconcat, trim 등 문자열 관련 기본 함수와 wf:actionData(String actionName) 같은 워크플로우 관련 함수 Workflow EL Functionswf:id() 등 워크플로우의 정보 확인을 위한 함수 Hadoop EL Constants맵리듀스 관련 상수 정보 Hadoop EL Functions하둡 카운터 정보 Hadoop Jobs EL Function하둡 잡의 정보 HDFS EL FunctionsHDFS 파일의 존재여부, 사이즈 확인 정보 HCatalog EL ..
프로그래밍에서 데이터 직렬화(serialization)는 메모리의 객체를 디스크에 저장하거나, 네트워크를 통해 전송되는 형식으로 변환되는 작업입니다. 역직렬화(deserialization)는 디스크에 저장된 데이터를 읽거나, 네트워크를 통해 전송된 데이터를 받아서 메모리에 재구축하는 것입니다. 데이터는 CSV, XML, JSON, binary 형식으로 다양하게 직렬화 될 수 있습니다. CSV, XML, JSON 등의 형식은 사람이 읽을 수 있지만, 저장 공간의 효율성이 덜어지고 파싱하는 시간이 오래 걸립니다. binary는 사람이 읽을 수 없지만 파싱 시간이 짧습니다. 데이터의 양이 작을 때는 파싱시간이 문제가 되지 않지만, 빅데이터의 경우 파싱시간이 문제가 될 수 있습니다. 이를 해결하기 위해서 에이브..
배쉬에서 정규식 연산자는 =~ 를 이용합니다. 정규식을 이용할 때는 변수에 넣어서 처리하는 방법과 바로 이용하는 방법이 있습니다. #!/bin/bash // 변수를 이용하는 방법 re="^[0-9]+$" if [[ $1 =~ $re ]]; then echo "number" else echo "not number" fi // 연산자에 바로 이용하는 방법. 문자를 감싸주지 않음 if [[ $1 =~ ^[0-9]+$ ]]; then echo "number" else echo "not number" fi
vi에서 문자를 검색하는 명령어는 두개 입니다. /: 전진검색?: 후진검색 vi의 명령모드(ESC 입력 상태)에서 두개중 하나를 입력하고 찾으려는 문자열을 입력합니다. ALTER TABLE temp; /ALTER 62,1 22% 이렇게 되면 찾는 문자가 하일라이트 됩니다. 이후 찾은 문자를 이동하는 방법은 다음과 같습니다. n: 앞으로 이동 N: 뒤로 이동 이렇게 문자를 검색하면 찾은 문자가 계속 하일라이팅 됩니다. 이를 초기화 하는 명령어는 다음과 같습니다. 다음의 두 명령어중 하나를 명령모드에서 입력하면 기존에 입력한 검색어가 초기화 됩니다. :noh:nohlsearch
TCP/UDP 네트워크 프로그래밍을 하다보면 클라이언트나 서버를 임시로 작성해야 할 때가 있습니다. 그럴때 nc 명령어를 이용하면 따로 구현할 필요 없이 편리하게 사용할 수 있습니다 nc는 간단한 명령어로 클라이언트나 서버를 테스트해 볼수 있어서 편리한 명령입니다. 대기 명령어(서버, listen)# 9999 포트를 열어서 수신 대기 $ nc -l 9999 # 9999 포트를 열어서 다중 사용자의 수신 대기(연결이 끊어져도 계속 유지) $ nc -lk 9999 # 접속자의 IP 정보 출력 $ nc -lv 9999 접속 명령어(클라이언트, connect) nc 127.0.0.1 9999
쉘프로그램에서 전달받은 파라미터는 $ 기호를 이용하여 확인합니다. 이를 이용해서 프로그램 실행에 필요한 파라미터 개수를 확인하여 오류 여부를 전달 할 수 있습니다. $#: 전체 파라미터의 개수$0: 프로그램의 이름 $1: 첫번째 파라미터 ./sample.sh a b c d 라고 실행하면 $# = 4$0 = sample.sh$1 = a$2 = b $3 = c $4 = d가 됩니다. #!/bin/bash if [ $# -ne 원하는_매개변수_갯수 ] then echo "usage: $0 yyyymmdd hh" exit 1 fi
하이브 테이블의 로케이션과 파티션의 로케이션은 desc 명령으로 확인할 수 있고,파티션의 정보 수정 방법은 다음과 같습니다. # 테이블 정보 및 로케이션 확인 desc formatted [테이블명]; # 테이블의 파티션 목록 확인show partitions [테이블명]; # 신규 파티션 추가 ALTER TABLE [테이블명] ADD PARTITION (yymmdd='20180510'); # 파티션의 LOCATION 수정 ALTER TABLE [테이블명] PARTITION (yymmdd='20180510') SET LOCATION 'hdfs://127.0.0.1/user/'; # 파티션 삭제 ALTER TABLE [테이블명] DROP PARTITION (yymmdd='20180510');
YARN은 CLI 명령어와 웹UI, REST API를 제공합니다. 이중에서 클러스터의 사용량은 모니터링 툴을 이용해서 확인할 수 있지만,모니터링 툴을 이용할 수 없는 상황에서는 REST API를 이용하여 확인할 수 있습니다. 상세한 사용법은 REST API 사용 매뉴얼을 확인하시면 됩니다. 여기서는 클러스터의 메모리 사용량을 REST API로 확인해 보도록 하겠습니다. 클러스터의 메모리 사용량은 메트릭(Metric)으로 확인할 수 있습니다. 메트릭 REST API 주소는 다음과 같습니다. 이 주소를 파이썬을 이용한 스크립트로 호출하면 다음과 같은 결과를 확인할 수 있습니다. http:///ws/v1/cluster/metrics 다음의 스크립트는 메트릭 API를 호출합니다. 호출 헤더에 json 형태의 반..
- Total
- Today
- Yesterday
- 백준
- nodejs
- yarn
- airflow
- 파이썬
- ubuntu
- HIVE
- hbase
- 오류
- 다이나믹
- mysql
- Tez
- HDFS
- SPARK
- Hadoop
- oozie
- emr
- java
- bash
- build
- error
- Python
- 알고리즘
- 하이브
- SQL
- AWS
- 하둡
- 정올
- S3
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |