【问题标题】:Different Ways of Using Spark Cassandra Connector使用 Spark Cassandra 连接器的不同方式
【发布时间】:2021-09-04 14:27:30
【问题描述】:

我正在尝试使用 Spark Cassandra 连接器对 Cassandra 中的数据进行分析,并发现了两种类型的实现。任何人都可以阐明两者之间的区别和优点/缺点吗?我正在尝试查看使用哪一个来查询大型数据集。谢谢

选项 1 - 使用 Spark Session SQL

sparkSession.read
      .format("org.apache.spark.sql.cassandra")
      .options(Map( "table" -> table, "keyspace" -> keyspace))
      .load()

选项 2 - 使用 SCC API

CassandraJavaUtil.javaFunctions(sc)
        .cassandraTable("my_keyspace", "my_table", .mapColumnTo(Integer.class))
        .select("column1");

【问题讨论】:

    标签: apache-spark cassandra spark-cassandra-connector


    【解决方案1】:

    区别在于首先使用Dataframe API,其次是RDD API。我不希望它们之间有太大的性能差异。从实际的角度来看,我会建议尽可能使用 Dataframe API,因为它可以在对数据进行操作时得到更好的优化。虽然还有一些只有 RDD API 才有的操作,比如删除数据,但是在 Dataframes 之上也很容易实现……

    如果您担心性能,那么我建议您至少使用连接器 2.5.0,它在我们仅在商业版本中可用之前有很多优化,例如 direct join 等(更多信息请参见 @987654322 @)

    【讨论】:

      猜你喜欢
      • 2016-02-06
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      • 2014-12-19
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      相关资源
      最近更新 更多