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

使用scala spark中的第一列连接两个数据集

闾丘照
2023-03-14
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

import scala.io.Source

object spark {
  def main(args: Array[String]): Unit = {
    val sparkConf = new SparkConf().setAppName("FindFrequentPairs").setMaster("local[2]")
    val sc = new SparkContext(sparkConf)
    val text1: RDD[String] = sc.textFile(args(0))
    val text2: RDD[String] = sc.textFile(args(1))

    val joined = text1.join(text2)
('"Please Like Me" (2013) {Rhubarb and Custard (#1.1)}', '$haniqua')
('"Please Like Me" (2013) {Spanish Eggs (#1.5)}', '$haniqua')
('A Woman of Distinction (1950)  (uncredited)', '& Ashour, Lucienne')
('Around the World (1943)  (uncredited)', '& Ashour, Lucienne')
('Chain Lightning (1950)  (uncredited)', '& Ashour, Lucienne')

共有1个答案

车靖琪
2023-03-14

您必须首先为数据集创建PairRDD,然后应用联接转换。您的数据集看起来不准确。

请考虑下面的例子。

**Dataset1**

a 1
b 2
c 3

**Dataset2**

a 8
b 4

在Scala中,您的代码应该如下所示

val pairRDD1 = sc.textFile("/path_to_yourfile/first.txt").map(line => (line.split(" ")(0),line.split(" ")(1)))

val pairRDD2 = sc.textFile("/path_to_yourfile/second.txt").map(line => (line.split(" ")(0),line.split(" ")(1)))

val joinRDD = pairRDD1.join(pairRDD2)

joinRDD.collect

下面是scala shell的结果

res10: Array[(String, (String, String))] = Array((a,(1,8)), (b,(2,4)))
 类似资料:
  • 我有以下数据框: 我想用列创建一个新的数据帧,并从开始连接每两列,因此最终表如下所示:

  • 问题内容: 我正在使用两个MySQL数据库。我想将DB1中的表与SQLAlchemy中DB2中的表连接起来。 我在sqlalchemy中创建数据访问层时正在使用automap_base,如下所示… 我的表类就像 我正在这样加入 我收到这样的错误: 我们在数据库db1中创建了表t1,在数据库db2中创建了表t2。 是否可以在sqlalchemy ORM中的两个数据库表之间进行联接?如何实现呢? 问题

  • df1有每月时间索引,df2有季度时间索引。df1和df2有不同的行数和列数,我想:(1)并排连接它们并保持它们的索引。(2)输出到excel文件。 我尝试过pd.concat,但是这种方法连接基于我不想要的数据帧索引之一的数据帧 excel中的预期结果:

  • 我正在开发一个基于SAAS的站点,我必须将两个DBs中的两个表连接起来,比如说DB1中的table1和DB2中的table2。我必须使用cakephp中的join从表1和表2获取匹配记录,但它会抛出如下错误: 错误:SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT命令拒绝用户'dbname'@'localhost'访问表'table_name'。 有谁能解释一下如何使用c

  • 假设我有两个数据帧,具有不同级别的信息,如下所示: 我想加入df1和df2,并将“值”信息传递给df2:一天中的每一小时都将获得“日”值。 预期产出:

  • 问题内容: 我有2个数据框: restaurant_ids_dataframe 和 restaurant_review_frame 我想使用熊猫中的DataFrame.join()命令将这两个DataFrame加入一个单一的数据框中。 我尝试了以下代码行: 但是,当我尝试这样做时,出现以下错误: 我对熊猫很陌生,不知道就执行join语句而言我在做什么错。 任何帮助将非常感激。 问题答案: 您可以使