我想知道在哪里提到表的列名,这是连接的键。
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
中的对象来联接tablename
的colc
,并且只返回cola
和colb
作为联接结果。
(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做得很丑陋,而且笛卡
现在我们已经在我们的系统上安装并配置了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活动 = = 提前感谢。任何帮助都将不胜感激。