我有3个 Dataframe df1(EMPLOYEE_INFO),df2(DEPARTMENT_INFO),df3(COMPANY_INFO)
,我想通过连接所有三个 Dataframe 来更新df1中的一个列。列名为FLAG_DEPARTMENT,它位于df1中。我需要设置FLAG_DEPARTMENT='POLITICS'
。在sql中,查询如下所示。
UPDATE [COMPANY_INFO] INNER JOIN ([DEPARTMENT_INFO]
INNER JOIN [EMPLOYEE_INFO] ON [DEPARTMENT_INFO].DEPT_ID = [EMPLOYEE_INFO].DEPT_ID)
ON [COMPANY_INFO].[COMPANY_DEPT_ID] = [DEPARTMENT_INFO].[DEP_COMPANYID]
SET EMPLOYEE_INFO.FLAG_DEPARTMENT = "POLITICS";
如果这三个表的列中的值匹配,我需要在employee_Info表中设置FLAG_DEPARTMENT='POLITICS'
我怎么能在pyspark中实现同样的事情呢?我刚刚开始学习pyspark,没有那么多深度的知识?
1条答案
按热度按时间kqlmhetl1#
您可以使用
join
的链,在其顶部有一个select
。假设您有下列pyspark
DataFrame
s:然后,您可以执行下列程式码,将
flag_department
数据行加入employee_df
:新的
employee_df
将是: