「PythonからApache Cassandraに接続したい」
このような場合には、cassandra-driverがオススメです。
この記事では、cassandra-driverについて解説しています。
本記事の内容
- cassandra-driverとは?
- cassandra-driverのシステム要件
- cassandra-driverのインストール
- cassandra-driverの動作確認
それでは、上記に沿って解説していきます。
cassandra-driverとは?
cassandra-driverとは、Apache Cassandraのドライバーです。
cassandra-driverは、Pythonライブラリとして公開されています。
サポート対象となるApache Cassandraの条件は、以下。
- Apache Cassandra(2.1+)
- CQL(Cassandra Query Language) v3
現時点で最新版となるApache Cassandraは、バージョン4.0.4です。
最新版Apache Cassandraのインストールについては、次の記事で解説しています。
このバージョンでは、CQL 3.4.5が組み込まれています。
そのため、最新版のApache Cassandraでcassandra-driverが動くと言えます。
CQLのバージョンは、cqlsh起動時に確認できます。
同時に、Apache Cassandraのバージョンも確認可能です。
$ cqlsh 192.168.33.108 Connected to Test Cluster at 192.168.33.108:9042 [cqlsh 6.0.0 | Cassandra 4.0.4 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help. cqlsh>
cqlshについては、次の記事でまとめています。
以上、cassandra-driverについて説明しました。
次は、cassandra-driverのシステム要件を説明します。
cassandra-driverのシステム要件
現時点(2022年6月)でのcassandra-driverの最新バージョンは、3.25.0となります。
この最新バージョンは、2021年3月19日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
サポート対象となるPythonのバージョンは、以下となっています。
- Python 2.7
- Python 3.5
- Python 3.6
- Python 3.7
- Python 3.8
これは、少々古過ぎます。
以下は、Python公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
Python公式開発サイクルに従えば、Python 3.9と3.10へのサポートは当たり前です。
実際、すでにPython 3.9と3.10はかなり普及しています。
それなのに、cassandra-driverのサポート対象にPython 3.9と3.10がありません。
このことは、かなり不安に感じてしまいます。
しかし、安心してください。
Python 3.9と3.10でも問題なく、cassandra-driverを利用できます。
結果的に、cassandra-driverのシステム要件はあってないようなモノです。
ただ、Python 3.7以降の利用をオススメします。
以上、cassandra-driverのシステム要件を説明しました。
次は、cassandra-driverのインストールを説明します。
cassandra-driverのインストール
検証は、次のバージョンのPythonで行います。
> python -V Python 3.10.4
まずは、現状のインストール済みパッケージを確認しておきます。
> pip list Package Version ---------- ------- pip 22.1.2 setuptools 62.3.4 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、cassandra-driverのインストールです。
cassandra-driverのインストールには、次のコマンドを用います。
pip install cassandra-driver
インストールには、そこそこ時間がかかります。
途中で処理が停止したように見えても、しばらく我慢しましょう。
終了したら、どんなパッケージがインストールされたのかを確認します。
> pip list Package Version ---------------- ----------- cassandra-driver 3.25.0 click 8.1.3 colorama 0.4.4 geomet 0.2.1.post1 pip 22.1.2 setuptools 62.3.4 six 1.16.0 wheel 0.36.2
それほど多くのパッケージに依存はしていないようです。
以上、cassandra-driverのインストールを説明しました。
次は、cassandra-driverの動作確認を行います。
cassandra-driverの動作確認
cassandra-driverの動作確認には、以下が前提条件となります。
- Apache Cassandraにおける外部接続の許可
- Apache Cassandraにデータが登録済
Apache Cassandraにおける外部接続の許可は、次の記事をご覧ください。
Apache Cassandraへのデータ登録については、次の記事でまとめています。
今回は、Ubuntu 20.04 LTSにApache Cassandraをインストール済みです。
そのサーバーのIPアドレスは、192.168.33.108となります。
この状況の場合には、次のコードを動作確認に用います。
キースペースやテーブルについては、上記で挙げた記事を参考にしてください。
from cassandra.cluster import Cluster cluster = Cluster(['192.168.33.108']) session = cluster.connect('sample_keyspace') rows = session.execute('SELECT id, age, name FROM user') for row in rows: print(row.id, row.age, row.name)
上記コードを実行した場合、以下の結果となります。
1 20 山田太郎 2 30 佐藤次郎 3 40 高橋三郎
Apache Cassandraに登録したデータが、ちゃんと表示されています。
cassandra-driverの動作確認としては、これで十分でしょう。
以上、cassandra-driverの動作確認を説明しました。