Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 是否可以通过Spark进行自定义联接(而不是通过主键)?_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 是否可以通过Spark进行自定义联接(而不是通过主键)?

Apache spark 是否可以通过Spark进行自定义联接(而不是通过主键)?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我可以通过它们的主键很好地连接RDD对,但是可以基于value对象的某些属性进行连接吗 例如,假设我有一个列表,或两个对象的配对列表 TV_station_information String station_name String call_sign View_information String timeBlock String station_name int number_of_viewers 我想加入这两个列表,其中TV_station_i

我可以通过它们的主键很好地连接RDD对,但是可以基于value对象的某些属性进行连接吗

例如,假设我有一个列表,或两个对象的配对列表

TV_station_information
    String station_name
    String call_sign


View_information
    String timeBlock
    String station_name
    int number_of_viewers
我想加入这两个列表,其中TV_station_information station_名称与View_information station_名称匹配

我无法制作查看信息站名称的键,因为每个站都有大量的时间块。此外,我还通过Spark将View_信息表连接到其他表中


任何帮助都会非常棒。

因为Spark需要将具有相同键的项随机移动到同一分区,所以需要将该键作为pairdd中元组的第一个元素。对于您的示例,可能最简单的方法是将RDD转换为具有相同的主键,并保持整个案例类a的值。如果您好奇的cogroupeddd.scala有一些实现细节。

完全支持重复键:)spark java是一个与apache spark无关的不同项目。