【问题标题】:Why was the Cassandra Context removed from DataStax Enterprise 4.7为什么从 DataStax Enterprise 4.7 中删除 Cassandra 上下文
【发布时间】:2016-04-21 02:33:18
【问题描述】:

我从 link 得知 Cassandra 上下文已被删除 DataStax Enterprise 4.7。这是否意味着它将从Spark Cassandra Connector 中删除?另外,删除它的原因是什么。是否与性能有关?

【问题讨论】:

    标签: datastax datastax-enterprise spark-cassandra-connector


    【解决方案1】:

    Cassandra 上下文

    “CassandraContext”对象仅限于 Datastax,并且从未存在于 Spark Cassandra 连接器中。它基本上是 Cassandra 表到 Scala 对象和案例类的编译映射。每次 Cassandra 的底层架构发生变化并与 OSS Spark Cassandra 连接器 API 产生分歧时,都需要编译一个新对象。相对于它提供的有限便利性,创建此对象的额外性能成本被视为浪费时间。此外,该代码只能在 spark shell 中工作,因此不适合为独立应用程序编写原型代码。

    编辑:我误认为 Cassandra 上下文是一个独立的结构,而不是 CassandraSQLContext。我记错了。

    CassandraSQLContext 的主要目的是在系统不存在HiveMetastore 时提供持久目录和从 Spark 到 Cassandra 表的自动映射。使用 CassandraSqlContext 时,用户仅限于 AnsiSQL 的一小部分,而不是使用 99% 的 HiveQL 的 HiveContextCassandraSQLContext 的代码仍然存在于连接器中,您仍然可以在 DSE 中创建 CassandraSQLContext

    在 Datastax Enterprise 中,已经有一个 HiveMetastore 用于与 Cassandra 一起使用。自定义 Metastore 也会自动注册所有 Cassandra 表,因此使用 CassandraSQLContext 被认为是多余的、令人困惑的,并且与 Hive 对应的功能相比,它的功能更少。为此,建议所有用户使用 HiveContext 而不是 CassandraSQLContext,我们从 shell 中删除了自动 cc 对象。

    【讨论】:

      猜你喜欢
      • 2015-08-25
      • 1970-01-01
      • 2016-01-19
      • 2018-08-04
      • 2015-10-17
      • 1970-01-01
      • 2015-01-09
      • 2016-03-21
      • 2014-08-17
      相关资源
      最近更新 更多