当前位置: 首页 > 知识库问答 >
问题:

RDD接合与CassandRatable

长孙作人
2023-03-14

我想知道在哪里提到表的列名,这是连接的键。

共有1个答案

商开济
2023-03-14

JoinWithCassandraTable只从C*中提取与RDD条目匹配的分区键,因此它只对分区键起作用。

文档如下:https://github.com/datastax/spark-cassandra-connector/blob/master/doc/2_loading.md#using-joinwithcassandratable

API文档在这里

def joinWithCassandraTable[R](
  keyspaceName: String, 
  tableName: String, 
  selectedColumns: ColumnSelector = AllColumns, 
  joinColumns: ColumnSelector = PartitionKeyColumns)
joinWithCassandraTable[R](keyspace, tableName).select(AllColumns).on(PartitionKeyColumns)

这两个调用是等价的

你的例子

RDD.joinWithCassandraTable(KEYSPACE, tablename, SomeColumns("cola","colb")) .on(SomeColumns("colc"))

使用rdd中的对象来联接tablenamecolc,并且只返回colacolb作为联接结果。

 类似资料:
  • (Scala特定问题。) 虽然Spark docs鼓励尽可能使用DataFrame API,但如果DataFrame API不够,则通常会选择使用RDD API还是使用UDF。这两个备选方案之间是否存在固有的性能差异? RDD和UDF的相似之处在于,它们都不能从催化剂和钨优化中获益。是否有其他开销,如果有,这两种方法之间是否有区别? 举一个具体的例子,假设我有一个DataFrame,其中包含一列具

  • 问题内容: 在我的猪代码中,我这样做: 我想用spark做同样的事情。但是,不幸的是,我看到我必须成对进行: 是否有联合运算符可以让我一次对多个rdds进行操作: 例如 这是一个方便的问题。 问题答案: 如果这些是RDD,则可以使用方法: 没有等效项,但这只是一个简单的问题: 如果要在RDD上大量使用和重新创建,可能是避免与准备执行计划的成本相关的问题的更好选择:

  • 问题内容: 我要加入两个RDD,它们看起来像这样: 碰巧的情况是的键值rdd1是唯一的,并且的元组键值rdd2也是唯一的。我想加入两个数据集,以便获得以下rdd: 实现此目的的最有效方法是什么?这是我想到的一些想法。 选项1: 选项2: 选项1将收集所有数据以掌握,对吗?因此,如果rdd1很大(在我的情况下它相对较大,虽然比rdd2小一个数量级),但这似乎不是一个好选择。选项2做得很丑陋,而且笛卡

  • RDD

    现在我们已经在我们的系统上安装并配置了PySpark,我们可以在Apache Spark上用Python编程。 但在此之前,让我们了解Spark - RDD中的一个基本概念。 RDD代表Resilient Distributed Dataset ,它们是在多个节点上运行和操作以在集群上进行并行处理的元素。 RDD是不可变元素,这意味着一旦创建了RDD,就无法对其进行更改。 RDD也具有容错能力,因

  • 本质上,我想对dStream中的每个元素应用一组函数。目前,我正在为pyspark.streaming.dstream使用“map”函数。根据文档,我的方法似乎是正确的。http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html#pyspark.streaming.dstream map(f,preservesPart

  • 我通读了地图和地图分区之间的理论差异, 但我下面描述的问题更多地基于GC活动 = = 提前感谢。任何帮助都将不胜感激。