我不知道谷歌的關鍵詞。如何從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中。
我發現,從卡桑德拉採取的字節有一些額外的頭? –