【发布时间】:2016-11-27 13:58:27
【问题描述】:
我是 Cassandra 的新手,我正在尝试使用 Cassandra/CSharp 驱动程序从 c# 执行 select 语句。我想使用 SELECT JSON 将 JSON 中的整个结果集导出到文件中。我唯一的问题是我应该如何在 C# 中写入文件。有没有办法可以将 RowSet 转换为 JSON?
【问题讨论】:
我是 Cassandra 的新手,我正在尝试使用 Cassandra/CSharp 驱动程序从 c# 执行 select 语句。我想使用 SELECT JSON 将 JSON 中的整个结果集导出到文件中。我唯一的问题是我应该如何在 C# 中写入文件。有没有办法可以将 RowSet 转换为 JSON?
【问题讨论】:
我通过从this answer 获得解决方案得到了答案。关键是:
SELECT JSON 的结果将只包含一个名为 [json] 的列。
你可以使用类似 C# 的东西:
RowSet rows = session.Execute("select json * from customer_orders where customerid='1'");
foreach (var row in rows) {
Console.WriteLine(row.GetValue<String>("[json]"));
}
【讨论】:
select json 存在一些问题。 1)您无法控制格式,例如日期/时间戳的格式在 Cassandra 中是硬编码的。 2) 与获取结果集&在本地使用内置JSON格式相比,网络消耗要高得多
你可以使用“select json * from table_name ...”类似的东西:
RowSet rows = session.Execute("select json * from customer_orders where customerid='1'");
foreach(Row row in rows)
Console.WriteLine(row);
返回的每一行都是 JSON 格式,您可以将它们保存到文件中以进行导出。
【讨论】:
Cassandra.Row