簡體   English   中英

計算 Dataframe Pyspark 中的行數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM