apache-spark - 数据框加入pyspark抛出语法错误
问题描述
在 Pyspark 中,我试图加入 2 个数据框来调用这两个数据框中的所有列。
DataFrame1 中的 Key 列 = NUMBER,DataFrame2 中的 KeyColumn = POSNUM(两个数据框中的不同列名。)
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
++++++++++++++++++++++++++++++++++++++
代码:
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()
推荐阅读
- jmeter - 使用用户定义变量时,JMeter 只为一个用户运行,而不是 ThreadGroup 中定义的线程数
- php - Sweetalert2 删除确认
- gitlab-ci - gitlab-runner - 针对多个跑步者运行作业
- json - 如何将结构作为参数传递给函数
- javascript - 使用 Vue 路由器导航时防止刷新索引页面
- firebase - FirebaseError:分析:Firebase 配置中的“measurementId”字段为空
- mysql - 如何将以下 SQL 查询转换为 Laravel 查询?
- python-3.x - Python 3.8:使用 del 后类对象数据仍然存在
- javascript - 为什么 console.log 显示错误属性?
- flutter - Flutter:如何运行一个后台任务来监听数据队列?