Elasticsearch Python Connector

Python からSQL でElasticsearch データ連携を実現

Elasticsearch データをPython ベースのデータアクセス、ビジュアライゼーション、ORM、ETL、AI/ML、カスタムアプリから自在に連携・操作。


  ベータ版ダウンロード

Elasticsearch へのデータ連携用のPython Connecotr ライブラリ。 pandas、SQLAlchemy、Dash、petl などの主要なPython ツールにElasticsearch をシームレスに統合。 Python や各種ツールからElasticsearch データに連携できるPython データベース API(DB-API)モジュール。

機能

  • Elasticsearch データにサーバーサイドアドオンなしで、SQL-92 でアクセス可能に
  • Elasticsearch のBasic からPlatinum までのサブスクリプションに連携可能
  • Elasticsearch v.2.2 以降をサポート
  • write access, search type logic, arrays, nested objects, and JOINsなどの高度な機能をサポート
  • Elasticsearch NoSQL データへのSQL-92 でのクエリを実現。
  • フレキシブルなNoSQL のフラット化 - 自動スキーマ生成、フレキシブルなクエリなど。
  • Elasticsearch データにリアルタイムアクセス
  • BI、帳票、ETL ツールやカスタムアプリへのシームレスなデータ連携
  • データ集計、複雑なJOIN クエリなどのSQL をフルサポート

製品仕様

  • Elasticsearch 連携用のPython Database API (DB-API) モジュール。
  • 使い慣れたSQL でElasticsearch データにアクセス。Elasticsearch に使い慣れたPython Database Connectivity でデータ連携。
  • pandas、SQLAlchemy、Dash、petl などの人気のPython ツールにシームレスに統合。
  • 使いやすいフラット化されたインターフェースでElasticsearch にアクセス。
  • データ、パラメータ、メタデータでUnicode をフルサポート。


CData Python Connectors の紹介動画

CData Python Connectors の基本的な使い方を紹介する動画でシンプルかつパワフルな連携をご覧ください。

WPython Connector 動画を見る

Python からElasticsearch にデータ連携

サポートされたデータソースにわたり統一されたSQL アクセスを実現するPyton Connector


  • Python からElasticsearch への標準連携

    Elasticsearch データに以下のPython ベースのフレームワークから連携を実現:


    • データ分析/ビジュアライゼーション:Jupyter Notebook、pandas、Matplotlib
    • ORM:SQLAlchemy、SQLObject、Storm
    • ウェブアプリケーション:Dash、Django
    • ETL:Apache Airflow、Luigi、Bonobo、Bubbles、petl
  • Python 標準ツールへの統合

    Elasticsearch Connector は、Anaconda、Visual Studio Python IDE、PyCharm などの人気のデータサイエンスおよび開発ツールに統合して利用可能です。

  • レプリケーションとキャッシング

    CData のレプリケーションやキャッシングコマンドにより、簡単にローカルおよびクラウドデータストア(Oracle、SQL Server、Google Cloud SQL、etc.)へのデータのコピーができます。レプリケーションコマンドはインテリジェントな差分更新によるデータのキャッシュを行う機能を備えています。

  • 文字列型、日付型、数値型のSQL 関数群

    Elasticsearch Connector は50以上の関数ライブラリを持ち、カラムと出力フォーマットを操作します。代表的な例では正規表現、JSON、およびXML 処理機能があります。

  • コラボラティブクエリ処理

    Python Connector はクライアント側における追加処理を実現することにより、接続するデータソースの機能を高め、SUM、AVG、MAX、MIN などの分析集計を可能にします。

  • 容易なスキーマのカスタマイズ

    Elasticsearch Connector のデータモデルはテーブル / カラムの追加や削除、データ型の変更などのカスタマイズが簡単に行えます。追加ビルドは不要です。カスタマイズは、human-readable スキーマを使ってランタイムで編集ができます。

  • セキュアな接続

    すべてのクライアント - サーバー間接続において、TLS / SSL データ暗号化などのエンタープライズレベルのセキュリティ機能が備わっています。

Python でElasticsearch データに連携

CData Python Connectors は、標準化されたデータベースAPI(DB-API)インターフェースでElasticsearch にアクセスすることができます。幅広いPython データツールからのデータ連携が簡単に実現します。Python からのデータ連携をデータソース固有のインターフェースを意識することなくベーシックなパターンで連携を行うことができます::

  • Elasticsearch に接続する接続プロパティを設定
  • Elasticsearch をクエリしてデータを取得・更新
  • Python データツールからElasticsearch データに連携


Python からElasticsearch にデータ連携する方法

Python からデータに接続するには、エクステンションをインポートして接続を作ります:

import cdata.elasticsearch as mod
conn = mod.connect("User=user@domain.com; Password=password;")

#Create cursor and iterate over results
cur = conn.cursor()
cur.execute("SELECT * FROM DocumentDB")
 
rs = cur.fetchall()
 
for row in rs:
print(row)

エクステンションをインポートすると、使い慣れたPython モジュールやツールキットからあらゆるエンタープライズデータに連携が可能になり、データ活用のためのPython アプリケーションをすばやく構築できます。

pandas でElasticsearch データをビジュアライズ

Elasticsearch Python Connector はデータセントリックなインターフェースになっていて、pandas やSQLAlchemy をはじめとするツールに統合して利用してデータを分析しビジュアライズすることができます。

engine = create_engine("elasticsearch///Password=password&User=user")

df = pandas.read_sql("SELECT * FROM DocumentDB", engine)

df.plot()
plt.show()

Python Connector の人気動画:

Python Connectors、Jupyter Notebook、pandas