繁体   English   中英

如何编写Join以及Spark DataFrame中的位置(将SQL转换为DataFrame)

[英]How to write Join and where in Spark DataFrame (Converting SQL to DataFrame)

我需要将SQL查询写入DataFrame

SQL查询

A_join_Deals = sqlContext.sql("SELECT * FROM A_transactions LEFT 
JOIN Deals ON (Deals.device = A_transactions.device_id) WHERE 
A_transactions.device_id IS NOT NULL AND A_transactions.device_id != '' AND 
A_transactions.advertiser_app_object_id = '%s'"%(adv_id))

到目前为止编写的代码

val A_join_Deals = Deals.join(A_transactions,Deals("device") === A_transactions("device_id"),"left")

现在我被困在如何写where子句中。

高度赞赏任何建议或帮助。

你可以尝试如下

val A_join_Deals = Deals.join(A_transactions,Deals("device") === A_transactions("device_id"),"left")
      .where(A_transactions("device_id").isNotNull && A_transactions("device_id") =!= "" && A_transactions("advertiser_app_object_id") === s"${adv_id}")

这是你可以做的

where(A_transactions("device_id").isNotNull &&
   A_transactions("device_id") =!= "" && 
   A_transactions("advertiser_app_object_id") === s"${adv_id}%")

如果adv_id是变量而不是Column,则此方法有效

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM