Apache spark pyspark中的数据帧联接抛出语法错误
在Pyspark中,我试图加入2个数据帧来调用来自这两个数据帧的所有列Apache spark pyspark中的数据帧联接抛出语法错误,apache-spark,join,pyspark,Apache Spark,Join,Pyspark,在Pyspark中,我试图加入2个数据帧来调用来自这两个数据帧的所有列 Dataframe1: NUMBER|NAME ++++++++++++++++++ 23000|Fairchild 23001|Philips 23002|Sony 23003|Video 23004|Audio 23005|Mobile +++++++++++++++++
Dataframe1:
NUMBER|NAME
++++++++++++++++++
23000|Fairchild
23001|Philips
23002|Sony
23003|Video
23004|Audio
23005|Mobile
+++++++++++++++++++
+++++++++++++++++++
NM|POSNUM
+++++++++++
PH|23000
RS|380094
QT|23002
AO|379962
DS|23004
TX|379964
NS|379965
+++++++++++++++++++
Output
+++++++++++++++++++++++++++++++++++++++
23000|Fairchild|PH|23000
23002|Sony|QT|23002
23004|Audio|DS|23004
++++++++++++++++++++++++++++++++++++++
DataFrame1中的键列=NUMBER,DataFrame2中的键列=POSNUM(两个dataframe中的列名不同。)
代码:
df1.join(df2, df1.NUMBER == df2.POSNUM).show()
raise IllegalArgumentException(s.split(': ', 1)[1], stackTrace)
pyspark.sql.utils.IllegalArgumentException: u'Unsupported class file major version 55'
错误:
df1.join(df2, df1.NUMBER == df2.POSNUM).show()
raise IllegalArgumentException(s.split(': ', 1)[1], stackTrace)
pyspark.sql.utils.IllegalArgumentException: u'Unsupported class file major version 55'
如果我遗漏了什么,请帮助我。这里的错误是您的join语法不正确
df1.join(df2,df1.NUMBER==df2.POSNUM).show()
或者您可以使用:
df1.join(df2,df1['NUMBER']==df2['POSNUM']).show()
引用字段时不引用字段名称。使用NUMBER
等代替“NUMBER”
,如下所示:
df1.join(df2, df1.NUMBER == df2.POSNUM).show()
谢谢Jay,但不幸的是,它抛出的错误是“raise IllegalArgumentException(s.split(“:”,1)[1],stackTrace)pyspark.sql.utils.IllegalArgumentException:u'Unsupported class file major version 55'”。请帮助您是否尝试了
df1.join(df2,df1['NUMBER']==df2['POSNUM']).show()
?谢谢Ravi,但不幸的是,它抛出了错误“raise IllegalArgumentException(s.split(':',1)[1],stackTrace)pyspark.sql.utils.IllegalArgumentException:u'Unsupported class file major version 55'”。请帮助–python df1=spark.read.csv('/FileStore/tables/df1.txt',header=True,inferSchema=True,sep=“|”)df2=spark.read.csv('/FileStore/tables/df2.txt',header=True,inferSchema=True,sep=“|”)df1.join(df2,df1.NUMBER==df2.POSNUM).show()+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----PH23000 | 23000 | 23002 |索尼| QT | 23002 | 23004 |音频| DS | 23004 |+----+----+----+----+----+----您可能有多个版本的java++