--- 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; ```