我不知道google会使用哪些关键字。
我是datastax的新手。
我想我可以将文件插入cassandra EASILY而且我想我不需要像cassandra那样写文件:
out = new FileOutputStream(new File(“C:/test.txt”));
out.write(“java java java\r\n”.getBytes());
答案 0 :(得分:4)
使用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 );
}
答案 1 :(得分:2)
Cassandra是一个键值存储,而不是文件系统,因此您无法将文件写入其中。 Cassandra中的所有值最终都只是字节序列。因此,尽管您无法在Cassandra中存储文件,但您可以存储文件的内容。您需要将文件内容读入字节数组,然后将该文件的内容存储在Cassandra中。