簡體   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