Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik: Databricks SQL
Databricks Runtime 10.2 és újabb
Hisztogramot számít ki a expr
numBins
darab tároló használatával.
Szintaxis
histogram_numeric ( [ALL | DISTINCT ] expr, numBins ) [ FILTER ( WHERE cond ) ]
Argumentumok
-
expr
: Egy numerikus,TIMESTAMP
,DATE
vagyINTERVAL
kifejezés, amelyen a függvény meghatározza és kiszámítja a hisztogramot. -
numBins
: EgyINTEGER
literál, amelynek nagyobbnak kell lennie 1-nél, megadva a hisztogram kiszámításához szükséges tárolók számát. -
cond
: Nem kötelezőBOOLEAN
kifejezés, amely összesítésre szűri a sorokat.
Visszaküldések
A visszatérési érték egy ARRAY
típusú STRUCTS
, amelynek mezői x
és y
a hisztogram tárolóinak középpontját ábrázolják. A x
típusa megegyezik a expr
típusával, és a y
típusa DOUBLE
.
A numBins
értékének növelése finomítja a hisztogram közelítését, ezáltal részletesebbé téve azt. Azonban a kiugró értékek körül is létrehozhat összetevőket.
A hisztogramok esetében általában 20–40 tároló érvényes, bár a ferde vagy kisebb adatkészletek több tárolót igényelhetnek. Vegye figyelembe, hogy ez a függvény nem egységes tárolószélességű hisztogramot hoz létre.
A hisztogram közép-négyzetes hibájára vonatkozóan nem nyújt garanciát, de a gyakorlatban összehasonlítható más számítási csomagok által előállított hisztogramokkal.
A beállítással DISTINCT
a függvény csak egyedi értékkészleten expr
működik.
Példák
> 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}]