[英]count rows in Dataframe Pyspark
我想對我的 DF 進行一些檢查,為了嘗試它,我正在使用以下代碼:
start = '2020-12-10'
end = datetime.date.today()
country='gb'
df_ua = (spark.table(f'nn_squad7_{country}.fact_table')
.filter(f.col('date_key').between(start,end))
#.filter(f.col('is_client')==1)
.filter(f.col('source')=='tickets')
.filter(f.col('subtype')=='trx')
.filter(f.col('is_trx_ok') == 1)
.select('ticket_id').distinct()
)
output = df_ua.count('ticket_id').distinct()
我收到以下錯誤:
TypeError:count() 接受 1 個位置參數,但給出了 2 個
我不明白為什么我得到它,任何線索?
只需執行df_ua.count()
就足夠了,因為您在上面的行中選擇了不同的ticket_id
。
df.count()
返回 dataframe 中的行數。 它不帶任何參數,例如列名。 它還返回 integer - 您不能在 integer 上調用distinct
。
也許你可以試試這個:
import pyspark.sql.functions as f
start = '2020-12-10'
end = datetime.date.today()
country = 'gb'
df_ua = (spark.table(f'nn_squad7_{country}.fact_table')
.filter(f.col('date_key').between(start, end))
#.filter(f.col('is_client')==1)
.filter(f.col('source')=='tickets')
.filter(f.col('subtype')=='trx')
.filter(f.col('is_trx_ok') == 1)
.select('ticket_id').distinct()
)
output = df_ua.count()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.