gpt4 book ai didi

java - 在 cassandra 中创建表的关键空间名称问题

转载 作者:行者123 更新时间:2023-12-01 07:57:15 27 4
gpt4 key购买 nike

我有一个现有的 key 空间“emsSdk”。我需要通过java在提到的键空间中创建一个表。所以我使用spark-cassandra-connector遵循代码。下面提供了代码

ession.execute("CREATE TABLE emsSdk.activity (project_party_id TEXT, error_count TEXT,"
+ " lock_version TEXT, record_status_id TEXT, error_type TEXT, error_message TEXT, file TEXT, release_stage_id TEXT, "
+ "line_no TEXT, uid TEXT PRIMARY KEY, activity_type_id TEXT, created_at TEXT,"
+ "project_name TEXT, project_api_key TEXT, project_type_name TEXT, stage_name TEXT)");

但是它给了我一个错误,

emssdk keyspace does not exists

我该如何解决这个问题?

最佳答案

我假设您使用 CQL3 来创建表。 CQL3 将键空间、表等的名称视为不区分大小写。 CQL3 语句中的名称将转换为小写,除非您将它们用双引号引起来。

如果您在切换到 CQL3 之前创建了键空间,则键空间的名称仍然以混合大小写形式存储,即“emsSdk”,它与 emssdk 不匹配,CQL3 后的名称将其转换为小写。

因此解决方法是在语句中引用名称:CREATE TABLE "emsSdk.activity"...当然,您必须转义 Java 字符串中的引号:

"CREATE TABLE \"emsSdk.activity\" ..."

苏也:http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/ucase-lcase_r.html

关于java - 在 cassandra 中创建表的关键空间名称问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28447149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com