---
title: "Hive External Table로 CSV 파일 연동"
slug: "hadoop-vpc-use-ex11"
tags: ["Cloud Hadoop", "Cloud Hadoop ecosystem", "Hive External Table"]
updated: 2026-07-23T09:02:24Z
published: 2026-07-23T09:02:24Z
canonical: "guide-fin.ncloud-docs.com/hadoop-vpc-use-ex11"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://guide-fin.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hive External Table로 CSV 파일 연동

Hive External Table은 Hive에서 테이블 생성 시 External 키워드로 생성하는 테이블입니다. Hive External Table은 `hive.metastore.warehouse.dir` 속성이 가리키는 디렉터리에 데이터를 저장하지 않으며, 테이블 생성 시 설정한 경로에 데이터를 저장합니다.

이미 Hadoop에 있는 데이터를 기반으로 테이블을 만들기 때문에 스키마만 정해주면 생성할 수 있습니다.

참고

[Hive 사용](/docs/analytics-cloudhadoop-chadoop-4-2) 가이드에서도 Hive External Table에 관련된 예제를 볼 수 있습니다.

이 가이드에서는 Object Storage에 보관한 csv 데이터를 Cloud Hadoop에서 제공하는 Hive의 External Table로 연동하여 사용하는 방법을 설명합니다.

## 샘플 데이터 준비

Hive External Table을 테스트하기 위한 샘플 데이터로 [기상자료개방포털](https://data.kma.go.kr)에서 제공하는 기온 데이터를 다운로드해 주십시오.

샘플 데이터를 준비하는 방법은 다음과 같습니다.

1. [기상자료개방포털](https://data.kma.go.kr)에 접속한 후 메인 페이지에서 **기후통계분석 > 통계분석 > 조건별통계**를 차례대로 클릭해 주십시오.
2. 다음과 같이 검색 조건을 설정한 후 **[검색]** 버튼을 클릭해 주십시오.
  - 분류 : 지상
  - 지역/지점 : 서울 또는 부산
  - 요소 : 기온
  - 기간 : **일** 선택 후, `2011년 ~ 2021년`으로 설정
  - 조건 : **월**과 **일**의 체크박스 체크  

![hadoop-chadoop-use-ex10_1-1_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/hadoop-chadoop-use-ex10_1-1_ko.png)
3. 결과 그래프 우측 하단의 **[csv]** 버튼을 클릭해 csv 파일을 다운로드해 주십시오. ![hadoop-chadoop-use-ex10_1-2_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/hadoop-chadoop-use-ex10_1-2_ko.png)
4. 위 2~3단계를 반복하여 `서울`과 `부산` 지역의 기온 데이터를 각각 다운로드해 주십시오.
5. 다운받은 csv 파일 내용을 확인해 주십시오. 맨 위에서 부터 헤더 내용이 12줄, 기온 데이터는 13번째 줄부터 시작함을 알 수 있습니다. ![hadoop-chadoop-use-ex10_2-3_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/hadoop-chadoop-use-ex10_2-3_ko.png)

참고

한글 문자 깨짐 현상은 인코딩을 변경하면 해결할 수 있습니다. 자세한 내용은 [Hive External Table 생성](/docs/hadoop-vpc-use-ex11#hive-external-table-%EC%83%9D%EC%84%B1)의 **한글 깨짐 현상**에 대한 참고 사항을 확인해 주십시오.

1. 다음 명령어를 사용하여 다운받은 csv 파일에서 불필요한 헤더 부분을 제거하고 파일 이름을 변경해 주십시오.

```
$ sed 1,12d extremum_20211021101126.csv > data1.csv
$ sed 1,12d extremum_20211020212220.csv > data2.csv
```

## Obeject Storage에 데이터 업로드

Obeject Storage에 데이터를 업로드하는 방법은 다음과 같습니다.

1. Object Storage에 `live-test-bucket` 버킷을 생성해 주십시오.
2. 생성한 버킷에 `hivedata` 디렉터리를 생성한 후 그 안에 샘플 데이터(csv) 파일을 업로드해 주십시오.  

![hadoop-chadoop-use-ex10_2-4_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/hadoop-chadoop-use-ex10_2-4_ko.png)

참고

버킷 생성에 대한 자세한 내용은 [Obeject Storage 사용 가이드](/docs/storage-objectstorage-objectstorageoverview)를 참조해 주십시오.

## Hive External Table 생성

Hive External Table을 생성하는 방법은 다음과 같습니다.

1. Cloud Hadoop 클러스터의 엣지 노드에 SSH로 접속해 주십시오.
  - 클러스터 노드에 SSH로 접속하기에 대한 자세한 내용은 [SSH로 클러스터 노드 접속](/docs/analytics-cloudhadoop-chadoop-3-2) 가이드를 참조해 주십시오.
2. 다음 명령어를 사용하여 Hive CLI를 실행해 주십시오.

```
$ hive
```
3. Hive 클라이언트 명령어를 이용하여 External Table을 생성합니다.

참고

**한글 문자 깨짐 현상** 한글 문자가 깨지는 현상은 기상청에서 제공되는 데이터가 `utf-8`이 아닌 `euc-kr`로 제공되어 발생한 현상입니다. 아래와 같이 Hive External Table의 인코딩을 `euc-kr`로 변경하면 한글이 바르게 표시됩니다.

```
ALTER TABLE weather SET TBLPROPERTIES('serialization.encoding'='euc-kr');

SELECT * FROM weather WHERE day = '2011-01-01';
+-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+
| weather.no  | weather.area  | weather.day  | weather.avg  | weather.max  | weather.maxtime  | weather.min  | weather.mintime  | weather.diff  |
+-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+
| 		159       | 부산            | 2011-01-01   | -1.1         | 4.1          | 14:55            | -5.8         | 06:40            | 9.9           |
| 		108       | 서울            | 2011-01-01   | -6.8         | -2.9         | 14:57            | -10.4        | 01:54            | 7.5           |
+-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+
```
  - `weather` 테이블이 생성되면 SELECT 쿼리를 수행하여 데이터를 확인할 수 있습니다.

```
CREATE EXTERNAL TABLE weather
(
no   STRING,
area STRING,
day  STRING,
avg  FLOAT,
max  FLOAT,
maxTime STRING,
min  FLOAT,
minTime STRING,
diff FLOAT
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 's3a://live-test-bucket/hivedata';

SELECT count(*) FROM weather;
+-------+
|  _c0  |
+-------+
| 7913  |
+-------+

SELECT * FROM weather WHERE day = '2011-01-01';
+-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+
| weather.no  | weather.area  | weather.day  | weather.avg  | weather.max  | weather.maxtime  | weather.min  | weather.mintime  | weather.diff  |
+-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+
| 		159       | 부산           | 2011-01-01   | -1.1         | 4.1          | 14:55            | -5.8         | 06:40            | 9.9           |
| 		108       | 서울          | 2011-01-01   | -6.8         | -2.9         | 14:57            | -10.4        | 01:54            | 7.5           |
+-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+
```

## Hive External Table 삭제

Hive External Table을 삭제하는 방법은 다음과 같습니다.

1. 생성된 Hive External Table 다음 명령어를 사용하여 삭제해 주십시오.
  - 아래는 앞서 생성한 Hive External Table(`weather`)을 삭제하는 예시입니다.

```
DROP TABLE weather;
```

1. 삭제된 테이블에 SELECT 쿼리를 수행해 주십시오. 에러가 발생하여 정상적으로 테이블이 삭제된 것을 확인할 수 있습니다.

```
SELECT * FROM weahter;

Error: Error while compiling statement: FAILED: SemanticException [Error 10001]: Line 1:14 Table not found 'weahter' (state=42S02,code=10001)
```

![hadoop-chadoop-use-ex10_2-2_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/hadoop-chadoop-use-ex10_2-2_ko.png)

참고

Hive External Table이 삭제되더라도 Object Storage의 csv 파일은 삭제되지 않고 안전하게 보관됩니다.
