我正在尝试在两个列数不同的表之间执行unionall。
数据样本
电影功能可能性20.379860.5023140.835210.292560.99250.706280.3270.764
MovieidTitleGenres1电视故事(1995)冒险,动画,儿童2朱曼吉(1995)儿童3等待呼气(1995)喜剧,戏剧,浪漫4新娘之父第二部分(1995)喜剧5萨布丽娜(1995)浪漫,喜剧
根目录:
文件1
|-- MovieIdId: integer (nullable = false)
|-- features: Double (nullable = false)
|-- probability: Double (nullable = false)
文件2
|--MovieId: integer (nullable = false)
|--title: String (nullable = false)
|-- genres: String (nullable = false)
代码:`
`val Data = sc.textFile("file:///usr/local/File1").map(_.split(",")).map(p => DataClass(p(0).trim.toInt, p(1).trim, p(2).trim)).toDF()
Data.registerTempTable("Genres")
val Data2 = sc.textFile("file:///usr/local/File2").map(_.split(",")).map(p =>Movie(p(0).trim.toInt, p(1).trim, p(1).trim)).toDF()
Data.registerTempTable("Tags")
val df=sqlContext.sql("SELECT MovieId, title, genres FROM Genres UNION ALL SELECT MovieId, features, probability FROM Tags")
更新:
我想做一个表格,里面有电影ID,特征,概率,类型。
如何合并两个表中的两列而不重复?
1条答案
按热度按时间mbzjlibv1#
我想你想要一个完整的外部连接而不是联合:
或使用sql: