无法在Azure Cosmos DB中插入json

编程入门 行业动态 更新时间:2024-10-20 03:38:49
本文介绍了无法在Azure Cosmos DB中插入json - Cassandra的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我使用下面的代码创建一个准备好的语句来插入JSON文档(插入cassandra的json功能):

String queryString =" INSERT INTO" .concat(keySpace).concat("。")。concat(table).concat(" JSON:payload");

preparedStatement = session.prepare(queryString)

但是,当我执行我的session.prepare抛出异常时:

由:com.datastax.driver.core.exceptions.SyntaxError:第1:40行输入':( ... O asda_search.test_table JSON:...)at com.datastax.driver.core.Responses $ Error .asException(Responses.java:132)at com.datastax.driver.core.SessionManager $ 4.apply(SessionManager.java:220) at com.datastax.driver.core.SessionManager $ 4.apply(SessionManager.java) :196)at shade.datastax.spark.connector.googlemon.util.concurrent.Futures $ ChainingListenableFuture.run(Futures.java:906)at shade.datastax.spark.connector.googlemon.uti l.concurrent.Futures $ 1 $ 1.run(Futures.java:635) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor $ Worker.run( ThreadPoolExecutor.java:624)at ioty.util.concurrent.DefaultThreadFactory $ DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) at java.lang.Thread.run(Thread.java:748)

相同的上述代码在我的本地和部署的Cassandra数据中心完全正常。

解决方案

Hi Bikas,

Cosmos DB Cassandra API可能与内部部署的Cassandra实例不完全相同。 Cosmos DB Cassandra API基于CQL v4,您使用的Java客户端针对CQL v3,因此可能需要进行一些调整以解决一些的差异。

ere是一个基于java的示例,使用java将数据写入Cassandra API客户,作为参考。

教程:将示例数据加载到Azure Cosmos DB中的Cassandra API表

谢谢,

迈克

Hi,

I am using below code to create a prepared statement to insert JSONdocuments(Insert json feature of cassandra):

String queryString = "INSERT INTO ".concat(keySpace).concat(".").concat(table) .concat(" JSON :payload");

preparedStatement = session.prepare(queryString)

But, when I execute my session.prepare throws below exception:

Caused by: com.datastax.driver.core.exceptions.SyntaxError: line 1:40 no viable alternative at input ': (...O asda_search.test_table JSON :...) at com.datastax.driver.core.Responses$Error.asException(Responses.java:132) at com.datastax.driver.core.SessionManager$4.apply(SessionManager.java:220) at com.datastax.driver.core.SessionManager$4.apply(SessionManager.java:196) at shade.datastax.spark.connector.googlemon.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:906) at shade.datastax.spark.connector.googlemon.util.concurrent.Futures$1$1.run(Futures.java:635) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at ioty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) at java.lang.Thread.run(Thread.java:748)

The same above code works perfectly fine in my local and deployed Cassandra in our data center.

解决方案

Hi Bikas,

The Cosmos DB Cassandra API may not behave exactly as a on-premise Cassandra instance. The Cosmos DB Cassandra API is based upon CQL v4, where the java client you are using is targeted for CQL v3, so some adjustment might be needed here to account for some differences.

Datastax Java Driver for Apache Cassandra®

Here is a java based example of writing data to the Cassandra API with a java client, as a reference.

Tutorial: Load sample data into a Cassandra API table in Azure Cosmos DB

Thanks,

Mike

更多推荐

无法在Azure Cosmos DB中插入json

本文发布于:2023-11-17 02:23:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1608464.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Cosmos   Azure   json   DB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!