Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirtilen sütunda yer alan bir zaman damgasına göre satırları bir veya daha fazla zaman penceresine gruplayabilirsiniz. Pencere başlangıçları kapsayıcıdır, ancak pencere uçları özeldir, örneğin 12:05 penceresinde [12:05,12:10) olur ancak içinde [12:00,12:05)olmaz. Windows mikrosaniye duyarlığı destekleyebilir. Windows aylar sırasıyla desteklenmez.
Zaman sütunu değeri pyspark.sql.types.TimestampTypeolmalıdır.
Süreler dize olarak sağlanır; örneğin ,'1 saniye', '1 gün 12 saat', '2 dakika'. Geçerli aralık dizeleri :'week', 'day', 'hour', 'minute', 'second', 'milisaniye', 'microsecond'.
slideDuration sağlanmazsa, pencereler yuvarlanır.
startTime, pencere aralıklarının başlatıldığı 1970-01-01 00:00:00 UTC ile ilgili uzaklıktır. Örneğin, saati 15 dakika geçe başlayan saatlik yuvarlanan pencerelerin olması için, örneğin 12:15-13:15, 13:15-14:15... olarak startTimesağlayın15 minutes.
Çıkış sütunu, iç içe 'start' ve 'end' sütunlarını içeren varsayılan olarak 'window' adlı bir yapı olacaktır; burada 'start' ve 'end' değerleri olacaktır pyspark.sql.types.TimestampType.
Karşılık gelen Databricks SQL işlevi için bkz window . gruplandırma ifadesi.
Sözdizimi
from pyspark.sql import functions as dbf
dbf.window(timeColumn=<timeColumn>, windowDuration=<windowDuration>, slideDuration=<slideDuration>, startTime=<startTime>)
Parametreler
| Parametre | Türü | Description |
|---|---|---|
timeColumn |
pyspark.sql.Column veya str |
Zamana göre pencereleme için zaman damgası olarak kullanılacak sütun veya ifade. Zaman sütunu TimestampType veya TimestampNTZType olmalıdır. |
windowDuration |
literal string |
Pencerenin genişliğini belirten bir dize, örneğin10 minutes, . 1 second Geçerli süre tanımlayıcılarını denetleyin org.apache.spark.unsafe.types.CalendarInterval . Sürenin sabit bir süre olduğunu ve zaman içinde takvime göre değişmediğini unutmayın. Örneğin, 1 day takvim günü değil her zaman 86.400.000 milisaniye anlamına gelir. |
slideDuration |
literal string, optional |
Her slideDurationyeni pencere oluşturulur. değerinden küçük veya eşit windowDurationolmalıdır. Geçerli süre tanımlayıcılarını denetleyin org.apache.spark.unsafe.types.CalendarInterval . Bu süre aynı şekilde mutlaktır ve takvime göre değişiklik göstermez. |
startTime |
literal string, optional |
Pencere aralıklarının başlatıldığı 1970-01-01 00:00:00 UTC ile ilgili uzaklık. Örneğin, saati 15 dakika geçe başlayan saatlik yuvarlanan pencerelerin olması için, örneğin 12:15-13:15, 13:15-14:15... olarak startTimesağlayın15 minutes. |
İade
pyspark.sql.Column: hesaplanan sonuçlar için sütun.
Örnekler
import datetime
from pyspark.sql import functions as dbf
df = spark.createDataFrame([(datetime.datetime(2016, 3, 11, 9, 0, 7), 1)], ['dt', 'v'])
df2 = df.groupBy(dbf.window('dt', '5 seconds')).agg(dbf.sum('v'))
df2.show(truncate=False)
df2.printSchema()