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
,DATE
veyaINTERVAL
ifadesi. -
numBins
: Histogram hesaplaması için bölme sayısını belirten ve 1'den büyük olması gereken birINTEGER
sabit değer. -
cond
: Toplama için satırları filtreleyen isteğe bağlıBOOLEAN
bir ifade.
İadeler
Dönüş değeri, alanları ARRAY
ve STRUCTS
olan ve histogramın bölmelerinin merkezlerini temsil eden bir x
y
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}]