--- title: "CDB MongoDBから Hiveへのデータ移行" slug: "hadoop-vpc-use-ex9" tags: ["Cloud DB for MongoDB", "Cloud Hadoop", "vpc"] updated: 2026-09-17T09:25:51Z published: 2026-09-17T09:25:51Z canonical: "guide.ncloud-docs.com/hadoop-vpc-use-ex9" 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. # CDB MongoDBから Hiveへのデータ移行 VPC環境で利用できます。 このガイドでは、NAVERクラウドプラットフォーム Object Storageを用いて Cloud DB for MongoDBから Hiveにデータをマイグレーションする方法について説明します。 MongoDBから Hiveにデータをマイグレーションする方法には、次の2つの方法があります。 1. NAVERクラウドプラットフォーム CDB MongoDBにデータをインポートする方法 2. CDB MongoDBから Object Storageにデータをエクスポートし、Cloud Hadoop Hiveから External Tableにデータをインポートする方法 ## 事前タスク 1. Object Storageを作成します。 - Object Storage作成に関する詳細は、[Object Storage ご利用ガイド](/docs/ja/storage-storage-6-1)をご参照ください。 2. Cloud Hadoopクラスタを作成します。 - Cloud Hadoopクラスタ作成に関する詳細は、[Cloud Hadoop を開始する](/docs/ja/hadoop-vpc-2)ガイドをご参照ください。 3. Cloud DB for MongoDBとアプリケーションサーバを作成します。 - MongoDBとアプリケーションサーバ作成に関する詳細は、[Cloud DB for MongoDB を開始する](/docs/ja/clouddbformongodb-start)ガイドをご参照ください。 4. 作成した MongoDBの Privateドメイン、ポート、ユーザー名、ユーザーパスワードを確認します。 - 詳細は、[Cloud DB for MongoDB を使用する](/docs/ja/database-database-11-3)ガイドをご参照ください。 ## MongoDBでデータを読み込む アプリケーションサーバにアクセスし、MongoDBサーバにアクセスしてデータをインポートする方法は、次の通りです。 1. [Cloud DB for MongoDB を開始する](/docs/ja/clouddbformongodb-start)ガイドを参照して、アプリケーションサーバにアクセスし、MongoDBをインストールします。 2. 以下のコマンドを順に実行して mongoimportをインストールし、圧縮を展開します。 ``` # wget https://repo.mongodb.org/yum/redhat/6/mongodb-org/4.2/x86_64/RPMS/mongodb-org-tools-4.2.17-1.el6.x86_64.rpm # rpm -ivh mongodb-org-tools-4.2.17-1.el6.x86_64.rpm # wget https://repo.mongodb.org/yum/redhat/6/mongodb-org/4.2/x86_64/RPMS/mongodb-org-shell-4.2.17-1.el6.x86_64.rpm # rpm -ivh mongodb-org-shell-4.2.17-1.el6.x86_64.rpm ``` 3. `wget` コマンドを用いてインポートするデータをダウンロードします。 ``` # wget http://www.barchartmarketdata.com/data-samples/mstf.csv ``` - [サンプルデータ](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/mstf.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) 4. 以下のコマンドを実行してダウンロードしたデータを MongoDBにアップロードします。 ``` # mongoimport mstf.csv --type csv --headerline -d marketdata -c minibars -h : -u -p --authenticationDatabase admin ``` 参考 MongoDBで DBと Collectionを直接作成してもデータを準備できます。 ## MongoDBから Object Storageにデータをエクスポート MongoDBにアップロードしたデータを Object Storageにエクスポートする方法は、次の通りです。 1. 以下のコマンドを実行して [AWS CLI](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/awscli-exe-linux-x86_64.zip?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)をインストールします。 ``` # curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" # unzip awscliv2.zip # ./aws/install --インストールの確認 # aws --version ``` - NAVERクラウドプラットフォームの Object Storageは AWS S3に対して互換性を持つストレージであるため、AWS CLIを使用できます。 2. 以下のコマンドを実行してデータをエクスポートします。 ``` # mongoexport --host=: --collection=minibars --db=marketdata --out=marketdata.csv -u -p --authenticationDatabase admin ``` 3. [Ncloud API](https://api.ncloud-docs.com/docs/ja/common-ncpapi)を参照して Access Key IDと Secret Keyを確認します。 4. 確認した認証キー情報を基に、以下のように `aws configure`を設定します。 ``` # aws configure AWS Access Key ID [None] : Access Key IDを入力 AWS Secret Access Key [None] : Secret Keyを入力 Default region name [None] : Default output format [None] : ``` 5. 以下のコマンドを順に実行してバケットリストを確認します。また、データをアップロードし、アップロードが正常に行われたかを確認します。 ``` # aws --endpoint-url=http://kr.object.ncloudstorage.com s3 ls --バケットリスト 2021-10-16 18:49:28 cdbbucket 2021-09-29 12:20:58 ex-bucket 2021-10-05 15:24:46 example-5 2021-10-06 10:59:15 example-6 # aws --endpoint-url=http://kr.object.ncloudstorage.com s3 cp marketdata.csv s3://<データをアップロードするバケット名>/ --アップロードの結果 upload: ./marketdata.csv to s3://ex-bucket/marketdata.csv # aws --endpoint-url=http://kr.object.ncloudstorage.com s3 ls s3://ex-bucket/ --アップロード確認の結果 2021-10-19 11:05:12 16261296 marketdata.csv ``` 参考 NAVERクラウドプラットフォームコンソールの VPC環境で **Services > Storage > Object Storage > Bucket Management**メニューを順にクリックして確認することもできます。 ![hadoop-vpc-use-ex9_2-3_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/hadoop-vpc-use-ex9_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で Object Storageにアップロードされたデータをインポート Hive External Tableを用いて Object Storageにアップロードしたデータをインポートする方法は、次の通りです。 1. 以下のコマンドを実行し、Hiveが Object Storageにあるデータをインポートするように External Tableを作成します。 ``` CREATE external TABLE if not EXISTS `marketdata` ( id STRUCT, Symbol STRING, `Timestamp` STRING, Day INT, Open DOUBLE, High DOUBLE, Low DOUBLE, Close DOUBLE, Volume INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' location 's3a://<データがアップロードされたバケット名>/'; ``` - `location`には、データがアップロードされたバケットの位置を入力します。 2. 以下のコマンドを実行し、External Tableとデータが連携されたのか確認します。 ``` SELECT * FROM marketdata LIMIT 10; ``` 参考 .csvファイルを編集する必要がある場合、以下のコマンドを使用します。 - 文字列フィールドの引用符を削除 ``` find .-name ファイル名.csv -exec perl -pi -e 's/"//g' {} \; ``` - 1行目(カラム名)を削除 ``` sed -e 'id’ ファイル名.csv ```