Hadoop 3.0에서의 신규로 추가된 주요 기능 중 하나인 Erascre Coding(EC) 적용 방법에 대해 알아보자. Hadoop은 기본적으로 데이터 유실에 대비하여 데이터 복제를 한다. 기본 복제 단위가 3이어서, 파일 1개당 2개의 복제본을 가지게 된다. 이로 인해 1GB 데이터 저장에 3GB의 저장소를 사용하게 된다. Erascre Coding(EC)은 1개의 데이터에 0.5개의 패리티 비트를 이용하여 저장하기 때문에 1GB 데이터 저장에 1.5GB의 저장소를 사용하게 되어 효율성이 증가한다. ec policy 리스트 hdfs ec -listPolices policy enable hdfs ec -enablePolicy -policy RS-6-3-1024k policy 적용 hdfs ec -se..
Hive 상에서 특정 테이블에 접근할 때 나타나는 에러이다. show tables; 명령어로 보면 테이블은 보이지만 해당 테이블에 대한 정보나 데이터를 확인할 경우 나타난다. hive> select * from table_name limit1; FAILED: SemanticException Unable to fetch table table_name. null hive> drop table_name; FAILED: SemanticException Unable to fetch table table_name. null Hive 메타데이터 테이블에서 관련 레코드를 삭제해야 한다. delete from table_params where tbl_id = 3611; delete from tbls where TBL_N..
Hive 쿼리 수행 중 SemanticException Unable to fetch table TableName 에러가 발생했을 때 해결 방법이다. 원인 - 이미 실행 중인 RunJar가 존재하기 때문이다. 해결 방법 - RunJar 프로세스를 조회하여 Kill [hadoop@hadoop bin]$ jps 7726 Jps 9204 RunJar 2811 JobTracker 1452 NameNode [hadoop@hadoop bin]$ kill 9204
Hive를 사용하다 보면 전달 1일 또는 전달 마지막일을 구해야 할 때가 있다. 날짜 계산 함수를 사용하여 원하는 값을 구해보자. #전월 1일 select add_months(trunc('2019-11-04', 'MM'), -1); select add_months(trunc(current_date, 'MM'), -1); select date_format(add_months(trunc(current_date, 'MM'), -1), 'yyyyMMdd'); trunc와 add_months를 통해 전월 1일을 구할 수 있다. 결과 값 format이 맞지 않다면 date_format을 통해 날짜 포멧을 변경하면 된다. #전월 마지막 일자 select last_day(add_months(trunc('2019-11-..
Hive를 사용하다 보면 테이블 생성 시 컬럼에 group이라는 예약어가 있으면 아래와 같이 에러가 발생한다. group 뿐만이 아니다 모든 예약어에 대한 에러이다. Failed to recognize predicate 'group'. Failed rule: 'identifier' in table or column identifier 에러를 해결하는 방법은 3가지가 있다. 첫번째(set) set hive.support.sql11.reserved.keywords=false; 두 번째(back quote) `group` 세번째(hive-site.xml) hive.support.sql11.reserved.keywords false 부득이한 상황이 아니라면 명령어에 예약어 사용을 지양하자.
Hive에서 테이블은 HDFS 상에 저장된 파일과 디렉터리 구조에 대한 메타 정보라고 할 수 있다. 실제 저장된 파일 구조에 대한 정보와 저장 위치, 입력 포멧, 출력 포멧, 파티션 정보, 프로퍼티에 대한 정보 등 다양한 정보를 가지고 있다. 테이블 타입 MANAGED 테이블 생성 시 옵션을 따로 설정하지 않으면 MANAGED 테이블로 생성된다. 세션이 종료되어도 테이블의 데이터와 파일은 유지된다. 테이블을 DROP 하면 파일도 함께 삭제된다. EXTERNAL EXTERNAL 옵션은 MANAGED 테이블과 파일 삭제 정책을 제외하고 동일하다. EXTERNAL 테이블은 DROP 하면 파일은 그대로 유지되어, 사용자의 실수로 인한 파일 삭제를 방지할 수 있어 EXTERNAL 테이블로 관리하는 것이 좋다. T..
crontab은 주기적으로 지정한 시간에 지정한 작업을 하도록 설정할 수 있다. 이런 기능을 활용하여 지정한 시간에 hive partition 만들기를 적용해 보자. 아래 명령어를 통해 contab을 편집해보자. crontab -e 00 01 * * 0 /home/hadoop/cluster/env.sh /home/hadoop/cluster/hive_partition/add_partition_table_1w.sh > /tmp/add_partition_table_1w.log 2>&1 매주 일요일 01시에 add_partition_table_1w.sh을 실행하게 했으며 add_partition_table_1w.log 파일에 로그를 적재하도록 설정하였다. add_partition_table_1w.sh /home..
hadoop fs -ls #hdfsPath 디렉터리 정보 출력 hadoop fs -ls -R #hdfsPath 하위 디렉터리를 포함한 정보 출력 hadoop fs -mkdir #hdfsPath 디렉터리 생성 hadoop fs -mkdir -p #hdfsPath 디렉터리 생성 (미 생성된 상위 부모 디렉터리까지) hadoop fs -rm #hdfsPath 파일 또는 디렉터리 삭제 (디렉터리는 반드시 비어 있어야) hadoop fs -rm -r #hdfsPath 파일 또는 디렉터리 삭제 (파일이 존재해도 삭제 주의!) hadoop fs -mv #hdfsPath 파일 또는 디렉터리 이동 hadoop fs -cp #hdfsPath 파일 또는 디렉터리 복사 hadoop fs -cp -f #hdfsPath 파일 또..
hadoop fs hadoop fs는 local, hdfs 등과 같은 파일 시스템을 가리킬 수 있는 일반 파일 시스템과 관련이 있다. hadoop dfs hadoop dfs는 hdfs에만 해당된다. 이것은 더이상 사용되지 않으며 hdfs dfs를 사용해야 한다. hdfs dfs hdfs dfs는 hdfs에만 해당된다. hadoop dfs 대신 권장되는 명령어이다. FS(File system) 쉘에는 HDFS(Hadoop Distributed File System)와 직접 상호 작용하여 다양한 명령과 Local FS, WebHDFS, S3 FS 등과 같은 hadoop이 지원하는 다른 파일 시스템이 포함되어 있다. 간단히 정리하면 hadoop fs는 hadoop을 포함한 여러 파일 시스템과 상호작용할 수 있..
빅데이터를 운영하거나 데이터 수집, 제공 인터페이스를 개발하는 분야라면 Hadoop 과 Hive는 필수이다. 이번 포스팅은 Hive를 다루면서 빈번하게 사용 되었던 명령어 알아보자. show database; #데이터베이스 목록 출력 use [데이터베이스명]; #데이터베이스 사용 show tables; #테이블 목록 출력 show partitions [테이블명]; #테이블 파티션 목록 출력 show create table [테이블명]; #테이블 생성 쿼리 출력 desc formatted [테이블명]; #데이터베이스 및 파티션에 구체화 된 요약 정보 출력 msck repair table [테이블명]; #테이블 파티션과 연결된 데이터와 파티션을 복구
- 이직
- Linux 명령어
- 제주도 3박4일 일정
- Java
- sort algorithm
- effective java
- 자바
- 제주도 여행
- 소프트웨어공학
- 리액트 16
- React
- 정렬 알고리즘
- 회고
- 리액트
- Eclipse
- 성능분석
- SQL
- 리눅스 명령어
- Maven
- 프로그래머스
- 개발환경
- spring
- 오라클
- 경력관리
- 오라클 내장 함수
- Collection
- 프로그래머
- Tomcat
- 자바스크립트
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |