---
title: "Hive External Table로 json 파일 연동"
slug: "hadoop-vpc-use-ex-json"
updated: 2026-07-23T09:02:24Z
published: 2026-07-23T09:02:24Z
canonical: "guide-fin.ncloud-docs.com/hadoop-vpc-use-ex-json"
---
> ## 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로 json 파일 연동
Hive External Table은 Hive에서 테이블 생성 시 External 키워드로 생성하는 테이블입니다. Hive External Table은 `hive.metastore.warehouse.dir` 속성이 가리키는 디렉터리에 데이터를 저장하지 않으며, 테이블 생성 시 설정한 경로에 데이터를 저장합니다.
이미 Hadoop에 있는 데이터를 기반으로 테이블을 만들기 때문에 스키마만 정해주면 생성할 수 있습니다.
:::(Info) (참고)
[Hive 사용](/docs/analytics-cloudhadoop-chadoop-4-2) 가이드에서도 Hive External Table에 관련된 예제를 볼 수 있습니다.
:::
이 가이드에서는 json 데이터를 Cloud Hadoop에서 제공하는 Hive의 External Table로 연동하여 사용하는 방법을 설명합니다.
## 샘플 데이터 준비
샘플 데이터를 준비하는 방법은 다음과 같습니다.
1. hive 사용자로 전환시켜 주십시오.
```Plain.txt
$ sudo su - hive
```
2. [해당 데이터](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/bookstat.json)를 다운로드해 주십시오.
:::(Info) (참고)
해당 데이터는 ndjson(Newline Delimited JSON) Data형태입니다.
:::
## HDFS에 json 파일 업로드
HDFS json 파일 업로드하는 방법은 다음과 같습니다.
1. HDFS에 디렉터리를 생성하십시오.
```Plain.txt
$ hdfs dfs -mkdir /user/hive/bookstat
```
2. HDFS 에 json 파일을 업로드하십시오.
```Plain.txt
$ hdfs dfs -put bookstat.json /user/hive/bookstat
```
3. HDFS 파일 리스트를 확인하십시오.
```Plain.txt
$ hdfs dfs -ls -R /user/hive/bookstat
-rw-r--r-- 2 hive hdfs 193 2023-06-28 14:41 /user/hive/bookstat/bookstat.json
```
## json포맷을 사용하는 Hive External Table 생성
Hive External Table을 생성하는 방법은 다음과 같습니다.
1. Cloud Hadoop 클러스터의 엣지 노드에 SSH로 접속해 주십시오.
- 클러스터 노드에 SSH로 접속하는 방법에 대한 자세한 내용은 [SSH로 클러스터 노드 접속](/docs/analytics-cloudhadoop-chadoop-3-2) 가이드를 참고해 주십시오.
2. Hive 클라이언트 명령어를 이용하여 External Table을 생성합니다.
```
$ hive
```
* 데이타베이스 생성
```Plain.txt
hive> CREATE DATABASE book;
```
* 생성한 데이타베이스 사용
```
hive> USE book;
```
* 테이블 생성
```
hive> CREATE EXTERNAL TABLE IF NOT EXISTS bookstat_serde1
(
statTime STRING,
bizCode STRING,
saleInfo STRUCT <
bookName:STRING,
saleCount:INT
>
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE
LOCATION '/user/hive/bookstat' ;
```
## json포맷을 사용하는 Hive External Table 조회
- 테이블이 생성되면 `SELECT` 쿼리를 수행하여 데이터를 확인할 수 있습니다.
* 테이블 조회
```Plain.txt
hive> select * from bookstat_serde1;
OK
20130710180059 BOOK {"bookname":"book61","salecount":749}
20230628140059 BOOK {"bookname":"book800","salecount":899}
```
## Hive External Table 삭제
Hive External Table을 삭제하는 방법은 다음과 같습니다.
1. 생성된 Hive External Table 다음 명령어를 사용하여 삭제해 주십시오.
- 아래는 앞서 생성한 Hive External Table(bookstat_serde1)을 삭제하는 예시입니다.
```Plain.txt
DROP TABLE bookstat_serde1;
```
2. 삭제된 테이블에 SELECT 쿼리를 수행해 주십시오. 에러가 발생하여 정상적으로 테이블이 삭제된 것을 확인할 수 있습니다. 또한 Show Tables를 통해 테이블 삭제 여부를 확인하실 수 있습니다.
* SELECT 쿼리 이용
```Plain.txt
SELECT * FROM bookstat_serde1;
Error: Error while compiling statement: FAILED: SemanticException [Error 10001]: Line 1:14 Table not found 'bookstat_serde1' (state=42S02,code=10001)
```
* SHOW TABLES로 테이블 목록 확인
```
SHOW TABLES;
```