はじめに
以前のブログで、pythonコネクタについて紹介しました。 それ以降、 C_Client がRPMパッケージ化され、CentOSはデフォルトでPCREを同梱するようになったため、インストールも使用するのも簡単になりました。
ビデオ
ビデオに従って試したい場合は、こちらをご覧ください。
追加のボーナスとして、ビデオは非常にシンプルなソースコードも紹介します。
インストール
c_clientをインストールする
以下の抜粋は Node.js クライアントに関するブログから引用しました。
GridDB c_client(Pythonクライアントを使用するための前提条件)はここにあります: https://github.com/griddb/c_client 。 c_clientのインストールは前回のブログから簡素化されました。 ソースから自分でコンパイルする代わりに、便利なRPMが利用できるようになりました(リリースページはこちらにあります)。 最新のRPMをwgetしてインストールします。
$ wget \
https://github.com/griddb/c_client/releases/download/v4.2.0/griddb_c_client-4.2.0-1.linux.x86_64.rpm
次に、rpmをインストールします。
$ sudo rpm -ivh griddb_c_client-4.2.0-1.linux.x86_64.rpm
これで c_clientが/usr/ ディレクトリにインストールされ、準備が整いました。
Python クライアントをインストールする
Pythonクライアントのインストールは少し複雑ですが、それでも簡単です。 まず、GitHubからファイルをダウンロードしましょう。
$ wget \
https://github.com/griddb/python_client/archive/0.8.1.tar.gz
そして、解凍します。
$ tar xvzf 0.8.1.tar.gz
次に、依存するソフトウェアをインストールします。
$ wget https://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz
tar xvfz swig-3.0.12.tar.gz
cd swig-3.0.12
./configure
make
sudo make install
必要に応じて、pcreをインストールします。
$ sudo yum install pcre2-devel.x86_64
次に、Pythonクライアントを make します。
$ cd ../python_client
make
Pythonクライアントを作成しようとした時に次のエラーが発生した場合、
/usr/bin/ld: cannot find -lgridstore
簡単に修正できるので心配はありません。 原因は、Makefileがc_clientを指すように設定していないことです。 つまり、c_client/binの場所をLDFLAGSオプションに追加することで問題は解決します。</ p>
SWIG = swig -DSWIGWORDSIZE64
CXX = g++
ARCH = $(shell arch)
LDFLAGS = -L/home/israel/c_client/bin -lpthread -lrt -lgridstore #added /home/israel/c_client_bin right here
CPPFLAGS = -fPIC -std=c++0x -g -O2
INCLUDES = -Iinclude -Isrc
INCLUDES_PYTHON = $(INCLUDES) \
-I/usr/include/python3.6m
PROGRAM = _griddb_python.so
EXTRA = griddb_python.py griddb_python.pyc
SOURCES = src/TimeSeriesProperties.cpp \
src/ContainerInfo.cpp \
src/AggregationResult.cpp \
src/Container.cpp \
src/Store.cpp \
src/StoreFactory.cpp \
src/PartitionController.cpp \
src/Query.cpp \
src/QueryAnalysisEntry.cpp \
src/RowKeyPredicate.cpp \
src/RowSet.cpp \
src/TimestampUtils.cpp \
all: $(PROGRAM)
... snip ...
適切な修正を行うと、makeは意図したとおりに動作するはずです。 次に環境変数を設定します。 適切な場所を指定します。
$ export LIBRARY_PATH=$LIBRARY_PATH:[insert path to c_client]
$ export PYTHONPATH=$PYTHONPATH:[insert path to python_client]
$ export LIBRARY_PATH=$LD_LIBRARY_PATH:[insert path to c_client/bin]
これで、GridDB Clusterでcとpythonの両方を使用できるようになりました。
サンプルコード
Pythonでの使用は非常に簡単なので、このブログでは紹介しませんが、興味がある方はブログの最初の方で紹介したビデオをご覧ください。 ビデオの内容に従うには、次のソースコードをダウンロードしてください。[Download not found]
ブログの内容について疑問や質問がある場合は Q&A サイトである Stack Overflow に質問を投稿しましょう。 GridDB 開発者やエンジニアから速やかな回答が得られるようにするためにも "griddb" タグをつけることをお忘れなく。 https://stackoverflow.com/questions/ask?tags=griddb





[…] まず、GridDB Python Clientをインストールします。GridDB Python Client についてはこちらのブログに詳しい説明があります。 […]