목록펭귄's directory (180)
한땀한땀 정성들인 코딩
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("컬럼패밀리"),Bytes.toBytes("컬럼명"),CompareFilter.CompareOp.NOT_EQUAL,new SubstringComparator("vale-5")); filter.setFilterIfMissing(true); // 참조컬럼이 없는 로우가 결과에 포함되지 않음 setLatestVersionOnly(true); //최근의 버전(timestamp)만을 검사한다. 단일컬럼 값 제외 필터SingleColumnValueExcludeFilter
hbase를 내일 반납해야한다. ㅜㅜ꼭 필요한 기능을 좀 메모해놔야 겠다. 읽기메소드인 get,scan은 정밀한 탐새기능을 제공하지 않아필터 인터페이스를 이용한다.물론 클라이언트에서 필터기능을 구현해도 되지만 모든 data를 리전서버에서 가져와 적절하지 않다. CompareFIlter계열 필터에 사용되는 비교 연산자 LESS 작은값 LESS_OR_EQUALEQUALNOT_EQUAL 일치하지 않는값 GREATER_OR_EQUALGREATER 큰값 NO_OP 모든값을 배제 비교자BinaryComparator 현재값과 비교BinaryPrefixComparatorNullComparatorBitComparator 비트단위 비교RegexStringComparator 정규식 비교 SubstringComparator ..
정보는 두개의 범주로 나뉜다.-원천 데이터-도출된 데이터 원천데이터는 왜 불변인가- 주소 정보는 변하는가? , 만약 다른집으로 이사를 간다면?- 타임스탬프만 추가한다. +1982년 3월 1일 현재 샬롯테가 아카시아 길 22번지에 산다. 도출데이터는 원천 데이터를 이용해 만들어 냄으로 굳이 따로 보관할 필요가 없다.데이터가 불변이면 새로운data를 스토리지에 저장만 하면 된다.- 잠금장치 혹은 트랜잭션 같은것이 전혀 필요없다.왜? 데이터가 변할일이 없다.여러개의 스레드가 서로 방해할 걱정없이 동일한 data를 마음껏 병렬적으로 사용한다. 스파크 프로그래밍에서 왜 val을 사용하는것을 권장하는지 알수있음.
인메모리 클러스터 컴퓨팅 프레임워크 고급실행엔진 존재스파크 맵리듀스 모두 단방향성 frame_work 반복적 알고리즘-데이터를 반복하여 여러번 처리하는 알고리즘. 주요 엔티티드라이버 프로그램 - data처리 코드 제공, 스파크를 사용하는 애플리케이션 클러스터 매니저 - 리소스 관리, 상세한 수준의 리소스 스케줄링 제공 워커 - cpu,메모리,disk 스토리지 제공 익스큐터 - jvm프로세스로 다수의 스레드에서 동시에 애플리케이션 코드를 실행 테스크 - 가장 작은 작업단위 잡 : 연산의 묶음스테이지 : 테스크의 묶음
하둡의 주요 구성요소yarn - 리소스관리 mapreduce - 데이터처리 hdfs - 데이터저장 직렬화data는 디스크에 저장될때 csv, xml, json, 바이너리 등 다양한 형식으로 직렬화 될수 있으며각 형식은 장단점이 존재한다. csv, xml ,jsom은 사람이 읽을 수있지만 저장공간이나, 파싱면에서 효율적이지 못함, 바이너리형식은 그 반대, 더 콤팩트함 로우기반 vs 칼럼기반row기반 - CRUD최적화, 분석 별로임, 컴팩트하지 않음 메시징 시스템?- 소비자(데이터 검색) - 생성자(데이터 작성)- 수가 비대칭적일때 직접적인 연결은 비효율적- 모두 메세징 시스템에 연결
왜 배우냐?- 빅데이터의 근본을 이해하는데 매우 도움이 될거같아서.- 책이 신간이라.........ㅋ 동시적 - 논리적 통제 흐름, 스레드는 병렬로 실행될수도 있고 아닐수도 있고 병렬적 - 계산을 한꺼번에 실행 동시성은 여러일을 한꺼번에 다루는 것병렬성은 여러일을 한꺼번에 실행하는 것 **이해가 전혀 안됰ㅋ역시 예시로 이해해야 함- 교실에 담임샘이 있다. 수업할때 떠들석한 교실을 진정시키거나 다른학생의 질문에 답을 주고 칠판에 수업내용을 적는 등 여러가지 일을 한꺼번에 다루어야한다. -> 동시성- 학생 한명당 수학 문제를 5개씩 푼다. -> 병렬성 +조교가 투입되어서 선생님과 같이 교실에서 수업을 한다. -> 동시성,병렬성 ㅇㅋ? 기존 전통적인 순차적 프로그래밍 모델을 넘어선다!! 목표 동시적 프로그램은..
데이터과학 성공적인 분석을 위한 작업은 데이터의 전처리 과정에서 이루어진다.반복은 기본적인 과정 이다. 분석의 두 종류연구를 위한 분석 = 탐색적 분석운영을 위한 분석 R - 성능하, 연동 부적합c++, java - 탐색적 분석에 부적합스칼라 탄생! 핵심탄력적 분산 데이터 셋 rdd인메모리 처리하둡의 생태계와 연동 적합 단점 : 나온지 얼마 안되서 부족한 하위 모듈( 스트림처리, sql, 기계학습, 그래프 처리)
for (Result rs = scanner.next(); rs != null; rs = scanner.next()) { number++; } hbase org.apache.hadoop.hbase.mapreduce.RowCounter Usage: RowCounter [options] [ --starttime=[start] --endtime=[end] [--range=[startKey],[endKey]] [ ...] ]2가지 방법1. 맵리듀스를 쓰지 않고 scan 클래스를 이용하기 - 느림 2. 맵리듀스 RowCounter 사용
파일크기 change #include int truncate(const char *path, off_t length); int ftruncate(int fd, off_t length);// length 만큼 파일의 크기를 변환// ftruncate는 파일의 open된 상태여야함 fd int dup(int oldfd); // 새로운 fd값 리턴 // 하나의 파일에 여러개 fd를 지정할때 #include fcntl(fp, F_DUPFD, 0); fcntl(fp, F_GETFL);flag = fcntl(fd, F_GETFL);switch( flag & O_ACCMODE ); // 0_ACCMODE는 11로 정의 flag |= O_APPEND; fcntl(fd , F_SETFL, flag);