--- title: "Hive External Tableに CSVファイルを連携" slug: "hadoop-vpc-use-ex11" tags: ["Cloud Hadoop", "vpc"] updated: 2026-09-17T09:25:51Z published: 2026-09-17T09:25:51Z canonical: "guide.ncloud-docs.com/hadoop-vpc-use-ex11" 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に CSVファイルを連携 VPC環境で利用できます。 Hive External Tableは、Hiveでテーブルの作成時に Externalキーワードで作成するテーブルです。Hive External Tableは、`hive.metastore.warehouse.dir` プロパティが示すディレクトリにデータを保存せず、テーブルの作成時に設定したパスにデータを保存します。 既に Hadoopにあるデータに基づいてテーブルを作成するため、スキーマを設定するだけで作成できます。 参考 [Hive を使用する](/docs/ja/hadoop-vpc-17)ガイドでも Hive External Table関連のユースケースを確認できます。 このガイドでは、Object Storageに保存した csvデータを Cloud Hadoopで提供する Hiveの External Tableと連携して使用する方法を説明します。 ## サンプルデータの準備 Hive External Tableのテストを行うために、サンプルデータとして[気象庁気象データ公開ポータル](https://data.kma.go.kr)から提供する気温データを使用します。 サンプルデータを準備する方法は、次の通りです。 1. [ソウルのデータ](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/extremum_20230620155750.csv?sv=2026-02-06&spr=https&st=2026-10-26T14%3A34%3A15Z&se=2026-10-26T15%3A34%3A15Z&sr=c&sp=r&sig=KmZe48ekJwI5Z2Jq%2BGr1GpPp6P5Ub2G6Bve6eUj2CYk%3D)と[釜山のデータ](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/extremum_20230620155821.csv?sv=2026-02-06&spr=https&st=2026-10-26T14%3A34%3A15Z&se=2026-10-26T15%3A34%3A15Z&sr=c&sp=r&sig=KmZe48ekJwI5Z2Jq%2BGr1GpPp6P5Ub2G6Bve6eUj2CYk%3D)をダウンロードします。 - サンプルデータの検索条件の情報は、次の通りです。 - 分類: 地上 - 地域/支店: ソウルまたは釜山 - 要素: 気温 - 期間: **日**を選択し、「2011年~2021年」に設定 - 条件: **月**と**日**のチェックボックスにチェック 1. ダウンロードした csvファイルの内容を確認します。一番上からヘッダの内容が12行あり、気温データは13行目から始まることがわかります。 ![hadoop-chadoop-use-ex10_2-3_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex10_2-3_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T14%3A34%3A15Z&se=2026-10-26T15%3A34%3A15Z&sr=c&sp=r&sig=KmZe48ekJwI5Z2Jq%2BGr1GpPp6P5Ub2G6Bve6eUj2CYk%3D) 参考 ハングルの文字化け現象は、エンコードを変更すると解決できます。詳細は、[Hive External Table作成](/docs/ja/hadoop-vpc-use-ex11#hive-external-table-%EC%83%9D%EC%84%B1)の**ハングルの文字化け現象**に関する参考事項を確認してください。 1. 以下のコマンドを使用し、ダウンロードした csvファイルで不要なヘッダ部分を削除してファイル名を変更します。 ``` $ sed 1,12d extremum_20230620155750.csv > data1.csv $ sed 1,12d extremum_20230620155821.csv > data2.csv ``` ## Object Storageにデータアップロード Object Storageにデータをアップロードする方法は、次の通りです。 1. Object Storageに `live-test-bucket` バケットを作成します。 2. 作成したバケットに `hivedata` ディレクトリを作成し、そこにサンプルデータ(csv)ファイルをアップロードします。 ![hadoop-chadoop-use-ex10_2-4_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex10_2-4_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T14%3A34%3A15Z&se=2026-10-26T15%3A34%3A15Z&sr=c&sp=r&sig=KmZe48ekJwI5Z2Jq%2BGr1GpPp6P5Ub2G6Bve6eUj2CYk%3D) 参考 バケット作成に関する詳細は、[Object Storage ご利用ガイド](/docs/ja/storage-storage-6-1)をご参照ください。 ## Hive External Table作成 Hive External Tableを作成する方法は、次の通りです。 1. Cloud Hadoopクラスタエッジノードに SSHでアクセスします。 - クラスタノードに SSHでアクセスする方法についての詳細は、[SSHによるクラスタノードアクセス](/docs/ja/hadoop-vpc-5)ガイドをご参照ください。 2. 次のコマンドを使用して Hive CLIを実行します。 ``` $ hive ``` 3. Hiveクライアントコマンドを利用して External Tableを作成します。 - `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 | +-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+ ``` 参考 - ハングルの文字化け現象 ハングルの文字化け現象は、気象庁から提供するデータが `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 | +-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+ ``` ## 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) ``` ![cloudhadoop-objectstorage-filefolder_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/cloudhadoop-objectstorage-filefolder_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T14%3A34%3A15Z&se=2026-10-26T15%3A34%3A15Z&sr=c&sp=r&sig=KmZe48ekJwI5Z2Jq%2BGr1GpPp6P5Ub2G6Bve6eUj2CYk%3D) 参考 Hive External Tableが削除された場合でも、Object Storageの csvファイルは削除されず、安全に保存されます。