Pyspark 减去而不选择列
Pyspark substract without selecting column
我有两个table
订单 - 具有以下列
order_id、order_date、order_customer_id、order_status
客户 - 有以下列
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')
我有两个table
订单 - 具有以下列
order_id、order_date、order_customer_id、order_status
客户 - 有以下列
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')