MysqlからElasticsearchにデータを入れる
embulkを入れる
GitHub - embulk/embulk: Embulk: Pluggable Bulk Data Loader. http://www.embulk.org
$ brew install embulk
ドキュメントのGetting Startedやって雰囲気をつかむ。
embulkのpluginのembulk-input-mysql, embulk-output-elasticsearchを入れる
embulk-input-jdbc/embulk-input-mysql at master · embulk/embulk-input-jdbc · GitHub
GitHub - muga/embulk-output-elasticsearch
$ embulk gem install embulk-input-mysql $ embulk gem install embulk-output-elasticsearch
で、入れるmysqlのデータ、ESのデータのconfigurationのconfig.ymlを書く。
in: type: mysql host: localhost user: $user_name password: $password_name database: $database_name table: $table_name select: "*" out: type: elasticsearch index: $index_name index_type: $index_type_name nodes: - {host: localhost, port: 9300}
で、
$ embulk preview config.yml // 確認 $ embulk run config.yml // 実行
PS: 200万件くらい入れたら、途中数回エラーが出て5000件ほど入ってなかったので確認をば。queueのcapacityが50にしてて、そのを越えた?っぽい。ので調整で再トライ。esrejectedexecutionexception queue capacity 50
この辺ぽい