Pyspark 减去而不选择列

Pyspark substract without selecting column

我有两个table

  1. 订单 - 具有以下列

    order_id、order_date、order_customer_id、order_status

  2. 客户 - 有以下列

    customer_id、customer_fname、customer_lname

我想使用 dataframe 编写代码,这相当于在不创建 table

的情况下遵循 sql 查询
SELECT customer_fname, customer_lname
FROM  customer
WHERE customer_id NOT IN (SELECT order_customer_id
                          from order)

我怎样才能做到这一点。

来自 pyspark v2.1.1:

使用 'left_anti' 连接删除另一个 table:

中的元素
df_result = df_customers.join(df_orders, df_customers.customer_id == df_orders.order_customer_id, 'left_anti')
df_result = df_result.select('customer_fname', 'customer_lname')

pyspark v2.1.1 之前:

使用 'left_outer' 连接和删除空值:

df_result = df_customers.join(df_orders, df_customers.customer_id == df_orders.order_customer_id, 'left_outer')
df_result = df_result.where('order_id is null')
df_result = df_result.select('customer_fname', 'customer_lname')