Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime 10.2 a vyšší
Vypočítá histogram pomocí exprnumBins intervalů.
Syntaxe
histogram_numeric ( [ALL | DISTINCT ] expr, numBins ) [ FILTER ( WHERE cond ) ]
Argumenty
-
expr: Číselný, ,TIMESTAMPneboDATEvýraz,INTERVALkterý funkce využívá a vypočítá histogram. -
numBinsINTEGER: Literál, který musí být větší než 1, určuje počet intervalů pro výpočet histogramu. -
cond: VolitelnýBOOLEANvýraz, který filtruje řádky pro agregaci.
Návraty
Návratová hodnota je ARRAY z STRUCTS s poli x a y, které představují středy tříd histogramu. Typ x je stejný jako typ expr, a typ y je DOUBLE.
Zvýšení hodnoty numBins zpřesnění aproximace histogramu, takže jemnější. Může ale zavést artefakty kolem odlehlých hodnot.
U histogramů je obvykle efektivních 20 až 40 intervalů, i když nerovnoměrné nebo menší datové sady můžou vyžadovat více intervalů. Všimněte si, že tato funkce vytvoří histogram s nejednotnými šířkami intervalů.
Nenabízí žádné záruky z hlediska střední-kvadratická chyba histogramu, ale v praxi je srovnatelné s histogramy vytvořenými jinými výpočetními balíčky.
Když zadáte DISTINCT, bude funkce fungovat pouze s jedinečnou sadou expr hodnot.
Příklady
> 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}]