--- title: "Hive External Tableに jsonファイルを連携" slug: "hadoop-vpc-use-ex-json" updated: 2026-09-17T09:25:51Z published: 2026-09-17T09:25:51Z canonical: "guide.ncloud-docs.com/hadoop-vpc-use-ex-json" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Hive External Tableに jsonファイルを連携 VPC環境で利用できます。 Hive External Tableは、Hiveでテーブルの作成時に Externalキーワードで作成するテーブルです。Hive External Tableは、`hive.metastore.warehouse.dir` プロパティが示すディレクトリにデータを保存せず、テーブルの作成時に設定したパスにデータを保存します。 既に Hadoopにあるデータに基づいてテーブルを作成するため、スキーマを設定するだけで作成できます。 参考 [Hive を使用する](/docs/ja/hadoop-vpc-17)ガイドでも Hive External Table関連のユースケースを確認できます。 このガイドでは、jsonデータを Cloud Hadoopで提供する Hiveの External Tableと連携して使用する方法について説明します。 ## サンプルデータの準備 サンプルデータを準備する方法は、次の通りです。 1. hiveユーザーに切り替えます。 ``` $ sudo su - hive ``` 1. [当該データ](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/bookstat.json?sv=2026-02-06&spr=https&st=2026-10-26T14%3A33%3A58Z&se=2026-10-26T15%3A33%3A58Z&sr=c&sp=r&sig=JDMfnj4zvrSXmllxKMZrWSYQkSmkfEC8jJzXZgyqyuA%3D)をダウンロードします。 参考 当該データは、ndjson(Newline Delimited JSON)データ形式です。 ## HDFSに jsonファイルをアップロード HDFSに jsonファイルをアップロードする方法は、次の通りです。 1. HDFSにディレクトリを作成します。 ``` $ hdfs dfs -mkdir /user/hive/bookstat ``` 1. HDFSに jsonファイルをアップロードします。 ``` $ hdfs dfs -put bookstat.json /user/hive/bookstat ``` 1. HDFSファイルリストを確認します。 ``` $ 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/ja/hadoop-vpc-5)ガイドをご参照ください。 2. Hiveクライアントコマンドを利用して External Tableを作成します。 ``` $ hive ``` ``` 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`クエリを実行してデータを確認できます。 - テーブル照会 ``` 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)を削除する例です。 ``` DROP TABLE bookstat_serde1; ``` 1. 削除されたテーブルに対して SELECTクエリを実行します。エラーは発生しますが、正常にテーブルが削除されたことが確認できます。また、Show Tablesでテーブルの削除有無を確認できます。 - SELECTクエリを利用 ``` 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; ```