ElasticsearchのBulk APIを使う際に注意すること
Elasticsearchではデータの登録時にBulk APIを使用して、大量データを登録することができます。 これにより、登録時のオーバヘッドが削減でき、インデックスの作成速度を大幅に向上できます。
Bulk APIで登録するときのデータ形式は以下のように設定します。
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
ここからは、Bulk APIの使用時に注意するポイントを以下で順に説明します。
データの最終行は、改行文字で終了する必要がある
用意するデータの最終行は、改行文字を入れなくてはなりません。
The final line of data must end with a newline character \n
例えば、最終行に改行を入れない場合は、Bulk APIでの登録時に以下の400エラーが発生します。
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\n]"}],"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\n]"},"status":400}%
登録するファイルサイズは100MB未満にする
Bulk APIの1回のリクエストで実行する場合、ElasticsearchはHTTPリクエストの最大サイズを100MBに制限しているため、100MBを超えないようファイルサイズを考慮する必要があります。
Note that Elasticsearch limits the maximum size of a HTTP request to 100mb by default so clients must ensure that no request exceeds this size.
そのため、100MBを超えるドキュメントをインデックス化する場合は、分割する必要があります。
2022年の振り返り
昨年の振り返りは以下。昨年は大晦日の夜に振り返りを書いていたようだ。 sktshk.hatenablog.com
今年の目標は以下で書いた通り。 sktshk.hatenablog.com
今年の内訳は以下の通りです。
- 研究
- ジャーナル:1本投稿
- 国際会議:1本投稿
- 研究会:1本投稿
- 特許:1件出願
- ブログ:9件投稿
- 資格:1件取得
- 読書:41冊読了
研究
ジャーナル投稿:1件以上 → 達成。9月に投稿し、現在、コメント対応中。
国際会議投稿:1件以上 → 達成。3月に1件投稿済み。Reject。
研究会投稿:2件以上 → 未達成。1件実施。
- 特許出願:1件以上 → 達成。1件出願済み。
振り返ると意外にも達成している項目は多いが、いずれも最終的な成果には未だ至っていない。 来年は投稿をしつつ、きちんと採録等されるように取り組んでいきたい。
資格
- Google Cloud認定資格 Professional Machine Learning Engineer
会社で資格を取る機会があり、取得した。資格取得に向けて勉強することで、機械学習を学ぶ良い機会になったと思う。一度落ちて悔しい思いをしたが、取得することができて良かった。まだまだ学ぶことは多くあるので、これからも積極的に学んでいきたい。
読書
今年の実績は、41冊だった。 一昨年の実績が22冊だったようなので、それよりは多く読むことができたと思う。 一方で目標の60冊にはまだ届いていないので、来年はより多く読めるように取り組んでいきたい。 今年の後半から習慣化のアプリを日々の生活に導入したことで、読書の習慣はできつつあるので、 来年は目標を達成できるように取り組む。
本屋をうろうろしているときに気になる本があったので、「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニックを読んだ。 まだまだインプットの量に不足があるので、今後のインプットの量を増やすために、時間制限読書法や一点突破読書法を今後の読書に取り入れていきたい。
ブログ
今年の前半までは、毎月振り返りを書いていた。来年は継続していきたい。また、量ももっと増やせると思うので、やっていこう。
健康
今年も大きなケガも無く、過ごすことができた。健康診断の結果も特に問題はなかった。ただ、体力は年々落ちていっていることを実感しているので、定期的に運動する習慣を身につけて、将来に備えたいと思う。 何に取り組むにも体力が基礎となるので、積極的に投資していこうという気持ち。 体重も増加傾向にあるので、来年こそは減量したい。
おわりに
今年は、昨年よりは、色々と達成できた項目が多かったように思う。しかし、大きな成果には至っていないなあという思いもあります。来年は、インプット・アウトプットの数を増やすこと、成果を出すことにフォーカスして、取り組んでいきたいと思います。 来年もよろしくお願いします。
2022年4月の振り返り
4月の振り返り。 今月は移動する機会が多かった月であった。
日々のインプット
読みかけの本も合わせて、全部で5冊。今月はあまりインプットが進まなかった月だった。
読書
Google Cloudについて必要な知識を学ぶために読んだ。これ一冊でGoogle Cloudに関するキーワードをかなり抑えられると思う。
労務管理の本。図書館に置いてあったので読んでみた。漫画でわかりやすく各セクションの導入をしてくれる。文章自体は結構難しいところもある。労務管理の業務をする人はカバーしておかないといけないだろうが、雇用される従業員としてはある程度のことを知っておけばよさそう。FPで勉強した項目も多くあったので、全く知らない事項はなかったかな。
図書館に置いてあったので読んでみた。著者が親ならどう子育てするかを書いた本。才能がない人ほど大学に行くべき、子供にどう見られるかを意識しつつ生活するなど、共感できるところが多かった。
読みかけ。機械学習API、AutoML、BigQueryML、AI Platformのフローの図がわかりやすかった。高度なことがやりたい場合は、AI Platform、最近だとVertex AIで、簡易なことであれば機械学習APIやAutoMLを使うのが良さそう。それぞれについて具体的な利用手順も載っていて参考になった。
読みかけ。自身のこれからのキャリアについて少しでもヒントになれば、ということで読んでいる。まだ読み始めだが、参考になることが書かれていて、面白い。
資格
目標:TOEIC730点
スタディサプリの月額支払っている金額に対して、学習比率が低くなってきてしまったので、休会した。 新しい対策を考えないとなぁというところ。
生活
新聞を読む
実践できている。
健康面
体重
きちんと計測してグラフ化することで、計測するクセが定着した。測るだけでもかなりの効果があると思うので、継続していこう。
毎日8,000歩、歩く
今月は、217,391/30=7,246歩。今月は移動も多かったので、その分目標の8,000歩に近づいてきた。いい感じである。
運動習慣をつける
5月から毎週日曜日はプールに付き添いで行くことになったので、その機会を生かして自分も運動するようにしようかなと思っている。
その他
- Apple Watch SEのレンタルを始めた。使ってみるといろいろ便利なことがわかる。電話の通知に気づきやすくなったことが一番大きいかな。あと、ワークアウトの管理が簡単(自転車に乗ったり、歩いたりすると自動で知らせてくれる)。心拍数も管理できる。
2022年3月の振り返り
3月の振り返り。3月もいつの間にか過ぎ去った気がする。毎月言っている。
研究
博士号取得に向けた取り組み
3月初旬に国際会議へ投稿した。
日々のインプット
全部で10冊。今月は多めにインプットができたと思う。どんどんやっていこう。
読書
Elasticsearchについて体系的に学習できる本。ノード、クラスタ、シャード、レプリカ、ドキュメント、インデックスなどの用語等の説明から、実際にどう検索エンジンを作れば良いかがわかった。Webアプリケーションフレームワークと組み合わせることで簡易なWeb検索アプリをすぐに作ることができる。例えば、FlaskとElasticsearchで簡易なWeb検索アプリを作ることができる。この本は一つ前の版らしく、最新版「Elastic Stack実践ガイド[Elasticsearch/Kibana編]」が出ている。
機械学習を行う上での知識を身に付けることができる。実用の場面で進めていく上で事前知識はこの本で習得可能だと思う。各場面で利用すべきツールや流れを本書で参照しながら進めることで効率的にできる。
flaskでWebアプリを作るときに参考にしようと思って読んだ本。具体的な機能を実装する際のコードが載っている。例えば、ログイン機能やクッキーなど。また、具体的なWebアプリの例として、ファイル転送サービス、掲示板、SNSなども載っているので参考になる。
huggingface transformersの各タスクでの学習、評価のコードが載っており参考になる。
Ruby on Railsの入門本。これまでRuby on Railsという言葉は知っていたが、というレベルなので読んだ。一回読んだだけではコードの動作や流れは理解できなかったが、実際に動かしたり試行錯誤する中で理解していくためのインデックス作りになった。
中級者もしくは上級者向けの本だと感じた。この本の内容を実践できれば、コンテナ開発・運用は十分な実力があると考えられる。実際にdockerやkubernetesの運用をする際のテクニックもふんだんに載っていて、大変参考になった。
クラウドを構成する機能についてAzure, AWS, GCPでの違いを説明している本。複数のマネージドサービスを比較しながら、使う必要がある人は参考になる部分が多いと思う。
仕事でBigQuery上でSQLを使うため、ぴったりのタイトルの本があったので買って読んだ。 基礎から応用まで幅広く載っている本。学習用のデータセットがあり、演習ドリルで学習に取り組むことができる。BigQueryの使い方も載っているので、BigQueryは全く触ったことがない人でも取り組める内容になっている。このドリルを一通り解けば体系的にクエリの書き方を把握できると思う。
2014年出版と古い本だが、ElasticSearchについて学習するため購入した。おそらく今は変更されている内容もあり、公式ドキュメントを確認する必要があるが、コアな部分は同じだと思う。網羅的な内容になっているので、辞書的な利用方法もできる。
二地域居住する話を書いた本。毎週末千葉の南房総に通い、田舎の生活をする。土地探しから草刈りの大変さ、野菜作りなどの話が書かれており著者の方のパワーを感じた。面白そうだが、かなりの労力がかかりそうだなぁ。ライターの人が書いた本なので、文体もうまくスラスラ読めて情景も浮かんできやすい文章だったと思う。
資格
目標:TOEIC730点
ちょっとした空き時間にスタディサプリを開く程度。
生活
新聞を読む
実践できている。
健康面
体重
81kgくらいをうろうろしている。計測するクセはできてきたので、継続する。暖かくなってきたから継続しやすくなった。
毎日8,000歩、歩く
今月は、191,204/30=6,373歩。8,000歩はなかなか難しい目標である。歩きながら、できることとセットでする仕組み作りをすることが良いかもしれない。
運動習慣をつける
運動習慣ではないが、立って仕事をすることを取り入れてみた。頭が冴えて良いが、ディスプレイを都度調整しないといけないのが面倒。
その他
- 飛行機を利用した際に空港ラウンジを複数回利用した。
- 眼科に行ってコンタクトレンズを作成した
- ホワイトデーにアイスクリームメーカを購入した
自前で抽出した固有表現タグをSpaCyで可視化する
自前で抽出した固有表現タグをSpaCyで可視化する方法。
以下のstackoverflowを参考にすればできる。 stackoverflow.com
具体的なコードは、GitHub Gistに置いた。 gist.github.com
参考
https://spacy.io/api/top-level#spacy.blank
https://spacy.io/api/language#attributes
2022年2月の振り返り
2月の振り返り。2月もいつの間にか過ぎ去った気がする。
研究
博士号取得に向けた取り組み
今月は主に国際会議投稿に向けた部分を進めていたり、新しい施策を考えたり。来月頭に投稿予定。英語のライティングスキル...
日々のインプット
読書
研究を行う際に必要な世界観の作り方や実際にどういう風に研究を進めていけば良いかがわかりやすく書かれている本。研究フィールドマップや問題深掘図、課題要因図などを埋めていく過程で多角的な観点から研究を捉えることができる。研究を進める中でいつの間にか、手段が目的化し、手法ありきで問題解決をしていることがある。そういう場合は、俯瞰した視点から今やっていることを捉え直すことが必要で、そういう視点で考える場合に役に立つ本だと思う。
Pythonの文法や機能に関する知識が書かれた本。体系的に学べる本だと思う。python特有の機能として、デコレータやコンテキストマネージャなどの説明もある。中級者向けの本。ちなみに著者は同郷の知人であり、自分も頑張らねばと思わせてくれる本だった。
放送大学教材の教科書で自然言語処理について書かれた本。各章がコンパクトにまとめられており、ざっと体系的に学びたい時に読める本。各章の最後に学習課題も載っており、理解を深めることができる。
2022年2月出版。3章の途中まで読んだのと、9章の「Eコマースと小売」のところを読んだ。NLPのベストプラクティスを学べる本。内容がとても豊富。今後も残りの章を読もうと思う。表紙の鳥はオオハナインコらしい。
3章まで読了。きちんと実験管理をしないといけないと思ったことと、推論はデータだけ用意したら動かして結果を確認するだけくらいの仕組みにしておかないと、動かし方とか忘れちゃうし、ドキュメントもどこだっけとなるので、うまく仕組み化したい。
資格
目標:TOEIC730点
TOEICを1/30AMに受験した結果が返ってきた。
感触通り、リスニングは良くなっていて前回受験時より50点UPしていた。一方、リーディングは前回と一緒の点数だった。少しづつ伸びているので良しとしよう。引き続き、学習は継続する。
前回の受験以降、スタディサプリで学習して、スキマ時間などで100時間学習した。前回よりは点数が上がっているような気がするが、結果はどうだろう。 やはり、後半のリーディングセクションは時間管理が重要となってくる。
生活
新聞を読む
ここは朝起床したあとに読む習慣がついている。このまま継続していこう。
健康面
体重
今月もあまり計測できていない。対策として、リビングに持ってくることにしたが、果たしてどうだろう。
毎日8,000歩、歩く
今月の歩数は27日時点で152,786歩だったので、1日平均で5,658歩。先月より減っているので、こちらも日々活動量を増やしていく。
運動習慣をつける
今月はジムに行けなかった。土日は子守をすることが多かったので、仕方ないかな。
その他
- 仕事部屋に加湿器を導入した。ちょうど1時間に1回くらいの頻度で水の補充が必要なので、座りっぱなしにならず良い
- 歯医者に2回行った
2022年1月の振り返り
2022年も早1ヶ月が過ぎましたね。1月の振り返りをしたいと思います。
研究
博士号取得に向けた取り組み
今月は国際会議投稿に向けた部分を進めていた。年間目標を設定した。
日々のアウトプット
ブログ
今年の目標の記事を書いた。
年初に書いたとおり、試行錯誤した結果を書いていこう。
日々のインプット
読書
今月は5冊。意識したおかげで読書のインプットの習慣化はできてきている。
- 「1%の努力」
著者の生い立ちから、現在に至るまでにどのような生き方をしてきたか書かれた本。努力しないための努力をするというのは、どうすれば楽にできるか、を考えること。ムダなことをせずに楽をしようとする考え方は、何事も効率化するという意味で改善の方向性を検討できるので、大事な考え方だと思う。
ディープラーニングを体系的に学べる本。ディープラーニングに使われる技術、メカニズムについて、基本的な考え方から、最新の発展までまとめられている。ディープラーニングのすごいところは、表現学習を大量のデータで実現でき、高い性能と柔軟性を兼ね備えて、汎化させていることにあると思う。
Gitのコマンドや仕組み、動作のイメージ図などが書かれており、体系的に学べる本だった。複数人での開発や大規模開発での利用を想定した、Gitの使い方が書かれており、非常に実践的である。最後の章ではGitのオブジェクトの中身に言及されており、中身まで理解できる。体系的に学べる良本。
コンピュータビジョンに関する最新の研究動向を網羅的にサーベイした内容の本。とてつもない情報量であり、分野を盛り上げていこうという雰囲気が読むだけで伝わってくる。特に自身にとっては、「ニュウモンVision and Language」の章が自然言語処理に関する内容が載っており、とても参考になった。
資格
TOEIC730点
TOEICを1/30AMに受験した。 前回の受験以降、スタディサプリで学習して、スキマ時間などで100時間学習した。前回よりは点数が上がっているような気がするが、結果はどうだろう。 やはり、後半のリーディングセクションは時間管理が重要となってくる。
受けてきた。
— tossy (@tshk_sakai) 2022年1月30日
・Part1、2問自信なし
・Part2、前回よりはかなりいい感じ
・Part3、前回よりいい感じ
・Part4、前回よりいい感じ
・Part5、自信ない問題が多かった印象
・Part6、自信ない問題が多かった印象
・Part7、先に一番最後の問題から解く作戦。解いたものは自信あり。
生活
新聞を読む
ここは朝起床したあとに読む習慣がついている。このまま継続していこう。
健康面
体重
そもそも、計測していなかったので、毎日計測するところからやっていく。寒いと服を脱いで量るということをしなくなるから、何か工夫できないかな、とは思っているところ。
毎日8,000歩、歩く
今月の歩数は30日時点で182,730歩だったので、1日平均で6,091歩。毎日、朝と昼は歩いているので、改善の余地があるなぁ。もう少し早めに起きて、行動するしかないか。
運動習慣をつける
ジムに2回行った。あと1回くらいいけたら良かったけど、初月にしては良かったと思う。
今月、初めて行ったのだが、やはり最初の行くまでのハードルが高い気がした。2回目以降は、施設の設備内容とか要領がわかるので、行きやすくなった。 何事もやってみることが大事だなぁ。
その他
- プライベートでの作業の自動化について、seleniumを使ったブラウザの自動操作などを試していた
- 今月前半は移動が多く、空港のラウンジサービスを利用するためにプラチナカードを作った
- 日記を書く習慣がなくなったので、また書き始める