일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 선형 회귀
- Deeplearning 키워드
- Spark 설치
- 차원의 저주
- 학습률
- Over fitting
- Manifold Learning
- Data 불러오기
- Hive CLI
- Feature extraction
- .hiverc
- hive
- 딥러닝
- data load
- Hadoop Ecosystems
- hive setting
- DeepLearning
- learning rate
- Spark Data 불러오기
- Haddop
- 스파크
- L2 정규화
- Managed Table
- 하이브
- Spark
- Clodera Quick Start
- Tez
- One-hot encoding
- 캐글
- Auto Encoder
- Today
- Total
남는건 기록뿐
Hive의 3 가지 Table Type, Data Load 본문
Managed
-> 테이블 생성 시 옵션을 따로 설정하지 않으면 Managed Table로 생성된다. 세션이 종료되어도 테이블의 데이터와 파일은 유지되는데, Table을 Drop하면 파일도 함께 삭제된다.
USE retail_db;
CREATE TABLE orders (
order_id INT COMMENT 'Unique order id',
order_dat STRING COMMENT 'Date on which order is placed',
order_customer_id INT COMMENT 'Customer id who placed the order',
order_status STRING COMMENT 'Current status of the order'
) COMMENT 'Table to save order level details'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
LOAD DATA LOCAL INPATH '/data/retail_db/orders' INTO TABLE orders;
External
-> External 옵션은 Managed Table과 파일 삭제 정책을 제외하고 동일하다고 한다. External Table은 DROP하면 파일은 그대로 유지되므로 사용자의 실수로 인한 파일 삭제를 방지할 수 있다는 장점이 있다.
USE retail_db;
CREATE EXTERNAL TABLE orders (
order_id INT COMMENT 'Unique order id',
order_dat STRING COMMENT 'Date on which order is placed',
order_customer_id INT COMMENT 'Customer id who placed the order',
order_status STRING COMMENT 'Current status of the order'
) COMMENT 'Table to save order level details'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
LOAD DATA INPATH '/public/retail_db/orders' INTO TABLE orders;
Managed와 차이점은 Table을 생성할 때 있다.
Temporary
Temporary Table은 현재 세선에서만 사용 가능한 Table을 생성한다. 현재 세션이 종료되면 제거되기 때문에 말 그대로 임시 Table이다.
Data Load
1. 테이블을 만들고 데이터를 LOAD 했을 시, 해당 경로에 있는 DATA는 삭제된다.
USE retail_db;
CREATE EXTERNAL TABLE orders (
order_id INT COMMENT 'Unique order id',
order_dat STRING COMMENT 'Date on which order is placed',
order_customer_id INT COMMENT 'Customer id who placed the order',
order_status STRING COMMENT 'Current status of the order'
) COMMENT 'Table to save order level details'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
LOAD DATA INPATH '/public/retail_db/orders' INTO TABLE orders;
2. 테이블을 만드는 Query 안에 경로가 있을 시, 해당 경로에 있는 DATA는 삭제 되지 않는다.
USE retail_db;
CREATE EXTERNAL TABLE orders (
order_id INT COMMENT 'Unique order id',
order_dat STRING COMMENT 'Date on which order is placed',
order_customer_id INT COMMENT 'Customer id who placed the order',
order_status STRING COMMENT 'Current status of the order'
) COMMENT 'Table to save order level details'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/public/retail_db/orders';
Hive 3.x에서 수정된 사항
- Hive default execution engine은 기존 MR에서 Tez로 바뀌었다.
- 주요 권한 모델로 Ranger를 사용하지만, Ranger를 쓰지 않는다면 기존 HDFS ACL을 사용한다고 한다.(뭥미?)
- Hive 2에서 제공하던 transactional 기능과 성능 및 사용성이 향상되었다.
'Hive & Impala' 카테고리의 다른 글
.hiverc setting! (0) | 2020.06.17 |
---|---|
Hive Partition, Bucketting에 대하여 (0) | 2020.06.17 |
MR과 TEZ의 차이 (0) | 2020.06.16 |
Hive CLI(Command Line Interface) (0) | 2020.06.15 |
Docker에서 Cloudera Quick Start Vm Image 다운받기 (0) | 2020.06.15 |