カサンドラからファイルを読み取り、ファイルをカサンドラに書き込む方法は?
上記のリンクから、Cassandra でファイルを読み書きする方法はわかりましたが、テーブルの構造がわかりません。
以下のコードは、Cassandra にファイルを挿入する方法です。私はそれと2つの列だ filename
と思いfile
ます(主キーは「ファイル名」ですか?)。file
書くときの型は何CREATE TABLE (...,...,...)
ですか.「blob」は大丈夫ですか?
ByteBuffer fileByteBuffer = ByteBuffer.wrap( readFileToByteArray( filename ) );
Statement insertFile = QueryBuilder.insertInto( "files" ).value( "filename", filename ).value( "file", fileByteBuffer );
session.execute( insertFile );
columnfamily を作成します。
"CREATE TABLE " + columnfamily + " ("
+ PK+ " varchar PRIMARY KEY,"
+ " password varchar ,"
+ " file blob"
+ ");";
私はクエリを実行します:
Statement insertFile = QueryBuilder.insertInto(keyspace + "."+columnfamily)
.value(PK, "LDCR.lua").value("file", fileByteBuffer).value("password", "654321");
session.execute(insertFile);
しかし、それは言う:
com.datastax.driver.core.exceptions.InvalidQueryException: 未構成の列ファミリー