便利ツール

Elasticsearchのデータ・インデックス移行方法【インポート/エクスポート】

はじめに

Elasticsearch に入っているデータをエクスポート、インポートする方法のメモです。

あまり需要はないかもしれませんが、AWS 上で利用していた Elasticsearch 内のデータを、
ローカルに構築した Elasticsearch、Kibana の環境に入力して何かを試したい方向けです。

参考

Elasticsearch + Kibana の環境構築方法は「ローカル環境構築メモ」を参照ください。

 

データのエクスポート(JSON形式)

step
1
Kibana の Discover を選択

 

step
2
出力したい Index Pattern を選択

 

step
3
出力したいレンジを設定

 

step
4
Inspectタブをクリック

 

step
5
Responseタブをクリック

 

step
6
copyボタンをクリック

 

step
7
テキストエディタに張り付けて保存

 

データのインポート(Python)

step
1
パッケージのインストール

 command
$ pip install elasticsearch==5.5.3
SANACHAN
SANACHAN
ElasticsearchのAPIバージョンに合わせます。

 

step
2
スクリプトの準備と実行


  • 6行目:ElasticsearchのマスターノードのIPとポートを指定
  • 8行目:エクスポートしたファイル名
  • 11行目:データリストのルートを指すように修正(環境によって多少差あり)
 command
$ python import.py

 

step
3
Dev Toolsで確認

 command
GET /_cat/indices?v

 

step
4
インデックスパターンの作成

Menu から Stack Management を選択。

 

左の Menu から Index Patterns を選択して、

 

Create Index Pattern をクリック。

 

Index Pattern 名を入力して、JSON から読込んだ Index 名が表示されることを確認。

SANACHAN
SANACHAN
出力した kibana_sample_data_ecommerce から import_test に置換して
JSON をインポートしています。

 

Next Step ボタンをクリックし、Create Index Pattern ボタンをクリックする。

 

Index Pattern を作成した結果として Field の一覧が表示されれば成功。

 

Discover などで Index を選択できるようになります。

 

おまけ

データの入力に失敗した場合など、ごみデータを削除したい場合は Dev Tools で以下のAPIを実行します。

 command
DELETE /import_test

 

こちらの記事もよく読まれています

  • この記事を書いた人
  • 最新記事
SANACHAN

SANACHAN

「生涯一エンジニア」を掲げ、大手グローバル企業でSE/PGとして8年勤め、キャリアアップ転職した現役のエンジニアです。世にあるメジャーな全プログラム言語(コボル除く)を自由に扱えます。一児の父。自分のため、家族のため、日々勉強してます。システムエンジニア、プログラミングに関する情報を蓄積している雑記帳です。

-便利ツール
-, , ,