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.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 10.2 ve üzeri
expr bölmeleri kullanarak numBins üzerinde bir histogram hesaplar.
Söz dizimi
histogram_numeric ( [ALL | DISTINCT ] expr, numBins ) [ FILTER ( WHERE cond ) ]
Argümanlar
-
expr: İşlevin tüketip histogramını hesapladığı sayısalTIMESTAMP,DATEveyaINTERVALifadesi. -
numBins: Histogram hesaplaması için bölme sayısını belirten ve 1'den büyük olması gereken birINTEGERsabit değer. -
cond: Toplama için satırları filtreleyen isteğe bağlıBOOLEANbir ifade.
İadeler
Dönüş değeri, alanları ARRAY ve STRUCTS olan ve histogramın bölmelerinin merkezlerini temsil eden bir xy değeridir. x türü, expr türüyle aynıdır ve y türü ise DOUBLE şeklindedir.
değerinin numBins artırılması histogram yaklaşık değerini iyileştirerek daha ayrıntılı hale getirir. Ancak, aykırı değerlerin çevresinde artefaktlara sebep olabilir.
Genellikle 20-40 bölme histogramlar için etkilidir, ancak çarpık veya daha küçük veri kümeleri daha fazla bölme gerektirebilir. Bu işlevin tekdüzen olmayan bölme genişliklerine sahip bir histogram oluşturduğunu unutmayın.
Histogramın ortalama kare hatası açısından hiçbir garanti vermemektedir, ancak pratikte diğer bilgi işlem paketleri tarafından üretilen histogramlarla karşılaştırılabilir.
DISTINCT belirtilmesi işlevin yalnızca benzersiz bir expr değer kümesinde çalışmasını sağlar.
Örnekler
> SELECT histogram_numeric(col, 5)
FROM VALUES (0), (1), (2), (10) AS tab(col);
[{"x":0.0,"y":1.0},{"x":1.0,"y":1.0},{"x":2.0,"y":1.0},{"x":10.0,"y":1.0}]
> SELECT histogram_numeric(col, 5)
FROM VALUES (0L), (1L), (2L), (10L) AS tab(col);
[{"x":0,"y":1.0},{"x":1,"y":1.0},{"x":2,"y":1.0},{"x":10,"y":1.0}]
> SELECT histogram_numeric(col, 5)
FROM VALUES (0F), (1F), (2F), (10F) AS tab(col);
[{"x":0.0,"y":1.0},{"x":1.0,"y":1.0},{"x":2.0,"y":1.0},{"x":10.0,"y":1.0}]
> SELECT histogram_numeric(col, 5)
FROM VALUES (0D), (1D), (2D), (10D) AS tab(col);
[{"x":0.0,"y":1.0},{"x":1.0,"y":1.0},{"x":2.0,"y":1.0},{"x":10.0,"y":1.0}]
> SELECT histogram_numeric(col, 5)
FROM VALUES (INTERVAL 0 YEAR), (INTERVAL 1 YEAR), (INTERVAL 2 YEAR),
(INTERVAL 3 YEAR) AS tab(col);
[{"x":0-0,"y":1.0},{"x":1-0,"y":1.0},{"x":2-0,"y":1.0},{"x":3-0,"y":1.0}]
> SELECT histogram_numeric(col, 5)
FROM VALUES (INTERVAL 0 DAY), (INTERVAL 1 DAY), (INTERVAL 2 DAY),
(INTERVAL 3 DAY) AS tab(col);
[{"x":0 00:00:00.000000000,"y":1.0},{"x":1 00:00:00.000000000,"y":1.0},{"x":2 00:00:00.000000000,"y":1.0},{"x":3 00:00:00.000000000,"y":1.0}]
> SELECT histogram_numeric(col, 5)
FROM VALUES (TIMESTAMP '2020-01-01'), (TIMESTAMP'2020-02-01'),
(TIMESTAMP'2020-03-01'), (TIMESTAMP'2020-10-01') AS tab(col)
[{"x":2020-01-01 00:00:00,"y":1.0},{"x":2020-02-01 00:00:00,"y":1.0},{"x":2020-03-01 00:00:00,"y":1.0},{"x":2020-10-01 00:00:00,"y":1.0}]