1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PythonとElasticSearchとMetabaseを使ったデータ探索、分析、可視化

Posted at

業務上でElasticSearchというテキストやログなどのデータの中から高速かつ正確に検索を行える
オーブンソースの検索エンジンが使われていたので調べてみました。
Kibanaを組み合わせてデータを可視化したり、分析したりできるクライアントアプリを作成できることが可能です。
Kibanaは有料でしたので(無料トライアウトあり)、無料で使えるものを探していたところMetabaseというサービスがあったので、今回はPythonとElasticSearchとMetabaseでデータを探索したり分析、可視化できるツールの設計を考えてみます。

・Metabaseについて
https://www.metabase.com/
スクリーンショット 2023-04-09 17.18.29.png
(https://www.metabase.com/docs/latest/ より引用)

・Kibanaについて
https://www.elastic.co/jp/kibana/

概要

ElasticSearchでデータをインデックスし、Pythonを使用してデータをクエリして抽出し、
抽出したデータをPandasのDataFrameに変換し、Metabaseにデータをエクスポートして可視化する

設計

Elasticsearchのセットアップ

Elasticsearchをローカル環境にインストールします

Elasticsearchへのデータの投入

Pythonを使用して、Elasticsearchにデータを投入します。
CSVファイルからデータを読み込み、Elasticsearchにデータを保存するスクリプトを作成します。Pythonのライブラリであるelasticsearch-pyを使用して、Elasticsearchにデータを投入します。

Metabaseのセットアップ

Metabaseをローカル環境にインストールします。
Metabaseの設定画面から、Elasticsearchに接続するための設定を行います。

Metabaseでのデータの可視化

Metabaseにログインし、Elasticsearchから取り込んだデータを使用して、グラフやダッシュボードを作成します。

PythonとMetabaseの連携

Pythonを使用して、MetabaseのAPIを呼び出し、データの取得やダッシュボードの作成を自動化することができます。
Pythonのライブラリであるmetabase-apiを使用すると、MetabaseのAPIを簡単に呼び出すことができます。

以上です。
データ分析に興味のあるエンジニアやデータサイエンティストやビジネスサイドの方の参考になると幸いです。
今後は実際にコードを書いていきます。

補足

インプットとなるデータはKaggleやe-Statなどのオーブンデータサイトからデータをダウンロードしてくると手軽に使えます

・e-Stat
https://www.e-stat.go.jp/

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?