Hadoop 하둡에서 데이터베이스, 테이블, 데이터 다루기
2022. 10. 23. 01:49ㆍProgramming
728x90
1. DATABASE 생성/제거하기
1.1 DB 생성하기
# DB의 이름을 cust_dm으로 생성
CREATE DATABASE cust_dm;
CREATE DATABASE IF NOT EXISTS cust_dm;
1.2 DB 제거하기
# cust_dm 제거
DROP DATABASE cust_dm;
DROP DATABASE IF EXISTS cust_dm;
2. TABLE 생성/제거하기
2.1 TABLE 생성하기
#impala
CREATE TABLE cust_dm.table1(
id_val INT,
cust_key STRING,
value1 decimal(5,4),
tmstmp TIMESTAMP
)
ROW FORMAT DELIMITED #table 구분 세팅
FIELDS TERMINATED BY ',' #seperator를 , 로 세팅
STORED as TEXTFILE #option1: TEXTFILE|SEQUENCEFILE|...
LOCATION ‘/cust_dm/table1’; #option2: 데이터경로 지정
외부에서 데이터 읽어오기
CREATE EXTERNAL TABLE cust_dm.table2
(
id_val INT,
cust_key STRING,
value1 decimal(5,4),
tmstmp TIMESTAMP
)
LOCATION ‘/cust_dm/table2‘;
기존 table의 조회 결과를 사용
CREATE TABLE cust_dm.table1_sub AS
SELECT id_val, value1, tmstmp
FROM cust_dm.table1
WHERE cust_key = ‘VIP’ ;
기존의 테이블 스키마 활용
CREATE TABLE cust_dm.table3 LIKE cust_dm.table1
2.2 TABLE 제거하기
table 지우기 (복구 가능)
DROP TABLE IF EXISTS cust_dm.table1 [PURGE];
table 지우기 (복구 불가)
DROP TABLE IF EXISTS cust_dm.table1 PURGE;
3. 테이블, 데이터 탐색
SHOW TABLES;
DESCRIBE cust_dm.table1;
DESCRIBE FORMATTED cust_dm.table1;
728x90
4. 데이터 삽입, 삭제, 수정
4.1 데이터 삽입
INSERT INTO cust_dm.table1
VALUES (123, 'key1', 1.1234, current_timestamp());
컬럼명시 & 다수 데이터 삽입
INSERT INTO cust_dm.table1 (id_val, cust_key, value1, tmstmp)
VALUES (123, 'key1', 1.1234, current_timestamp()),
(456, 'key2', 0.9652, current_timestamp()),
(123, 'key1', 0.0001, current_timestamp());
부분 컬럼 삽입 or Null 삽입
#value1에는 null 값이 들어감
INSERT INTO cust_dm.table1 (id_val, cust_key, tmstmp)
VALUES (123, 'key1', current_timestamp());
#value1에는 null 값이 들어감
INSERT INTO cust_dm.table1 (id_val, cust_key, value1, tmstmp)
VALUES (123, 'key1', Null, current_timestamp());
4.2 삭제
delete from cust_dm.table1
where id_val = 456;
table을 유지하고 모든 데이터를 삭제
delete from cust_dm.table1;
4.3 수정(업데이트)
UPDATE cust_dm.table1
SET value1 = 0.000
WHERE id_val = 123;
다수 값 수정
UPDATE cust_dm.table1
SET value1 = 0.000,
cust_key = 'key8'
WHERE id_val = 123;
다른 table의 값을 로드해서 수정
UPDATE table1
SET value1 = original_tb.value1,
cust_key = original_tb.cust_key
FROM original_table as original_tb
WHERE table1.id_val = origianl_tb.id_val;
반응형
'Programming' 카테고리의 다른 글
SAP HANA DB에서 변수 사용하는 방법 (0) | 2022.11.16 |
---|---|
Amazon SageMaker conda 가상환경 세팅하는 방법 (0) | 2022.11.03 |
python 조합, 순열 (combinations, permutations), 프로덕트(product) (0) | 2022.09.30 |
python 파이썬 rjust ljust zfill (0) | 2022.09.23 |
[pandas] Getting started (0) | 2022.08.20 |