알지오 평생교육원 Hive 강좌입니다.
전문가들이 뽑은 꼭 배워야하는 실무활용 강의
그동안 찾던 Hive 강좌의 완전판 !
여러분의 마지막 강의가 되어드리겠습니다.
알지오에서는 PC와 스마트폰, 태블릿을 이용해서 언제, 어디서나 공부를 할 수 있습니다.
열심히 공부해서Hive 강좌를 마스터해보세요.
<Hive 강좌 샘플동영상>
<Hive 강좌 리뷰>
알지오에서 하둡을 마스터하고 이왕 공부하는 김에 같이
배울 수 있는 소스들을 찾다가 하이브를 알게 되었습니다.
지난번에 알지오 평생교육원 하둡 강의도 너무 잘 들어서
하이브 강의를 선택할 때는 뭐 다른 거 생각해보지도 않았네요.
다른 학원을 다니면서 공부를 하면 학생이 프로그램에 대한 이해를 하지 못해도
그저 진도 나가기가 바빴는데 알지오 강의는 꾸준한 반복학습을 할 수 있어서
하나를 배우면 온전히 제 것으로 만들 수 있습니다.
정말 IT 전문교육원 답게 강의 하나하나를
알기 쉽게 설면해주시고 바로 예제도 실습해 볼 수 있어서 배우는데 정말 많은 도움이 됐습니다.
알지오 강의 추천합니다.
Hive 강좌 정보입니다. 추천 인터넷 강의 : 알지오
- 01.50분 Hive의 특징과 구성요소
Hive 특성, Hive 구성요소, Hive 설치, Hive 실습
책갈피 : [00:29] 하둡의 구성 요소/[01:38] 맵 리듀스 아키텍처/[02:15] input data/[03:20] 아키텍쳐의 전체 흐름 예제/[03:46] 워드카운트 예/[05:09] 3개의 블럭에서 단어가 각각 나왔을 경우/[05:30] 정렬 단계/[06:12] 셔플 단계/[06:28] reduce의 역할/[07:00] 워드카운트 실제 소스코드 확인/[07:46] wordcount.java 파일 열기/[08:15] 워드카운트 클래스의 구성/[08:26] map 매소드/[09:11] map 의 기능/[10:16] reduce 매소드/[11:48] sum 소스 보기/[13:07] 소스 코드 라인 확인/[13:30] 복잡한 map reduce를 하이브로 간단하게 처리하기/[13:46] 하이브 쿼리 예제/[14:28] input data 부분/[15:07] load data inpath/[16:22] input_str/[17:33] group by word/[17:48] order by word/[18:10] 하이브의 구성요소/[18:37] 하이브의 역할/[18:52] 각 구성요소 살펴보기/[19:44] 하이브를 싱글모드로 설치했을 경우/[20:11] 하이브 설치/[21:14] 네트워크 사항/[21:33] 네트워크 설정 팁/[22:22] 자바 설치/[23:03] 환경 변수 등록방법/[24:06] 환경 변수 적용/[24:30] 자바 설치 확인/[24:51] 하둡 설치/[25:33] 완전 분산모드 설정 설명/[26:11] 버츄얼 머신의 이름을 네임노드로 등록하는 법/[26:45] hdfs.site.xml 파일 수정/[28:02] hadoop-env.sh 확인/[28:55] slaves 등록/[29:29] 하둡 포멧/[29:52] 하둡 구동/[30:26] 데이터 노드 확인/[30:52] 워드카운트 실행/[31:52] 디렉토리 생성/[32:15] 디렉토리 조회/[32:30] index.html 파일 input 디렉토리에 넣기/[33:52] 워드카운트 예제 실행/[35:52] output 확인/[36:19] 파일 결과 보기/[37:04] 하이브 설치/[37:22] 환경설정 파일 보기/[39:15] 메타스토어 설명/[40:37] 하이브 관련 디렉토리 생성/[41:43] 웨어하우스 디렉토리 권한 변경/[42:12] 쓰기 권한 주기/[42:37] 환경 변수 등록/[43:15] mysql 설치/[44:19] 메타스토어 생성/[46:12] 메타스토어에 테이블 넣기 위한 하이브 확인/[47:15] 결과 확인/[47:35] 테이블 확인/[47:58] 예제 테이블 생성/[48:34] 확인
- 02.46분 하이브 명령과 인터페이스
하이브 명령, 명령행 인터페이스, 데이터형, 파일 인코딩
책갈피 : [00:21] 하이브 명령/[00:37] service List/[01:59] --auxpath/[02:35] cli/[02:49] cli 옵션 확인/[03:12] -d, --define 옵션/[03:53] cli 변수와 속성을 위한 namespace/[05:55] -d, --define 옵션 사용/[06:16] 명령 수행/[07:13] 변경된 변수 값 테이블 생성후 확인/[08:07] 하이브 컨프 옵션/[08:43] 값 변경/[09:46] 시스템 네임스페이스와 env 네임 스페이스/[10:11] 시스템 유저 네임 살펴보기/[10:39] 유저 네임 변경/[11:43] -e 옵션/[12:01] 테스트 테이블 조회/[12:37] time taken 메시지 제외 하기/[13:37] -f 옵션/[14:48] -i 옵션/[15:43] .hiverc 파일/[16:44] 하이브의 자동 완성 기능/[17:59] 쉘 실행 기능/[18:18] 쉘 실행/[20:11] 컬럼 헤더 출력 옵션 살펴보기/[20:41] 쿼리문 날리기/[21:25] 데이터 형과 파일 인코딩/[24:00] 원시 데이터 형 살펴보기/[24:45] timestamp 데이터 형/[26:18] 컬렉션 데이터 형/[27:44] struct/[28:52] map/[29:44] array/[30:22] 주의할점/[31:18] 실제 데이터를 쓰는 테이블 만들기/[31:52] grade필드/[32:07] friends 필드/[32:36] subject 필드/[33:07] address 필드/[34:00] 하이브 레코드와 필드 기본 구분 기호/[36:36] 예제 보기/[37:42] 컬렉션 요소들의 분리 확인/[39:21] 실제 데이터 보기/[40:00] 주의할점/[41:28] 변형 예제/[42:45] 예제 실행하기/[43:22] 실제 데이터 확인/[44:22] 파일 확인/[44:52] 크리에이트 테이블 문 실행/[45:15] 결과 확인
- 03.45분 데이터 정의 언어
데이터베이스 생성, 삭제 및 변경, 테이블 생성, 테이블 파티셔닝, 테이블 삭제
책갈피 : [00:08] 데이터 정의 언어/[00:41] 하이브 쿼리 언어와 mysql의 차이점/[01:44] 데이터베이스 생성, 삭제 및 변경하기/[02:19] 데이터 베이스 생성/[03:00] 충돌을 막기위해 사용하는 명령어/[03:46] 데이터 베이스 생성 확인 명령어/[05:46] 하둡 파일 시스템에서 해당 디렉토리 생성 확인하기/[06:30] 디렉토리를 원하는 디렉토리로 설정하기/[06:57] 데이터 베이스 생성 시 코멘트 주기/[07:15] 명령 실행/[07:46] 데이터 베이스 생성시 속성값 지정하기/[08:11] 데이터 베이스 조회/[08:35] DB 사용 명령/[10:28] 하이브에서 테이블 생성하는 방법/[11:03] SQL 문 예제 보기/[13:22] 쿼리문에서 주의 할 점/[13:56] 구조는 동일하지만 이름이 다른 테이블 생성하기/[14:56] 데이터 베이스 안에서 쿼리 실행/[15:58] 테이블 생성 확인/[17:37] Location/[17:48] Table Type/[18:55] managed_table/[20:37] 테이블 삭제하기/[20:52] 디렉토리 살펴보기/[21:15] 외부 테이블 테스트/[21:41] 디렉토리 생성 확인/[22:00] 데이터 삽입/[22:41] 테이블과 데이터 만들기/[23:52] 데이터 삽입 확인/[24:52] 외부 테이블 생성 확인/[25:56] 테이블 제거/[27:18] 파티셔닝에 대해 알아보기/[29:56] sql 문 실행/[30:07] 실제 테이블 존재 확인/[31:26] 파티션 사용/[31:59] 쿼리 실행/[32:52] lecture db 조회/[33:36] 파티션 확인/[34:21] 쿼리문에 들어간 데이터 확인/[35:00] 결과 확인/[37:05] strict 셋팅/[38:30] 파티션 정보 확인/[39:00] 파티션 외부 테이블에서 만들기/[40:07] 테이블을 저장할때의 포맷/[40:22] stored as textfile/[41:44] serde/[42:34] 예제 보기/[43:20] 테이블 삭제 명령/[43:51] 테이블 삭제/[44:24] 테이블 삭제 시 차이점
- 04.47분 데이터 정의 언어와 조작
테이블 변경, 데이터 로딩, INSERT문, 데이터 꺼내기
책갈피 : [00:10] 데이터 조작/[01:07] 테이블 생성/[01:49] 테이블 생성 확인/[02:57] 테이블에 파티션 추가, 변경, 삭제하기/[03:07] 테이블에 파티션 추가/[04:15] 파티션 생성 확인 및 테이블 조회/[04:46] 파티션 삭제/[06:15] 컬럼 명 변경/[07:30] 명령 실행/[08:05] 결과 확인/[08:56] 컬럼 추가/[09:37] 쿼리 수행 확인/[10:03] 해당 테이블의 모든 컬럼 삭제, 교체하기/[11:03] 컬럼 삭제하고 새 컬럼 추가하기/[11:48] 확인/[12:48] 테이블 속성 변경/[13:13] 속성 값 설정 확인/[15:20] 후크/[17:18] 아카이브/[18:03] 보호 기능/[18:59] 파티션 삭제할 경우/[19:44] 데이터 조작 언어/[21:07] overwrite/[22:21] 명령 실행/[22:30] 값 확인/[23:56] 상대 경로 사용/[24:56] 쿼리 결과 테이블에 넣기/[25:37] 테이블 생성/[26:22] 두 테이블의 차이점/[27:07] 테이블에 있는 컬럼 확인/[27:52] 데이터 확인/[28:56] 두가지 쿼리 차이점/[30:36] 실행 후 결과 확인/[31:45] insert into 문 실행/[32:15] 테이블 조회/[33:07] 쿼리 분산 살펴보기/[34:50] 쿼리 문 실행 후 결과보기/[35:28] 데이터 확인/[35:57] 동적 파티션/[36:15] 해당 쿼리 보기/[37:19] 쿼리 수행/[37:37] 파티션 확인/[38:29] 동적 파티션의 속성/[40:57] 단계 축약해 작성하기/[41:52] 해당 테이블 값 확인/[42:30] 테이블에 저장돼 있는 데이터를 로컬 파일에 쓰기/[42:52] select 보기/[44:00] 쿼리 수행/[44:15] 파일 열기/[45:49] 해당 파일 읽어오기
- 05.47분 HiveQL 쿼리 part1
SELECT FROM 절, 쿼리 문법, 연산자, 함수, 쿼리 옵션
책갈피 : [00:12] SELECT FROM 절에 대해 알아보기/[00:34] 실습에 사용할 테이블 확인/[01:11] SELECT FROM 절 실습/[01:22] SELECT 문의 기본 사용법/[01:52] 실행/[02:23] 쿼리문 보기/[03:36] 컬렉션 필드 접근/[03:53] 쿼리문 실행/[04:46] 맵으로 표현된 서브젝트 출력/[05:00] 맵의 각 요소 보기/[05:24] 스트럭트 출력 확인/[06:15] 컬렉션 요소들의 값 뽑아오기/[07:11] 배열의 인덱스를 벗어나는 접근을 할 경우/[07:29] 맵 참조 방법/[08:07] 결과 확인/[08:22] 스트럭트 접근법/[08:48] 쿼리문 실행/[09:03] 셀렉트문에 컬럼값 다루는 방법/[09:22] 예시 결과 확인/[10:01] 산술 연산자/[11:52] 산술 연산 할 경우 주의점/[13:11] 수학 함수/[13:30] round 함수/[14:24] floor 함수/[14:48] ceil, ceiling 함수/[15:00] rand 함수/[15:26] abs 함수/[15:41] positive, negative 함수/[16:37] 집계 함수/[17:14] count 함수/[17:56] sum 함수/[18:37] avg 함수/[19:21] min, max 함수/[19:47] collect_set 함수/[20:36] 집계 함수 테스트/[20:52] 쿼리 실행/[21:18] distinct 테스트/[21:32] 결과 확인/[21:59] distinct 두번 쓸 경우/[23:10] 테이블 생성 함수/[23:22] explode 함수/[24:07] json_tuple 함수/[24:41] parse_url_tuple 함수/[25:00] stack 함수/[25:41] 기타 내장 함수/[26:06] in 함수/[26:32] length 함수/[27:07] substr 함수/[28:18] upper 함수/[29:10] lower 함수/[29:30] trim 함수/[30:03] regexp_replace 함수/[32:21] size 함수/[32:45] cast 함수/[33:21] from_unixtime 함수/[33:52] to_date 함수/[34:07] year 함수/[34:52] get_jason_object/[35:22] split 함수/[36:22] SELECT FROM 절에서 옵션으로 사용할수 있는 기능/[37:37] 실행/[38:45] 컬럼에 별칭 주기/[39:45] 중첩 select문/[41:22] 주의할점/[41:57] 쿼리 수정 후 실행/[42:30] case, when, and 문/[44:12] 실행/[44:29] 하이브가 맵 리듀스를 사용하지 않을 경우
- 06.49분 HiveQL 쿼리 part2
WHERE 절, GROUP BY 절, 기타 절 (~BY, UNION ALL), 형변환 및 샘플링
책갈피 : [00:26] where 절/[01:22] where 절 기본 구문 보기/[02:34] 결과 확인/[02:53] where 절에서 주의할점/[03:50] 에러가 난 이유/[05:15] 중첩 쿼리문 실행/[07:00] 술어 연산자/[09:33] where 절 고려사항/[09:46] 예시 보기/[10:22] 3.3이 포함되어 결과가 나타나는 이유/[12:16] cast 형변환 함수 사용/[12:48] like 문/[13:16] 예제/[13:43] 실행/[14:03] 결과 보기/[14:31] like문 사용/[15:45] RLike 문/[17:02] OR 조건/[17:33] 결과 확인/[17:55] like문 사용해서 바꾸기/[18:33] 결과 확인/[19:41] GROUP BY 절 쿼리 살펴보기/[20:21] 결과 확인/[21:25] avg 함수 사용/[21:52] 결과 확인/[22:37] having 절/[23:07] 결과 확인/[25:14] order by절/[26:26] 쿼리 실행/[27:11] 하이브에서 전체 정렬의 뜻/[28:11] sort by문/[28:30] 쿼리 실행/[30:07] distribute by/[31:33] 예제/[32:50] distribute by 쿼리문 보기/[34:45] distribute by와 sort by 의 컬럼이 같은 경우/[35:00] 결과 확인/[35:22] UNION ALL 절/[35:42] 예제 보기/[36:22] 결과 확인/[36:57] 형변환/[38:21] 팁/[38:45] 데이터 샘플링/[39:50] 데이터 나누어 저장하는 법/[40:00] 테이블 생성/[40:36] 설정/[41:27] 결과 확인/[42:07] test_bucketed 생성 확인/[43:00] 쿼리문 입력/[44:00] 쿼리문 실행/[44:37] 규칙/[45:35] 버켓 꺼내기/[45:52] 결과 확인/[46:37] 증명/[47:15] rand 함수/[48:20] 쿼리문 두번 실행
- 07.41분 HiveQL 쿼리 part3
내부 조인, 외부 조인, 세미 조인, 맵 사이드 조인
책갈피 : [00:09] 조인/[00:47] 내부 조인/[01:14] 예제 쿼리 살펴보기/[02:43] 조건을 준 이유/[03:07] 조인 실행/[04:00] 두개의 쿼리문 보기/[05:15] 쿼리문 실행시 에러가 나는 이유/[06:00] 술어 간의 and, or 연산/[06:26] 테스트/[07:11] 두개 이상의 테이블 조인/[07:15] 테이블 확인/[08:07] 두개 이상의 테이블 조인 가능 여부 확인/[08:22] 조인 수행/[09:39] 결과 확인/[10:18] 조인 최적화 사용 방법/[12:05] 데이터가 큰 테이블에 메모리에 올려질 경우/[13:00] 사이즈가 큰 데이터 테이블을 왼쪽에 두고 싶을 경우/[14:09] 수행/[14:39] 외부 조인/[15:26] 기존과 다른점/[16:00] 외부조인 실행하기/[16:33] 쿼리문 실행/[18:15] 똑같은 내부조인 결과/[18:36] 쿼리문 실행/[19:06] 결과 확인/[19:26] where절에 조건을 명시해 주는 이유/[19:51] 쿼리문 실행/[21:45] where절 조건을 조인 on절에 술어 조건으로 추가하기/[22:14] 결과 확인/[23:37] on절에 and 조건으로 파티션 필터하기/[23:55] 결과 확인/[24:25] 주의점/[24:41] 오른쪽 외부조인 살펴보기/[25:32] 결과 확인/[26:03] 완전 외부조인/[26:18] 완전 외부조인의 특징/[27:11] 결과 확인/[27:52] 세미 조인/[29:47] LEFT SEMI 조인/[30:21] 쿼리 수행 후 결과 확인/[31:14] 주의할 점/[32:22] 카타시안 프로덕트 조인/[34:14] 카타시안 프로덕트 조인의 수행 막는 방법/[34:49] 카타지안 프로덕트 조인이 필요한 경우/[35:36] 맵사이드 조인/[37:12] 결과 확인/[37:37] 현재 버전에서의 맵사이드 조인 사용방법/[38:22] 결과 확인/[40:07] 버킷된 테이블에 대한 최적화 설정 해줘야 되는 이유/[40:16] 설정 살펴보기
- 08.50분 HiveQL 뷰
뷰의 특성, 뷰의 사용법, 스키마 설계, 스키마 설계 최적화 방법들
책갈피 : [00:26] HiveQL 뷰/[00:44] 테이블과 뷰의 차이점/[01:37] 뷰의 특성/[02:05] 캡슐화/[02:23] 예제 살펴보기/[03:06] 데이터 확인/[03:34] 쿼리 보기/[04:30] 쿼리 실행/[05:15] 뷰 생성/[06:15] 실행 결과 확인/[07:00] 뷰의 추가적인 특성/[08:03] 뷰에 쿼리 실행/[08:18] 결과 확인/[08:48] 물리테이블 여러 논리 테이블로 나누기/[09:37] 쿼리 보기/[10:31] 높은 점수 정보 확인/[10:56] 중간 레벨 확인/[11:11] 낮은 점수 확인/[11:20] 결과 보기/[11:52] 뷰의 수행 방법/[13:48] 데이터 확인/[14:07] 속성 확인/[14:37] 코멘트 확인/[15:03] 뷰 삭제하기/[15:37] 뷰에서 짚고 넘어가야 할 점/[16:45] 스키마 설계/[17:10] 날짜별 테이블 설계 방법/[18:03] 날짜별 테이블 테스트/[18:56] 각 로그에서 데이터 뽑아내기/[19:37] 테이블 최적화 해서 설계하기/[21:18] 파티션 설계시 고려 사항/[21:45] hdfs의 특성 고려/[22:51] 맵 리듀스 잡의 실행 방법/[23:41] 파티션 설정에 따른 효과적인 설계 방법/[24:56] 쿼리 보기/[26:07] 정규화를 피해야 하는 이유/[28:48] 다중 패스/[29:07] 예제 보기/[29:59] 테이블 생성/[30:17] 데이터 확인/[31:02] 테스트/[31:26] 실제 데이터 검증/[31:48] 임시 테이블 파티셔닝/[32:22] 중간 테이블 생성/[33:04] 값 입력/[33:37] 값 조회/[34:51] 쿼리 실행 후 확인/[35:30] 문제점/[37:00] 테이블 저장소 버켓팅/[37:37] 테이블 생성/[38:04] 데이터 입력/[38:58] 파일 보기/[39:37] 버켓팅 테스트/[40:42] 버켓팅 쿼리 살펴보기/[43:00] 버켓팅 속성 값/[44:05] 버킷 사용시 이점/[44:37] 테이블에 컬럼 추가하기/[45:34] 해당 파일 보기/[46:07] 컬럼 추가/[46:30] 테이블 조회/[47:07] 값 삽입/[47:34] 주의점/[48:05] 최적화 팁 2가지/[48:44] 컬럼 기반의 테이블 사용 경우/[49:19] 압축하기
- 09.47분 HiveQL 색인
색인의 특성, 색인의 사용법, 튜닝, 튜닝 기법
책갈피 : [00:14] 색인/[01:53] 예제/[02:00] 색인을 만드는 쿼리 문법/[04:14] 실행/[04:57] 비트맵 색인/[05:24] 인덱스/[06:00] 명령 실행 후 확인/[06:46] 인덱스 재구축/[07:41] 색인 삭제/[09:13] 튜닝/[10:48] 익스플레인/[11:07] 예를 통한 익스플레인 사용/[11:50] 익스플레인 입력 후 살펴보기/[12:01] 추상 문법 트리/[13:31] stage dependencies/[14:07] stage plans/[15:41] file output operator/[16:37] 익스텐디드 구문 추가/[16:56] 실행/[17:33] 리밋 튜닝/[19:22] row.max.size/[19:51] 리밋 튜닝의 단점/[20:52] 하둡 잡을 로컬 모드로 실행해 최적화 수행하기/[21:51] 예시 보기/[22:03] 트래커 값 출력/[23:29] 해당 설정 계속 사용하는 방법/[25:25] 스트릭트 모드/[26:00] 스트릭트 모드로 사용할수 없는 쿼리 첫번째/[26:26] 쿼리 실행/[26:56] 제한을 두는 이유/[27:18] 스트릭트 모드로 사용할수 없는 쿼리 두번째/[27:41] 쿼리 실행/[28:30] 리밋절 없이 오더바이 수행을 막는 이유/[28:55] 스트릭트 모드로 사용할수 없는 쿼리 세번째/[29:26] 예제 살펴보기/[30:33] 매퍼와 리듀서 수의 최적화/[31:48] 예제 살펴보기/[32:52] 카운트 수행/[33:22] 리듀서 사이즈 조정해서 더 많은 리듀서가 가동되도록 셋팅하기/[34:45] 자바 가상머신 재사용/[35:44] 실제 설정 예시 보기/[37:07] 동적 파티셔닝에 대한 튜닝 방법/[38:22] 동적 파티션 수 설정/[39:12] 데이터 노드가 한번에 여는 파일수를 얼마나 허용할지 제어하기/[39:43] 데이터 노드가 한번에 여는 파일수를 얼마나 허용할지를 제어하는 값/[40:22] 투기적 실행/[42:00] 다수의 그룹 바이 연산 결합하기/[42:45] 가상 컬럼/[43:30] 실제 사용/[44:22] 주의할점/[44:44] 실제 예제 보기/[45:28] 쿼리문 실행
- 10.49분 파일 압축 및 아카이빙과 NoSQL 스토리지 핸들러
파일 압축, 시퀀스 파일, 아카이빙, HBase, 카산드라, 다이나모디비
책갈피 : [00:16] 파일 압축 및 아카이빙 알아보기/[02:07] 파일 압축/[02:15] 하이브에 설정된 코덱 확인/[03:00] 여러 압축 방식을 지원하는 이유/[03:30] 하이브에서 제공하는 압축 방식에 대한 비교/[03:49] BZip2 & Gzip/[04:14] LZO & Snappy/[04:43] 분할 가능 여부/[05:59] 하이브가 파일 포멧을 바라보는 관점1/[06:46] 하이브가 파일 포멧을 바라보는 관점2/[07:45] 맵리듀스 단계의 중간 과정과 출력 과정의 압축 설정/[08:24] 필요한 설정 값 보기/[08:35] 중간 과정 압축/[09:03] 압축에 사용될 코덱/[10:05] 최종 출력 압축/[11:54] 하이브에서 시퀀스 파일 사용/[12:07] 시퀀스 파일의 세가지 압축 옵션/[12:50] 시퀀스 파일 생성 쿼리 살펴보기/[13:16] 예제를 통한 압축 수행/[13:31] 테이블 생성/[14:46] 실제 데이터 내용 확인/[15:15] 중간과정 압축/[15:33] 테이블 생성/[16:26] 값 확인/[17:03] 코덱 설정/[17:37] 테이블 생성/[17:56] 결과 확인/[18:36] 출력 압축 설정/[18:55] 테이블 생성/[19:44] deflate/[20:56] deflate 값 확인/[21:37] 출력 파일 압축에 대한 코덱 변경/[22:11] 테이블 생성/[22:37] 결과 확인/[24:21] 시퀀스 파일 사용/[25:40] 쿼리 실행/[25:48] 확인/[26:30] 시퀀스 파일 헤더/[27:55] 중간,결과 압축 동시에 사용후 시퀀스 파일로 저장하기/[28:15] 셋팅/[29:07] 테이블 생성/[29:45] 확인/[30:33] 파티션 아카이빙/[32:00] 테이블 생성/[32:51] 테이블에 파티션 생성/[33:05] 데이터 입력/[33:57] 쿼리문 실행/[34:22] 결과 확인/[35:00] auxlib 디렉토리 생성/[35:34] 아카이브 하기/[37:19] 스토리지 핸들러& noSQL/[37:29] 스토리지 핸들러/[39:45] 스토리지 핸들러 설정 방법 알아보기/[40:13] HBase 테이블 생성 예제/[42:15] 이미 HBase 테이블이 있고 하이브와 연동하고 싶을 경우/[43:52] hbase에 컬럼 매핑시 주의점/[44:22] 카산드라 매핑/[45:37] 카산드라 SerDe 속성/[46:22] 카산드라 테이블 속성/[47:38] 아마존 다이나모 db/[48:34] 쿼리문 보기
- 11.52분 보안과 개발
인증, 사용자, 그룹, 역할 권한, Hive 빌드 방법, 테스트 케이스 실행, 이클립스 연동
책갈피 : [00:05] 하이브 보안 및 개발 환경 설정/[00:15] 보안/[01:34] 커베로스/[02:53] 하이브 인증 부분 살펴보기/[03:05] hive.files.umask.value/[04:15] hive.metastore.authorization.storage.checks/[04:55] hive.metastore.execute.setugi/[06:00] 권한 부분 살펴보기/[07:00] 각 유저별로 권한 따로 주기/[07:26] 사용자와 그룹 역할에 대해 특권 부여하거나 회수하기/[07:39] 사용자에 대한 권한 부여 또는 회수/[08:28] 속성값 셋팅/[08:50] 데이터 베이스 생성/[09:11] 테이블 생성/[09:58] 권한 주는 방법/[10:48] 수행/[11:48] 그룹별로 권한 설정하기/[12:11] 데이터베이스 생성 후 권한 주기/[12:22] 테이블 생성/[12:54] 권한 주기/[13:26] 셀렉트문 실행/[14:01] role/[14:33] 테이블 생성/[15:13] role 생성/[15:46] role에 권한 주기/[16:36] 셀렉트문 실행/[16:52] 특권 목록/[18:22] 특권 실습/[18:51] create 특권 살펴보기/[20:06] alter 권한 보기/[20:55] alter table 쿼리 재실행/[21:10] 업데이트 특권/[21:47] 업데이트에 권한 주기/[22:11] 셀렉트문 실행/[23:06] all 특권/[23:22] drop 권한/[23:36] 파티션 레벨에 특권 부여하기/[25:03] 파티션 추가/[27:11] 해당 유저별로 권한 주기/[27:52] 하이브 개발 환경 설정/[28:37] 개발이 필요한 이유/[29:18] log4j/[30:33] log4j 파일을 수정, 복사 하지 않고 하이브 로깅설정 임의 변경하기/[30:56] 예제 보기/[31:41] 하이브 소스 빌드/[32:30] 소스 받아서 메이븐으로 컴파일 하기/[33:22] 하이브 트렁크 보기/[34:51] itests 에서 명령 재실행/[36:19] 테스트 쿼리 확인/[36:35] 쿼리스 디렉토리 보기/[37:06] 소스 부분 확인/[38:07] qtest 디렉토리 보기/[38:37] 테스트 케이스 실행 방법/[40:00] hook/[40:45] 이클립스를 통한 하이브 소스 개발 환경설정 하기/[41:19] 소스 이클립스에 연동/[42:22] 메이븐 플러그인 설치/[44:15] pom.xml에 특정 디펜던시 추가/[45:12] 하이브 테스트 구동/[47:00] hivetest.java 코드 보기/[48:35] 버전 1.6으로 변경/[49:36] 로직 보기/[50:06] 쿼리문 입력/[50:42] 쿼리문 실행/[51:15] a와 결과 비교
- 12.52분 함수 part1
함수 종류 및 설명, UDF, 생년 월일로 만 나이를 찾아내는 함수 만들기 실습, GenericUDF, NULL 체크 및 기본값을 입력 받아 값을 출력하는 함수 만들기 실습
책갈피 : [00:05] 함수에 대해 알아보기/[00:39] udf/[02:42] 함수 탐색/[03:07] 하이브 내장 함수 살펴보기/[03:20] show functions 명령실행/[03:52] 도움말 보기/[04:00] 추가적인 정보 확인/[04:30] 함수 사용법/[05:12] 명령 수행/[05:30] 사용자 정의 함수/[06:30] udf 함수/[07:29] udaf 함수/[08:54] 예제 보기/[09:50] 쿼리 문 실행/[10:03] udtf 함수/[11:09] 대표적 테이블 생성 함수 예제/[11:45] 쿼리문 실행 후 결과 확인/[12:18] explode 함수/[12:39] 출력 확인/[13:31] semanticexception 문구 보기/[13:56] 테이블 생성 함수를 하이브에서 다른 컬럼과 사용하는 방법/[14:54] 쿼리문 실행/[15:41] udf 실습/[16:25] 테이블 생성/[17:03] 확인/[17:59] 소스 코드 확인/[19:00] 클래스 정의 보기/[20:48] 매서드 보기/[21:52] 주의할점/[23:14] evaluate 에서 로직 구현 살펴보기/[23:48] 캘린더에 setTime 셋팅/[24:45] evaluate 매소드 재 호출/[25:48] 로직 살펴보기/[26:18] 만 나이 계산시 주의할점/[27:41] 함수가 제대로된 값을 반환하는지 알아보기/[29:41] j유닛 테스트/[30:41] 확인/[31:18] 다른 테스트/[31:33] 확인/[32:04] 컴파일 하고 자르로 묶기/[32:45] clean package/[33:37] 빌드 확인/[34:04] 타겟 디렉토리 열기/[35:00] 자르파일을 옮기고 하이브 내에서 실제 사용하기/[35:30] 자르파일 하이브 클래스 패스에 추가/[36:19] 하이브 셀에 add jar 명령 주기/[37:45] temporary/[38:27] 명령 실행/[39:00] 실제 테스트/[39:50] 검증/[40:59] 예제 만들기/[41:34] 실제 소스 보기/[43:04] 이니셜라이즈 메소드 역할/[44:07] 사용자로부터 입력받은 인자 값 차례로 계산/[46:15] 정리/[47:00] 빌드하기/[47:51] 자르 카피/[48:37] 확인/[49:43] 함수 실행/[50:36] 해당 자바 코드 보기
- 13.49분 함수 part2
UDAF, MsSQL의 GROUP_CONCAT 함수 만들기, explode 함수 기능 만들기, UDTF, 복합 데이터형 효과 만들기
책갈피 : [00:14] udaf 함수/[01:34] 집계함수 정의 시 주의할 점/[03:04] udaf 함수 만들기/[03:53] CONCAT_ws 함수/[04:58] GROUP_CONCAT 매서드 확인하기/[05:00] mysql 접속/[05:29] 테이블 생성/[06:00] 값 입력/[06:30] 명령 실행후 친구 데이터 입력/[06:58] 테이블 값 확인/[07:27] GROUP_CONCAT 사용/[07:46] 결과 확인/[08:33] 집계 연산에서 명심할 부분/[09:33] 소스 보기/[11:24] GConcatListEvaluator 클래스 선언 보기/[12:31] 로직 보기/[12:52] init 매소드 보기/[13:31] args[0/[15:33] getNewAggregationBuffer 함수/[15:54] iterate 함수/[16:47] terminatePartial 매소드/[17:52] terminate 매소드/[18:25] 소스 하이브 쿼리로 사용하는 방법 알아보기/[18:37] jar 카피/[19:00] 테이블 생성/[19:37] 결과 확인/[20:00] jar add 후 테스트/[21:18] 쿼리문 실행/[22:26] 사용 자 정의 테이블 생성 함수/[23:40] 익스플로드 기능을 하는 함수를 while 문을 써서 만들기/[24:56] initialize 매소드/[26:52] resultArr 보기/[27:56] process 매소드/[29:33] 테스트/[30:44] 결과 확인/[31:07] parse_url_tuple 함수 사용법/[32:29] car 클래스를 이용해 세르데 하는 방법/[32:52] parseString 매소드/[34:30] car 테이블 만들기/[34:51] 확인/[35:45] 쿼리문 실행/[36:34] UDTF 만들기/[37:30] initialize 매소드 살펴보기/[39:52] process 매소드 살펴보기/[42:00] 실제 수행 되는 모습 확인/[42:14] create 처리/[42:36] car 데이터 다시 살펴보기/[42:45] 쿼리문 실행/[43:44] 결과 확인/[44:07] udf에서 분산 캐시 접근 가능/[45:22] 여러 어노테이션 쓰기/[45:52] 쿼리의 결정성/[46:38] udf의 상태 유지 특성/[47:46] 매크로
- 14.54분 스트리밍과 하이브 쓰리프트 서비스
쉘 스크립트와 스트리밍, 파이썬 스크립트와 스트리밍, Generic MR 도구 활용, 그루비를 활용한 쓰리프트 서비스 실습
책갈피 : [00:08] 스트리밍과 하이브 쓰리프트 서비스에 대해 알아보기/[00:40] 스트리밍/[03:06] 스트리밍 실습 진행/[03:14] 데이터 베이스 테이블 생성/[03:30] 테이블 스키마 보기/[04:00] 항등변환/[04:29] 실제 쿼리 살펴보기/[05:08] 결과 확인/[05:45] 데이터형 변환/[06:00] 형변환 예제 실행/[06:15] 항등 변환과의 차이점/[07:00] 결과 확인/[07:54] 컷 명령어를 이용해서 특정 필드를 추출하거나 프로젝트 하기/[08:05] 쿼리 살펴보기/[08:45] 쿼리수행 결과 확인/[08:56] 조작 변환/[09:20] 쿼리 살펴보기/[09:43] 결과 확인/[10:48] 분산 캐시 예제/[11:09] 스크립트 보기/[12:26] 셀 스크립트 실행/[13:22] 셀 스크립트 추가/[13:28] 셀렉트 문 만들기/[13:46] 결과 확인/[14:54] 예제 실습/[15:01] 데이터 보기/[17:22] 스크립트 하이브에 등록하기/[17:29] 테이블 생성/[18:33] perl 스크립트 활용/[19:11] 결과 확인/[20:18] 스크립트 보기/[21:33] sum_test 스크립트 추가/[22:11] 쿼리 실행/[24:14] python 스크립트 보기/[25:48] 프린트 함수 살펴보기/[26:22] 두번째 python 스크립트 보기/[28:26] 각 출력되는 변수 보기/[30:15] 사용할 데이터 보기/[30:37] 테이블 생성/[31:45] 테스트 쿼리 실행/[33:05] 데이터 결과 확인/[35:13] wordcountreduce 클래스/[36:07] identityMapper.java/[36:28] 해당 소스 살펴보기/[37:21] wordcountreduce 클래스 살펴보기/[39:44] 스트리밍 팁/[40:07] 쓰리프트 서버 구동방법/[41:00] 쓰리프트 서버란?/[42:30] groovy 설정/[43:07] groovy 실행/[43:22] 하이브 서버에 연결/[45:07] 명령 수행/[45:22] 결과 확인/[46:00] 모든 데이터 가져올 경우/[46:28] 쿼리플랜 가져오기/[47:28] get_partition_names 메소드 실행/[48:22] 예제 테이블 검사기 살펴보기/[48:37] 로직 보기/[50:37] haproxy/[51:52] haproxy 시작 방법/[52:29] 쓰리프트 메타스토어/[53:15] 클라이언트 설정
- 15.49분 하이브의 포맷과 잠금 기능
파일 포맷, 레코드 포맷 및 SerDe, Zookeeper를 활용한 하이브 잠금 실습
책갈피 : [00:32] 하이브 포맷 사용자화 방법/[02:28] 테이블 생성/[03:15] describe formatted 입력/[03:23] 테이블 정보 살펴보기/[04:46] 텍스트 파일 포맷/[05:30] 시퀀스 파일 포맷/[06:46] rc 파일/[08:39] rc 파일 소스 접근/[09:46] rc 포맷 데이터로 변환/[10:35] test_base 테이블 보기/[11:13] rc 포맷 데이터 타입으로 테이블 생성/[12:22] 쿼리 실행/[12:50] 결과 확인/[13:07] 하둡 파일 시스템 내용 살펴보기/[13:43] refilecat 명령어 실행/[14:05] 사용자 정의 입력 포맷/[14:46] 소스 보기/[15:45] 커스텀 인풋 포맷 인터페이스 구현/[16:41] getSplits 매소드 보기/[17:26] customInputSplit 보기/[17:41] CustomRecordReader/[18:11] next 매소드/[19:00] 하이브에 jar를 등록해 함수로 사용하기/[19:11] 테이블 생성/[20:51] 테스트/[21:18] 결과 확인/[22:18] 테스트에 사용할 데이터 보기/[22:51] 예제에 사용할 테이블 생성/[23:52] 데이터 입력/[24:30] csv-serde 테스트/[24:56] 테이블 생성/[25:45] xml udf/[27:29] Xpath 관련 함수/[27:52] 쿼리문 실행/[28:25] 명령 실행 후 결과 확인/[28:37] Xpath double/[29:29] 제이슨 데이터를 하이브를 통해 쿼리 하길 원할 경우/[30:03] 데이터 살펴보기/[30:32] jar 파일 등록/[30:51] 테이블 생성/[31:15] 데이터 입력/[32:30] 테이블 속성을 이용한 avro 스키마 정의/[33:37] 실행/[35:15] 바이너리 출력/[35:52] 예제 테이블 생성/[36:30] 데이터 입력/[37:37] 또다른 예제 살펴보기/[38:05] 속성값 설정/[38:52] 테이블 생성/[39:57] 결과 확인/[40:30] 저장 확인/[40:51] 잠금 기능/[42:14] zookeeper/[42:52] zookeeper 설치/[43:51] lock 걸기/[44:27] lock 자세히 보기/[44:52] 동시성 기능 설정 방법/[45:30] zookeeper와 하이브 연동/[46:04] 배타적 잠금/[46:52] 배타적 잠금 실습/[47:36] 하이브 접속 후 쿼리 수행/[48:22] shared lock 걸기/[48:46] 결과 확인
- 16.53분 Hive Workflow 관리와 공통의 메타 스토어 활용
Oozie 설치 및 활용 방법, HCatalog 프로그래밍, HCatalog 아키텍처, AWS의 EMR 간단 설명
책갈피 : [00:51] oozie/[02:30] oozie workflow job/[03:15] oozie action 종류/[03:59] oozie 설치/[04:30] oozie 파일 다운로드/[05:43] 셸 스크립터 실행/[06:30] tar.gz 파일 압축 해제/[06:57] 심볼릭 링크 설정/[07:54] ext-2.2.zip 파일 다운로드/[08:33] oozie 설정 잡기/[09:28] oozie에 대한 홈 디렉토리 잡기/[09:58] core-site.xml 파일 수정/[10:26] workflow 다루는 방법/[11:05] hive_service 앱 만들기/[11:46] 메이븐 컴파일/[12:48] m6d_oozie.git 파일 다운로드/[13:18] 라이브러리 복사/[14:48] 두개의 파일 생성/[15:09] job.properties 파일 만들기/[16:07] 주의할점/[16:32] workflow.xml 파일 만들기/[16:56] create-table 살펴보기/[18:33] query-table 살펴보기/[19:22] query-query 살펴보기/[19:45] 만든 데이터를 파일 하둡 시스템에 올리기/[21:26] oozie 구동/[22:18] workflow 실행 명령 주기/[23:14] workflow 실행/[24:11] 검증하기/[25:33] 테이블 확인/[26:26] workflow 안에서 변수 사용하기/[27:22] oozie-출력 캡쳐/[28:41] h 카탈로그/[32:00] h 카탈로그를 활용한 맵 리듀스 구현 소스 살펴보기/[32:15] dependency 추가/[32:42] hcatinputformat/[34:15] hcatinputformat 초기화 할때 가장먼저 해야할일/[35:07] map 매소드/[37:45] outputformat 살펴보기/[38:45] 리듀스 클래스 보기/[42:07] hcatalog-명령행(지원하지 않는 명령)/[42:22] hcatalog-아키텍쳐/[45:45] aws&하이브-EMR/[47:30] Master 인스턴스 그룹/[47:45] core 인스턴스 그룹/[48:00] task 인스턴스 그룹/[49:06] EMR에서의 지속성/[49:14] EMR 클러스터 외부에 존재하는 지속적인 메타스토어 사용/[50:07] S3에 MYSQL 덤프/[51:07] EMR 하이브 최적화 설정/[51:51] 예시
- 17.44분 사례 연구 part1
m6d.com, NASA 제트 추진 연구소, 포토 버킷
책갈피 : [00:39] m6d.com 사례 살펴보기/[00:51] m6d.com-하이브와 R을 활용한 데이터 분석/[05:15] 테이블 스키마 살펴보기/[06:00] 쿼리를 통한 데이터 추출/[07:44] 쿼리 최적화 수행/[09:41] m6d.com-하이브 적용사례/[10:52] 실습에 사용할 데이터 확인/[11:52] 테이블 생성/[13:09] 데이터 삽입/[13:26] 확인/[13:41] 얻고자 하는 정보 추출하기/[14:52] udf 함수를 만들기 위한 소스코드 살펴보기/[16:22] 키값 비교 매소드 구현 보기/[17:37] copykey 매소드 보기/[18:14] m6drank 클래스의 역할/[19:26] 해당 jar 파일 등록 후에 함수 사용하기/[19:40] jar 파일 카피/[19:56] jar 파일 지정/[20:26] 쿼리문 실행/[20:55] 새로 만든 함수를 통한 데이터 처리 확인/[21:26] 쿼리문 살펴보기/[23:45] 쿼리 실행 후 결과 확인/[25:18] m6d.com-교차 배치 쿼리 실행/[26:33] 수행한 쿼리 보기/[27:26] 로케이션 보기/[29:07] m6d.com-하둡 클러스터 간 하이브 데이터 복제/[30:51] NASA 제트 추진 연구소/포토 버킷 적용사례/[32:07] 하이브 선택 이유/[33:37] 도전과 극복/[37:15] 포토 버킷 사례/[40:15] 하둡과 하이브를 적용한 이유/[41:00] 포토 버킷에 어떤 데이터가 하이브로 마이그레이션 되었는지 알아보기/[42:29] 포토 버킷의 데이터를 사용하는 곳
- 18.49분 사례 연구 part2
아웃 브레인, 심플리치, 카르마스피어
책갈피 : [00:14] 아웃 브레인 분석/[00:54] 사이트 내 유입 경로 식별/[02:28] 유입 경로 유형 결정을 위한 테이블 생성/[04:15] 다중 url의 처리/[05:57] 쿼리문 살펴보기/[07:46] select 부분 보기/[08:50] 첫번째 쿼리와 다른점/[09:48] 고유 값 세기/[11:41] 문제점/[13:13] on 에서 n 줄이는 방법/[13:22] 임시테이블 만들기/[14:03] date 변수 활용 살펴보기/[14:31] 스크립트 만들기/[15:31] 쿼리 실행/[16:18] 사용자 활동 분석/[19:07] 사용자 활동 분석 사례 진행/[19:11] 데이터 보기/[20:21] 세션 시작 페이지 뷰 찾기/[21:48] 테이블 생성/[22:21] 셀렉트 구문으로 확인/[23:33] 쿼리문 보기/[24:52] 시작 페이지 찾는 부분/[25:22] 타임스테프 엑셀 파일 확인/[29:37] 중첩 쿼리문이 하는일/[30:52] 엑셀 살펴보기/[33:00] 스텝 쿼리문 실행/[33:19] 테스트/[34:06] 각 세션 페이지 뷰 별로 집계하기/[34:42] 쿼리문 실행/[35:15] 쿼리문 보기/[36:22] 마지막 쿼리문 실행/[36:37] 테이블 조회/[38:00] 결과 확인/[39:00] 심플리치/[39:52] 카마스피어 관점/[40:27] 고객 적용 사례/[40:52] 하이브를 위한 최적의 데이터 포맷팅/[41:52] 데이터 포맷팅 예제/[42:52] 데이터 확인/[43:30] 데이터의 추가적인 파티셔닝/[44:07] regex, lateral view explode, ngram을 이용한 텍스트 분석과 UDF/[44:22] 예제 보기/[45:15] 테이블 생성/[46:08] 쿼리 살펴보기/[48:01] 실행 결과 확인
- 19.53분 오라클 마이그레이션 part1
데이터 변환조인 변환분석 함수
책갈피 : [00:05] 오라클 마이그레이션/[01:53] sql과 hiveQL의 차이/[04:38] 갱신 부분/[05:23] 지연 시간/[05:41] data type/[06:30] 함수/[07:00] join/[07:30] sub-query/[07:46] view/[08:05] 하이브 데이터형/[08:41] integer/[08:54] boolean/[09:07] string/[09:20] etc/[09:33] 오라클 데이터 형/[09:48] character/[10:01] number/[10:13] date/[11:52] 하이브에서의 정수형 데이터/[13:48] 실수형 변환/[14:20] 날짜형 데이터 변환/[14:52] 하이브 날짜 관련 UDF/[17:56] UDF와 오라클의 날짜 포맷/[18:52] 문자열 형 데이터 변환/[19:56] 바이너리형 데이터 변환/[20:30] 조인 변환/[21:37] 테이블 생성/[22:22] 테이블에 데이터 입력/[22:36] 테이블값 조회/[23:33] 동일한 테이블 오라클에서 생성하기/[24:22] 테이블값 조회/[24:47] 기본 조인 쿼리 살펴보기/[24:52] 오라클에서의 조인 쿼리/[25:48] 하이브에서의 조인 쿼리/[26:56] 셀프 조인/[27:56] 크로스 조인/[29:11] 오라클에서의 크로스 조인/[29:29] 하이브에서의 크로스 조인/[30:07] 왼쪽 외부 조인/[31:15] 쿼리 수행/[32:00] 하이브에서의 왼쪽 외부 조인/[32:37] 오른쪽 외부 조인/[33:00] 쿼리 수행/[34:00] 오라클에서의 오른쪽 외부 조인/[34:21] 완전 외부 조인/[35:15] 디코드 함수/[36:22] 쿼리 실행/[37:07] 케이스 문/[38:15] 인덱싱/[38:45] 테이블 압축/[39:36] 파티셔닝/[40:22] 분석함수/[41:07] 오라클의 분석함수/[41:49] 오라클의 분석함수 기본 문법/[42:37] 오라클의 분석함수 종류/[43:00] 오라클의 분석함수 기본 변환규칙/[44:22] RANK 함수/[45:20] DENSE RANK 함수/[45:44] MAX, MIN 함수/[46:37] ROW NUMBER 함수/[47:21] 복잡한 서브쿼리/[47:52] IN 쿼리/[50:04] NOT IN 쿼리/[51:20] 결과 확인/[51:30] NOT EXISTS 쿼리/[52:24] 하이브에서 쿼리 수행
- 20.45분 오라클 마이그레이션 part2
스칼라 서브 쿼리, 고급 분석 함수, 오픈 소스 R하이브 소개
책갈피 : [00:35] 스칼라 서브 쿼리/[02:30] 오라클에서 스칼라 서브 쿼리 사용하는 sql문 테스트/[03:14] 쿼리문 실행/[03:23] 결과 확인/[04:24] 결과 실행/[04:42] 고급 분석 함수/[05:00] 롤업 함수/[05:15] 롤업 쿼리 살펴보기/[07:15] with rollup 키워드 사용해 롤업 문 실행하기/[07:43] 결과 확인/[08:13] 큐브 함수/[08:35] 오라클에서 큐브 함수 사용하기/[09:43] with cube/[10:28] grouping sets 함수/[11:07] 쿼리문 실행/[12:05] 결과 확인/[13:31] 오픈소스 r 하이브/[14:11] r 하이브 개발 배경/[15:16] 하이브의 장 단점/[15:48] r의 장 단점/[16:14] r하이브의 장 단점/[16:45] r하이브의 특징/[19:03] r하이브의 장점과 한계/[20:25] r하이브의 구조/[21:47] r하이브 설치 과정/[23:00] 하이브 서버 구동/[23:37] 하둡 및 하이브 환경 변수 설정/[24:11] 하둡 클러스터 환경 설치/[24:56] r 서브 데몬 설정 추가/[25:41] r 서브 데몬 실행/[26:10] 결과 확인/[27:25] 하이브 연동 함수/[29:03] rhive.list.tables/[30:00] test base 쿼리문 실행/[30:26] 해당 테이블 삭제/[31:02] r하이브 기본 통계 함수/[33:13] rhive.basic.range/[34:22] 빅데이터 처리를 위한 apply 함수/[35:30] 하둡 파일 시스템 지원 함수/[38:22] 하둡 파일 시스템 지원 함수 실습/[39:00] 결과 확인/[39:30] ls 실행/[39:45] 파일 업로드/[40:15] 결과 확인/[40:37] 해당 파일 보기/[41:36] 전체 디렉토리 조회/[41:53] r 하이브와 유사 패키지의 비교
Hive강의,Hive강좌,Hive교육,Hive학원,Hive인강,Hive인터넷강의,Hive인터넷강좌,Hive동영상,Hive동영상강의,Hive동영상강좌,Hive배우기,Hive사용법,Hive사용방법,하이브강의,하이브강좌,하이브교육,하이브학원,하이브인강,하이브인터넷강의,하이브인터넷강좌,하이브동영상,하이브동영상강의,하이브동영상강좌,하이브배우기,하이브사용법,하이브사용방법,빅데이터,빅데이터분석,빅데이터란,빅데이터교육,빅데이터강의,빅데이터강좌,빅데이터학원,빅데이터통계,데이터베이스,데이터베이스정의,데이터베이스란,데이터베이스화,데이터베이스구축,데이터베이스관리,데이터베이스시스템
'추천강의' 카테고리의 다른 글
드림위버 cc 교육 추천 강좌 (0) | 2017.11.27 |
---|---|
랩뷰 2012 학원 교육 (0) | 2017.11.07 |
Oracle 오라클 강좌 교육 (0) | 2017.11.07 |
Maven 메이븐 추천 강의 (0) | 2017.11.07 |
랩뷰 2009 강좌 리뷰 (0) | 2017.11.07 |