Submit Search
Upload
Dataflow(python)を使ってelasticsearchにデータを移行した話
•
1 like
•
2,148 views
R
Ryo Yamaoka
Follow
酔いどれGCPUG(20180302)の発表資料です
Read less
Read more
Technology
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
Dataflow(python)を触った所感
Dataflow(python)を触った所感
Ryo Yamaoka
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
Yu Yamada
Google cloudnext recap_DataAnalytics
Google cloudnext recap_DataAnalytics
Yu Yamada
Kaggle&競プロ紹介 in 中田研究室
Kaggle&競プロ紹介 in 中田研究室
Takami Sato
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
Takami Sato
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
地域活性化アプリ提案天草編
地域活性化アプリ提案天草編
博喜 井上
Microsoft Search @O365JPFUK
Microsoft Search @O365JPFUK
HiroakiNagao
Recommended
Dataflow(python)を触った所感
Dataflow(python)を触った所感
Ryo Yamaoka
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
Yu Yamada
Google cloudnext recap_DataAnalytics
Google cloudnext recap_DataAnalytics
Yu Yamada
Kaggle&競プロ紹介 in 中田研究室
Kaggle&競プロ紹介 in 中田研究室
Takami Sato
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
NIPS2017読み会 LightGBM: A Highly Efficient Gradient Boosting Decision Tree
Takami Sato
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
地域活性化アプリ提案天草編
地域活性化アプリ提案天草編
博喜 井上
Microsoft Search @O365JPFUK
Microsoft Search @O365JPFUK
HiroakiNagao
データプランナーによるデータ系施策について
データプランナーによるデータ系施策について
Recruit Lifestyle Co., Ltd.
コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話
ShunyoKawamoto
プロダクト中心のデータ駆動を推進していくために必要なこと
プロダクト中心のデータ駆動を推進していくために必要なこと
Kazuhito Osabe
データを扱いたい!はじめてのAWS
データを扱いたい!はじめてのAWS
ShoichiYashiro
検索クエリの時間差を可視化することでわかる人の行動パターン #yjdsnight
検索クエリの時間差を可視化することでわかる人の行動パターン #yjdsnight
Yahoo!デベロッパーネットワーク
Bigfoot 活用事例
Bigfoot 活用事例
Toshihiro Gotou
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Atsushi Tsuchiya
Power BI 勉強会 0902 小林 : Power BI と Azure ML でデータサイエンスしてみる
Power BI 勉強会 0902 小林 : Power BI と Azure ML でデータサイエンスしてみる
寿 小林
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Hisao Soyama
Data Scientist Workbench 入門
Data Scientist Workbench 入門
soh kaijima
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料
s. kaijima
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
Power bi 0602_kobayashi
Power bi 0602_kobayashi
寿 小林
Pythonで時系列のデータを分析してみよう
Pythonで時系列のデータを分析してみよう
Tatuya Kobayashi
ソウゾウ1人目機械学習エンジニアの現在地
ソウゾウ1人目機械学習エンジニアの現在地
Wakana Nogami
スタートアップツールチラ見せ
スタートアップツールチラ見せ
Hisatoshi Kikumoto
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
shakezo
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
Hisao Soyama
elasticsearch-hadoopをつかってごにょごにょしてみる
elasticsearch-hadoopをつかってごにょごにょしてみる
Katsushi Yamashita
Google BigQuery 導入編
Google BigQuery 導入編
zuya
Google apps script 活用ミートアップ
Google apps script 活用ミートアップ
Hisashi Inoue
Testing machine learning development
Testing machine learning development
yusuke shibui
More Related Content
What's hot
データプランナーによるデータ系施策について
データプランナーによるデータ系施策について
Recruit Lifestyle Co., Ltd.
コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話
ShunyoKawamoto
プロダクト中心のデータ駆動を推進していくために必要なこと
プロダクト中心のデータ駆動を推進していくために必要なこと
Kazuhito Osabe
データを扱いたい!はじめてのAWS
データを扱いたい!はじめてのAWS
ShoichiYashiro
検索クエリの時間差を可視化することでわかる人の行動パターン #yjdsnight
検索クエリの時間差を可視化することでわかる人の行動パターン #yjdsnight
Yahoo!デベロッパーネットワーク
Bigfoot 活用事例
Bigfoot 活用事例
Toshihiro Gotou
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Atsushi Tsuchiya
Power BI 勉強会 0902 小林 : Power BI と Azure ML でデータサイエンスしてみる
Power BI 勉強会 0902 小林 : Power BI と Azure ML でデータサイエンスしてみる
寿 小林
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Hisao Soyama
Data Scientist Workbench 入門
Data Scientist Workbench 入門
soh kaijima
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料
s. kaijima
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
Power bi 0602_kobayashi
Power bi 0602_kobayashi
寿 小林
Pythonで時系列のデータを分析してみよう
Pythonで時系列のデータを分析してみよう
Tatuya Kobayashi
ソウゾウ1人目機械学習エンジニアの現在地
ソウゾウ1人目機械学習エンジニアの現在地
Wakana Nogami
What's hot
(15)
データプランナーによるデータ系施策について
データプランナーによるデータ系施策について
コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話
プロダクト中心のデータ駆動を推進していくために必要なこと
プロダクト中心のデータ駆動を推進していくために必要なこと
データを扱いたい!はじめてのAWS
データを扱いたい!はじめてのAWS
検索クエリの時間差を可視化することでわかる人の行動パターン #yjdsnight
検索クエリの時間差を可視化することでわかる人の行動パターン #yjdsnight
Bigfoot 活用事例
Bigfoot 活用事例
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Big Data University Tokyo Meetup #6 (mlwith_spark) 配布資料
Power BI 勉強会 0902 小林 : Power BI と Azure ML でデータサイエンスしてみる
Power BI 勉強会 0902 小林 : Power BI と Azure ML でデータサイエンスしてみる
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Data Scientist Workbench 入門
Data Scientist Workbench 入門
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Power bi 0602_kobayashi
Power bi 0602_kobayashi
Pythonで時系列のデータを分析してみよう
Pythonで時系列のデータを分析してみよう
ソウゾウ1人目機械学習エンジニアの現在地
ソウゾウ1人目機械学習エンジニアの現在地
Similar to Dataflow(python)を使ってelasticsearchにデータを移行した話
スタートアップツールチラ見せ
スタートアップツールチラ見せ
Hisatoshi Kikumoto
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
shakezo
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
Hisao Soyama
elasticsearch-hadoopをつかってごにょごにょしてみる
elasticsearch-hadoopをつかってごにょごにょしてみる
Katsushi Yamashita
Google BigQuery 導入編
Google BigQuery 導入編
zuya
Google apps script 活用ミートアップ
Google apps script 活用ミートアップ
Hisashi Inoue
Testing machine learning development
Testing machine learning development
yusuke shibui
業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -
Yasuyuki Sugai
ドローン向けソフトウェア事業
ドローン向けソフトウェア事業
Masayuki Isobe
高卒でIT企業に入った体験談
高卒でIT企業に入った体験談
ishikawa_mizuki
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
Shuhei Iitsuka
Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索
yusuke shibui
世界初elastic認定アナリストが送る~誰でもできるデータ分析~
世界初elastic認定アナリストが送る~誰でもできるデータ分析~
aslead
Similar to Dataflow(python)を使ってelasticsearchにデータを移行した話
(13)
スタートアップツールチラ見せ
スタートアップツールチラ見せ
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
プロトタイプで終わらせない死の谷を超える機械学習プロジェクトの進め方 #MLCT4
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
elasticsearch-hadoopをつかってごにょごにょしてみる
elasticsearch-hadoopをつかってごにょごにょしてみる
Google BigQuery 導入編
Google BigQuery 導入編
Google apps script 活用ミートアップ
Google apps script 活用ミートアップ
Testing machine learning development
Testing machine learning development
業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -
ドローン向けソフトウェア事業
ドローン向けソフトウェア事業
高卒でIT企業に入った体験談
高卒でIT企業に入った体験談
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索
世界初elastic認定アナリストが送る~誰でもできるデータ分析~
世界初elastic認定アナリストが送る~誰でもできるデータ分析~
Recently uploaded
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperleger Tokyo Meetup
情報を表現するときのポイント
情報を表現するときのポイント
onozaty
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
KLab Inc. / Tech
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
kokinagano2
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
Takayuki Nakayama
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
CRI Japan, Inc.
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
CRI Japan, Inc.
Recently uploaded
(8)
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
情報を表現するときのポイント
情報を表現するときのポイント
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
Dataflow(python)を使ってelasticsearchにデータを移行した話
1.
Dataflow (Python) を使って Elasticsearchにデータを移行した話 (株)エーピーコミュニケーションズ
山岡 亮 2018/03/02
2.
自己紹介 • 山岡 亮(やまおか
りょう) • (株)エーピーコミュニケーションズ • 新規自社サービス立ち上げ事業部に所属(5人) • NEIGHBORSというサービスを作っています (Riot.js + AppEngine Golang) • 仕事ではGCPしか使っていないのに AWS SA Professional持ちです (趣味で取りました) Qiita https://qiita.com/ryo-yamaoka Twitter https://twitter.com/mountainhill14
3.
背景 • こ
4.
・サービスのコンセプト「自分一人では気付けない情報やニーズ、面白さを知る」 ・Google検索は1→100にすることはできるが、0→1には向いていない(何を知りたいかわかっているものは 調べられるが、調べるべき対象が確定されていないと調べようがない) ・例えば皆さん「グヤーシュ」という料理をご存知ですか?多分知らないですよね? 実はすごく美味しいハンガリー料理です。でも皆さんはその存在を知らないので今これを知った瞬間まで 調べることさえできませんでしたよね? そういったものをピックアップすることを目指しているサービスです ・具体的にはユーザーをフォローすることができるRSSリーダーで、配信された記事を閲覧すると それがフォロワーに伝達される(読んだ人のアイコンがついてタイムラインの一番先頭に来る)という動きです
5.
https://neighbors.cc/
6.
本日の内容 • NEIGHBORSで全文検索機能を作りたい • アプリケーション側はRSSから取得した記事をElasticsearchに 登録する処理を追加 •
既存の記事(約600,000件のDatastore Entity)を別途移行した 時にやったこと、そこから脱線して遊んでみたことを共有します
7.
構成 • Datastore Property •
記事タイトル • 記事概要 • URL • 登録日時 • Elasticsearch • ElasticCloud(GCP)を使用 asia-northeast-1はよ
8.
構成 • Datastore Property •
記事タイトル • 記事概要 • URL • 登録日時 • Elasticsearch • ElasticCloud(GCP)を使用 asia-northeast-1はよ ←ここに対して全文検索をかけたい
9.
最初にやったこと • Dataflowを使う • Elasticsearchを扱うPythonライブラリがあったので、1エンティティずつ 投入する処理にした •
Bulkじゃないので遅いだろうけど、まぁ1回ポッキリだしちょっとくらい 遅くてもいいやという軽い気持ちでやってみた
10.
が、ダメ
11.
あまりにも遅すぎた
12.
3件/secくらい https://github.com/twitter/twemoji ・600,000 / 3
/ 3,600 ≒ 55時間……?! ・ワーカーをマシマシにしてみたが20件/secくらいが限界だった ・流石にちょっと安直過ぎた
13.
次にやったこと • 真面目にAppEngineのTaskQueueでバッチを作った • 128件ずつのBulkでサクッと1,300件/secくらいのスループット •
真っ当な手段で万事解決
14.
次にやったこと • 真面目にAppEngineのTaskQueueでバッチを作った • 128件ずつのBulkでサクッと1,300件/secくらいのスループット •
真っ当な手段で万事解決 • 残念ながら当然の結果
15.
めでたしめでたし
16.
仕事はここで終わったので ちょっと脱線してみました
17.
どうやったら速くなるのか? MythBusters(邦題:怪しい伝説)的脱線
18.
どうする? • やはりBulkを使おう • 当然全Entityを1つに集約するとデカすぎる •
1つあたりxxx件にまとめる、的な都合の良い処理は無いっぽい • 全Entityに乱数を割り振ってそれをキーにして集約しよう
19.
20.
結果 • 上手くいった • 5,000件/secくらいのスループットが出た •
但しGCEで処理するので単価は高い
21.
結果 • 上手くいった • 5,000件/secくらいのスループットが出た •
但しGCEで処理するので単価は高い • やっぱりこの程度の要件だったらTaskQueueのバッチ作った方がいい
22.
結果 • 上手くいった • 5,000件/secくらいのスループットが出た •
但しGCEで処理するので単価は高い • やっぱりこの程度の要件だったらTaskQueueのバッチ作った方がいい • 残念ながら当然の結論
23.
結果
24.
ちなみに
25.
Javaには標準でElasticsearchIOがあります https://github.com/twitter/twemoji
Download now