공공데이터 포털
국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase
www.data.go.kr
윈도우에서 데이터셋 다운로드 받고 리눅스 root에 전송
→ 이 과정에서 csv 파일을 리눅스에서 열었을 때 한글이 깨져보이는 현상이 발생했다.
- google colab에서 csv 파일을 전처리해서 문제를 해결한다.
import pandas as pd
df = pd.read_csv("아파트분양.csv")
df = pd.read_csv("아파트분양.csv", encoding='utf-8', header = False)
# 인덱스 제거하고 헤더 정보 없이 내용만으로 csv 생성
df = pd.read_csv("아파트분양.csv.csv", header=None)
# 헤더 정보가 없기 때문에 기본 동장이 첫 로우를 헤더로 인식하는 것을 방지
df.to_csv('아파트분양.csv', index = False)
- 전처리 한 csv 파일을 명령 프롬프트에서 리눅스 환경으로 다시 전송하기

데이터셋을 Hive에 적재하기
- 데이터셋을 저장할 디렉토리 생성하기
-> 원하는 디렉토리 하위에 생성해준다. 어느 디렉토리에 만들어도 상관은 없다.
hadoop fs -mkdir -p user/root/hadoop_edu/aptprice
- 생성한 디렉토리에 데이터셋 넣기
hadoop fs -put 아파트분양.csv user/root/hadoop_edu/aptprice
- Hive를 실행해서 데이터셋을 가져올 테이블 생성하기
CREATE DATABASES IF NOT EXISTS hadoop_edu;
CREATE EXTERNAL TABLE hadoop_edu.aptprice
(
region_name STRING,
size_category STRING,
year INT,
month INT,
price_per_square_meter STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS textfile
LOCATION '/user/root/hadoop_edu/aptprice';
- 생성한 테이블에 데이터셋 load하기
LOAD DATA INPATH '/user/root/hadoop_edu/aptprice' INTO TABLE hadoop_edu.aptprice;
→ LOAD DATA INPATH ‘데이터셋을 저장할 디렉토리의 경로’ INTO TABLE 생성한 테이블 이름 ;
- 테이블 조회해보기

→ 데이터셋을 전처리할 때 Header를 제거하는 과정을 거치지 않았음
→ 문제 확인 후 colab에서 Header를 제거 후 다시 데이터를 로드함

'Data Engineering > Hive' 카테고리의 다른 글
| [Linux/Hive] Apache Hive를 설치해보자 (0) | 2024.08.22 |
|---|---|
| [Linux/Hive] Apache Hive에 대해 알아보자 (0) | 2024.08.22 |