--- title: "Hive の外部テーブルにCSVファイルを連携" slug: "hadoop-chadoop-use-ex10" tags: ["Cloud Hadoop"] updated: 2026-09-17T09:25:49Z published: 2026-09-17T09:25:49Z canonical: "guide.ncloud-docs.com/hadoop-chadoop-use-ex10" 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 の外部テーブルにCSVファイルを連携 Classic環境で利用できます。 Hiveの外部テーブルは、Hiveでテーブルの作成時に外部キーワードで作成するテーブルです。 Hiveの外部テーブルは、`hive.metastore.warehouse.dir`属性が指し示すディレクトリにデータを保存せず、テーブルの作成時に設定したパスにデータを保存します。 既にHadoopにあるデータに基づいてテーブルを作成するため、スキーマを設定するだけで作成できます。 参考 [Hiveを使用する](/docs/ja/hadoop-vpc-17)ガイドでもHiveの外部テーブル関連の例を確認できます。 このガイドでは、Object Storageに保管したCSVデータをCloud Hadoopで提供するHiveの外部テーブルと連携して使用する方法を説明します。 ## サンプルデータの準備 Hiveの外部テーブルのテストを行うために、サンプルデータとして[気象庁気象データ公開ポータル](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/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex10_1-1_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T15%3A27%3A10Z&se=2026-10-26T16%3A27%3A10Z&sr=c&sp=r&sig=29zgVZkvdq4ftJAdeQRWD33Y8KEtByGZQC6jThrykrw%3D) 3. 結果グラフ右下の **[CSV]** ボタンをクリックし、CSVファイルをダウンロードします。 ![hadoop-chadoop-use-ex10_1-2_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-chadoop-use-ex10_1-2_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T15%3A27%3A10Z&se=2026-10-26T16%3A27%3A10Z&sr=c&sp=r&sig=29zgVZkvdq4ftJAdeQRWD33Y8KEtByGZQC6jThrykrw%3D) 4. 上記の2~3を繰り返し、`ソウル`と`釜山`地域の気温データをそれぞれダウンロードします。 5. ダウンロードした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-26T15%3A27%3A10Z&se=2026-10-26T16%3A27%3A10Z&sr=c&sp=r&sig=29zgVZkvdq4ftJAdeQRWD33Y8KEtByGZQC6jThrykrw%3D) 参考 ハングルの文字化け現象は、エンコードを変更すると解決できます。 詳細内容は、[Hiveの外部テーブルの作成](/docs/ja/hadoop-chadoop-use-ex10#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 ``` ## 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-26T15%3A27%3A10Z&se=2026-10-26T16%3A27%3A10Z&sr=c&sp=r&sig=29zgVZkvdq4ftJAdeQRWD33Y8KEtByGZQC6jThrykrw%3D) 参考 バケットの作成に関する詳細は、[Object Storageご利用ガイド](/docs/ja/storage-storage-6-1)をご参照ください。 ## Hiveの外部テーブルの作成 Hiveの外部テーブルを作成する方法は以下のとおりです。 1. Cloud HadoopクラスタのエッジノードにSSHでアクセスします。 - クラスタノードにSSHでアクセスする方法に関する詳しい内容は、[SSHでクラスタノードにアクセス](/docs/ja/hadoop-vpc-5)ガイドをご参照ください。 2. Hiveクライアントコマンドを利用して外部テーブルを作成します。 ``` 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 | +-------------+---------------+--------------+--------------+--------------+------------------+--------------+------------------+---------------+ ``` - `weather`テーブルが作成されると、`SELECT`クエリを実行してデータを確認できます。 参考 **ハングルの文字化け現象** ハングルの文字化け現象は、気象庁から提供するデータが`utf-8`ではなく`euc-kr`で提供されたために発生した現象です。 以下のようにHiveの外部テーブルのエンコードを`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の外部テーブルの削除 Hiveの外部テーブルを削除する方法は以下のとおりです。 1. 作成されたHiveの外部テーブルを、以下のコマンドを用いて削除します。 - 以下は、先ほど作成したHiveの外部テーブル(`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-26T15%3A27%3A10Z&se=2026-10-26T16%3A27%3A10Z&sr=c&sp=r&sig=29zgVZkvdq4ftJAdeQRWD33Y8KEtByGZQC6jThrykrw%3D) 参考 Hiveの外部テーブルが削除された場合でも、Object StorageのCSVファイルは削除されず、安全に保管されます。