不知道用什么关键词google。
我是datastax的新手。
我想我可以轻松地将文件插入 cassandra 而且我想我不需要像这样将文件写入 cassandra:
out = new FileOutputStream(new File(“C:/test.txt”));
out.write(“java java java\r\n”.getBytes());
不知道用什么关键词google。
我是datastax的新手。
我想我可以轻松地将文件插入 cassandra 而且我想我不需要像这样将文件写入 cassandra:
out = new FileOutputStream(new File(“C:/test.txt”));
out.write(“java java java\r\n”.getBytes());
使用 Datastax 驱动程序:
插入:
ByteBuffer fileByteBuffer = ByteBuffer.wrap( readFileToByteArray( filename ) );
Statement insertFile = QueryBuilder.insertInto( "files" ).value( "filename", filename ).value( "file", fileByteBuffer );
session.execute( insertFile );
读:
Statement readFile = QueryBuilder.select( "file" ).from( "files" ).where( QueryBuilder.eq( "filename", filename ) );
Row fileRow = session.execute( readFile ).one();
if ( fileRow != null ) {
ByteBuffer fileBytes = fileRow.getBytes( "file" );
File f = convertToFile( fileBytes );
}
Cassandra 是键值对存储,而不是文件系统,因此您无法向其中写入文件。Cassandra 中的所有值最终都只是字节序列。因此,您虽然不能在 Cassandra 中存储文件,但可以存储文件的内容。您需要将文件内容读入一个字节数组,然后将该 arrat 的内容存储在 Cassandra 中。