我不知道谷歌的关键词。如何从cassandra读取文件并将文件写入cassandra?
我是datastax的新手。
我想我可以将文件转换成卡桑德拉容易,我想我不用写文件卡桑德拉是这样的:
out = new FileOutputStream(new File(“C:/test.txt”));
out.write(“java java java\r\n”.getBytes());
我不知道谷歌的关键词。如何从cassandra读取文件并将文件写入cassandra?
我是datastax的新手。
我想我可以将文件转换成卡桑德拉容易,我想我不用写文件卡桑德拉是这样的:
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是一个key-value存储,而不是一个文件系统,所以你不能将文件写入它。 Cassandra中的所有值最终都是字节序列。因此,尽管您无法在Cassandra中存储文件,但您可以存储文件的内容。您将要将文件内容读入一个字节数组,然后将该文件的内容存储在Cassandra中。
我发现,从卡桑德拉采取的字节有一些额外的头? –