【发布时间】:2016-04-21 02:33:18
【问题描述】:
我从 link 得知 Cassandra 上下文已被删除 DataStax Enterprise 4.7。这是否意味着它将从Spark Cassandra Connector 中删除?另外,删除它的原因是什么。是否与性能有关?
【问题讨论】:
标签: datastax datastax-enterprise spark-cassandra-connector
我从 link 得知 Cassandra 上下文已被删除 DataStax Enterprise 4.7。这是否意味着它将从Spark Cassandra Connector 中删除?另外,删除它的原因是什么。是否与性能有关?
【问题讨论】:
标签: datastax datastax-enterprise spark-cassandra-connector
“CassandraContext”对象仅限于 Datastax,并且从未存在于 Spark Cassandra 连接器中。它基本上是 Cassandra 表到 Scala 对象和案例类的编译映射。每次 Cassandra 的底层架构发生变化并与 OSS Spark Cassandra 连接器 API 产生分歧时,都需要编译一个新对象。相对于它提供的有限便利性,创建此对象的额外性能成本被视为浪费时间。此外,该代码只能在 spark shell 中工作,因此不适合为独立应用程序编写原型代码。
CassandraSQLContext 的主要目的是在系统不存在HiveMetastore 时提供持久目录和从 Spark 到 Cassandra 表的自动映射。使用 CassandraSqlContext 时,用户仅限于 AnsiSQL 的一小部分,而不是使用 99% 的 HiveQL 的 HiveContext。 CassandraSQLContext 的代码仍然存在于连接器中,您仍然可以在 DSE 中创建 CassandraSQLContext。
在 Datastax Enterprise 中,已经有一个 HiveMetastore 用于与 Cassandra 一起使用。自定义 Metastore 也会自动注册所有 Cassandra 表,因此使用 CassandraSQLContext 被认为是多余的、令人困惑的,并且与 Hive 对应的功能相比,它的功能更少。为此,建议所有用户使用 HiveContext 而不是 CassandraSQLContext,我们从 shell 中删除了自动 cc 对象。
【讨论】: