하이브에서 tez 엔진을 이용하여 작업중 다음과 같은 오류가 발생하는 경우이는 tez의 AM 기본메모리가 1G로 설정되어서 발생하는 오류이다. 기본메모리 이상으로 메모리를 설정하여 진행하면 된다. FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Application application_*** failed 2 times due to AM Container for appattempt_*** exited with exitCode: - ***Current usage: 1.1 GB of 1 GB physical memory used;*** 다음의 옵션을 이용하여 AM의 메모리를 늘려서 처리하면 오류가 해..
HDFS의 블록에 오류가 발생해서 커럽트 블록이 발생하면 이 부분을 hdfs 쉘을 이용하여 확인할 수 있다. hdfs fsck /hdfs fsck /user/- fsck 다음에 경로를 꼭 입력해야 한다. hdfs fsck -list-corruptfileblocks- 커럽트 블록 목록 확인 hdfs fsck -delete- 커럽트 블록을 삭제한다. hdfs fsck -move- 커럽트 블록을 lost+found 로 이동한다. HDFS의 상태가 이상해서 fsck 명령으로 확인하여 아래와 같이 커럽트 블록을 확인하면, -list-corruptfileblocks 명령으로 블록을 확인하고, -delete 명령으로 삭제후, 새로 배포하면 된다. - 시스템 상태가 정상The filesystem under path '..
리눅스 커맨드 상에서 xml 문서의 포맷을 검사하거나, xpath를 이용하여 문서를 탐색하기 위해서 xmllint 명령어를 이용한다. xmllint --format [파일경로]경로의 문서가 xml포맷에 맞는지 검사하고, 들여쓰기를 한 문서를 반환한다. xmllint --validate [파일경로]문서에 저징된 DTD에 맞는 문서인지 확인한다. xmllint --xpath [xpath 표현식] [파일경로]지정한 xpath에 따라 문서를 탐색하여 결과를 반환한다 http://xmlsoft.org/xmllint.html
-HDFS의 주요 특징은?블록단위 파일 보관파일을 사용자가 지정한 단위의 블록으로 분할 하여 저장분할하여 저장하기 때문에 큰사이즈의 데이터도 저장이 가능700G 디스크가 2개 있을때 1T파일을 저장하려고 한다면 1T 디스크를 사지 않고, 파일을 분할하여 저장 가능 분산 저장 파일 시스템클러스터의 노드에 분산하여 저장이 가능레플리케이션하나의 블록을 기본 복제 단위 만큼 복사하여 저장범용장비 사용특정 장비가 아니라 일반적인 장비에서 사용이 가능 - HDFS의 구조네임노드디렉토리, 파일 정보 관리블록과 디렉토리간 매핑 정보 관리파일 시스템의 관리를 위애 fsimage와 edits를 이용데이타노드파일을 블록단위로 나누어서 저장체크포인트 노드, 세컨더리 네임노드fsimage와 edits를 주기적으로 체크하여 체크..
빅데이터 관련해서 정보를 찾던 중에 빅데이터 관련 면접에서 알아두면 좋을 내용이 있어서 스크랩해 보았다. 공부해 두면 좋은 내용들이어서 정리 해 보았다. 1. 하둡과 전통적인 RDBMS의 차이점은? 데이터 타입: 하둡은 정형, 반정형, 비정형 데이터: RDBMS는 정형 데이터 스키마: 하둡 - Schema on Read: RDBMS - Schema on Write: 데이터를 읽을 때 스키마를 적용하느냐, 데이터를 적재할 때 스키마를 적용하느냐: https://goo.gl/images/dQiQCJ 좋은 사용법: 하둡은 대용량 데이터 처리: RDBMS는 OLTP 데이터 처리나 복잡한 ACID 트랜잭션에 적용 속도: 하둡은 쓸 때 빠르고 : RDBMS는 읽을 때 빠르다. 2. 빅데이터에서 4V는 무엇을 말하나..
우지 쉐어라이브러리는 oozie-site.xml 파일에 위치를 설정한다. 다음의 설정을 이용하여 위치를 설정하면 된다. oozie.service.WorkflowAppService.system.libpath hdfs://location/share/lib System library path to use for workflow applications. This path is added to workflow application if their job properties sets the property 'oozie.use.system.libpath' to true. 우지가 실행중에 우지 쉐어 라이브러리를 추가하면 갱신이 안될 수 가 있다. 이럴때는 다음의 명령을 이용하여 갱신하면 된다. oozie admin -..
hive 2.1.0 에서 ORC 파일 포맷 이용중 다음의 오류가 발생하는 경우가 있다. Caused by: java.lang.ArrayIndexOutOfBoundsException: 1024 이 경우 다음의 지라와 같이 Hive 버그일 가능성이 높다. 이럴때는 이런 해결방법이 있다. hive 버전업 또는 패치 적용ORC 말고 다른 포맷으로 데이터를 저장 후 다시 ORC 포맷으로 저장파일 머지중 오류가 발생했다면 머지 기능을 잠시 off 리듀서를 1개로 설정하여 처리 https://issues.apache.org/jira/browse/HIVE-14483
MySQL에서 벌크 데이터를 테이블에 입력하는 방법으로 LOAD 명령을 제공한다. 상세한 내용은 아래의 공식 홈페이지에서 확인할 수 있다. 간단하게 데이터를 입력하는 방법은 다음과 같다. MySQL의 기본 구분자인 탭으로 칼럼이 구분되어 있는 데이터 파일이 있다고 하면 다음과 같이 입력하면 된다. - bukl.csv 파일을 db1.table2 테이블에 입력LOAD DATA LOCAL INFILE 'bulk.csv' INTO TABLE db1.table2; https://dev.mysql.com/doc/refman/5.7/en/load-data.html
파일을 라인단위로 나누기 위한 split 명령어는 다음과 같이 사용한다. -l 100 : 100 줄단 위로 나눔-d : 숫자로 된 이름의 파일로 분할-a : 나누어진 파일 이름의 사이즈 origintxt 파일을 100줄 단위로 나눈다. $ split -l 100 origin.txtxaaxabxac... origintxt 파일을 100줄 단위로 나누는데, 파일이름을 숫자형식으로 한다. $ split -l 100 -d origin.txtx01x02x03... origintxt 파일을 100줄 단위로 나누는데, 파일이름을 숫자형식으로 하고, 파일이름의 사이즈는 4이다. $ split -l 100 -d -a 4 origin.txtx0001x0002x0003... https://ss64.com/bash/split..
hdfs에는 사용자의 실수로 인한 파일의 삭제를 방지하기 위해서 휴지통 기능이 존재한다. fs.trash.interval- 0 으로 설정하면 휴지통 기능을 사용하지 않음- 설정한 분(minute) 간격으로 체크해서 시간이 지난 파일 삭제 fs.trash.checkpoint.interval- 설정한 시간이 지난 파일 삭제 hadoop fs -expunge 명령으로 휴지통을 비움hadoop fs -rm -skipTrash /data 명령으로 휴지통을 이용하지 않고 파일을 바로 삭제 https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#File_Deletes_and_Undeleteshttps://hadoop...
유니온 파인드 상호 배타적 집합이라고도 한다. 2가지 연산으로 이루어져 있다. 1. Find: x가 어떤 집합에 포함되어 있는지 찾는 연산2. Union: x와 y가 퐇마되어 있는 집합을 합치는 연산- 구현은 트리를 이용해서 한다. - parent[i] = i 의 parent 가 저장되어 있음 * parent[] 배열을 각자 자기 번호로 초기화 하는 것에 주의** find 연산에서 결과를 가지고 있다가 저장하고 반환하는 것에 주의 *** 이 union, find 연산은 MST의 크루스칼 알고리즘에 사용된다. https://www.acmicpc.net/problem/1717
ls 명령어를 이용하여 파일 목록을 볼때 --time-style 옵션을 이용하면 파일 생성 시간을 사용자가 원하는 형태로 출력할 수 있다. 아래와 같은 형태로 출력이 가능하다. - 기본타입: full-iso, long-iso, iso- 타임포맷: date 포맷 형식 ls -alh --time-style=full-isodrwxrwxr-x 6 hadoop hadoop 4.0K 2017-06-27 01:43:40.754322656 +0000 . ls -alh --time-style=long-isodrwxrwxr-x 6 hadoop hadoop 4.0K 2017-06-27 01:43 . ls -alh --time-style=isodrwxrwxr-x 6 hadoop hadoop 4.0K 06-27 01:43 . ..
하이브 테이블의 열 개수(count 정보), 파일개수, 사이즈 등이 메타스토어에 저장된다. 이를 이용하여 count 명령의 실행 속도를 높일 수 있다. 그런데 파일 정보가 갱신 된 것을 하이브가 확인하지 못할 때도 있다. 이럴때는 다음의 명령으로 테이블 정보를 갱신해 준다. ANALYZE TABLE 테이블명 COMPUTE STATISTICS; The first milestone in supporting statistics was to support table and partition level statistics. Table and partition statistics are now stored in the Hive Metastore for either newly created or existing ta..
- Total
- Today
- Yesterday
- java
- hbase
- HIVE
- bash
- 다이나믹
- 파이썬
- nodejs
- AWS
- 백준
- Tez
- ubuntu
- S3
- 하이브
- error
- HDFS
- 오류
- yarn
- 알고리즘
- Linux
- 하둡
- mysql
- SPARK
- build
- emr
- Hadoop
- airflow
- oozie
- 정올
- SQL
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |