我已经阅读了几个小时的文件,现在我觉得我是用错误的心态来处理这个问题。
我在 hive 里有两张table,我和它们一起看书 (spark.table(table_A))
列的数量和类型相同,但来源不同,因此它们的数据不同。两个表都反映了显示是否满足条件的标志。至少有20列左右,将来可能会增加。
如果表a的第一行是 0 0 1 1 0
表\u b可能是 0 1 0 1 0
,我希望结果是xnor的结果,比较位置,所以:1 0 0 1 1,因为它在第一、第四和第五位置有相同的值
所以我想到了xnor操作,当两个值匹配时,它返回1,否则返回0。
我面临着许多问题,其中之一是我的数据量(现在我正在处理一个1周的样本,它已经达到300mb大关),因此我正在使用pyspark并避免使用pandas,因为它通常不适合内存和/或延迟操作很多。
综上所述,我有两个类型的对象 pyspark.sql.dataframe.DataFrame
,每个都有一张table,到目前为止我最好的是这样的:
df_bitwise = df_flags_A.flag_column_A.bitwiseXOR(df_flags_B.flag_columns_B)
但可悲的是,这回报了 pyspark.sql.column.Column
我不知道如何读取这个结果,也不知道如何用这个来构建一个Dataframe(我希望最终结果是上面操作的20倍,每列一个,每列形成一个Dataframe的列)。
我做错了什么,因为我觉得这不是正确的方法。
暂无答案!
目前还没有任何答案,快来回答吧!