Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.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
Scala 如何创建第三列包含按第一个数据帧id过滤的第二个数据帧数组的其他数据帧?_Scala_Apache Spark_Hive - Fatal编程技术网

Scala 如何创建第三列包含按第一个数据帧id过滤的第二个数据帧数组的其他数据帧?

Scala 如何创建第三列包含按第一个数据帧id过滤的第二个数据帧数组的其他数据帧?,scala,apache-spark,hive,Scala,Apache Spark,Hive,我有两个带有人地址的数据帧。 表包含可靠的地址源和其他不受信任的地址源。 我们想知道地址是真人的可证明性是什么 我正在使用Spark 1.5 我有两个数据帧: DF1 COL1 | COL2 00001 | Street 1 00001 | Street 2 00002 | Street 1 00002 | Street 2 00002 | Street 1 COL1 | COL2 00001 | Street 1 00001 | S

我有两个带有人地址的数据帧。 表包含可靠的地址源和其他不受信任的地址源。 我们想知道地址是真人的可证明性是什么

我正在使用Spark 1.5

我有两个数据帧:

DF1

COL1  | COL2 
00001 | Street 1    
00001 | Street 2    
00002 | Street 1    
00002 | Street 2    
00002 | Street 1    
COL1  | COL2   
00001 | Street 1    
00001 | Street 2    
00001 | Street 2    
00001 | Street 2    
00002 | Street 1    
00002 | Street 2    
00002 | Street 1   
DF2

COL1  | COL2 
00001 | Street 1    
00001 | Street 2    
00002 | Street 1    
00002 | Street 2    
00002 | Street 1    
COL1  | COL2   
00001 | Street 1    
00001 | Street 2    
00001 | Street 2    
00001 | Street 2    
00002 | Street 1    
00002 | Street 2    
00002 | Street 1   
我的问题是如何转换为这个数据帧/地图/其他?我的意思是转换成如下代码

COL1  | COL2        | COL3 (Array or Vector)   
00001 | Street 1    | [00001 | Street 1, 00001 | Street 2, 00001 | Street 2, 00001 | Street 2]    
00001 | Street 2    | [00001 | Street 1, 00001 | Street 2, 00001 | Street 2, 00001 | Street 2]    
00002 | Street 1    | [00002 | Street 1, 00002 | Street 2, 00002 | Street 1]    
00002 | Street 2    | [00002 | Street 1, 00002 | Street 2, 00002 | Street 1]   
00002 | Street 1    | [00002 | Street 1, 00002 | Street 2, 00002 | Street 1]   

最后一个表只是一个示例,我需要独立于文件格式表连接两个数据帧。我们需要处理第三个表的数据以获取统计信息。

我已经使用spark 1.6尝试了下面的代码

假设COL1是一个字符串,我编写了这个解决方案

步骤:
  • DF1
    转换为RDD[(字符串,字符串)]
  • DF2
    by
    COL1
  • Step-1
    的结果与
    Step-2
  • 将步骤3的结果映射到RDD[行]
  • 定义结构
  • 创建一个新的数据帧
  • 代码: 在这种情况下,有一种可能的解决方案,但它包括从数据帧创建RDD,将它们组合,然后将它们转换回数据帧。