Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
SparkR in Databricks ist in Databricks Runtime 16.0 und höher veraltet. Databricks empfiehlt stattdessen die Verwendung von sparklyr.
In diesem Artikel wird beschrieben, wie Sie R-Pakete wie SparkR-, Sparklyr-und Dplyr- verwenden, um mit R data.frame
s, Spark DataFramesund Speichertabellen zu arbeiten.
Beachten Sie, dass Sie während der Arbeit mit SparkR, Sparklyr und Dplyr feststellen können, dass Sie einen bestimmten Vorgang mit all diesen Paketen abschließen können, und Sie können das Paket verwenden, mit dem Sie am besten vertraut sind. Um beispielsweise eine Abfrage auszuführen, können Sie Funktionen wie SparkR::sql
, sparklyr::sdf_sql
und dplyr::select
aufrufen. Manchmal können Sie einen Vorgang mit nur einem oder zwei dieser Pakete ausführen, und der von Ihnen ausgewählte Vorgang hängt von Ihrem Nutzungsszenario ab. Beispielsweise unterscheidet sich der Aufruf von sparklyr::sdf_quantile
geringfügig vom Aufruf von dplyr::percentile_approx
, auch wenn beide Funktionen Quantile berechnen.
Sie können SQL als Brücke zwischen SparkR und Sparklyr verwenden. Sie können z. B. SparkR::sql
verwenden, um Tabellen abzufragen, die Sie mit Sparklyr erstellen. Sie können sparklyr::sdf_sql
verwenden, um Tabellen abzufragen, die Sie mit SparkR erstellen. Und dplyr
Code wird immer im Arbeitsspeicher in SQL übersetzt, bevor er ausgeführt wird. Siehe auch API-Interoperabilität und SQL Translation.
Laden von SparkR, Sparklyr und dplyr
Die SparkR-, Sparklyr- und Dplyr-Pakete sind in der Databricks-Runtime enthalten, die auf Azure Databricks Clusterninstalliert ist. Daher müssen Sie die übliche install.package
nicht aufrufen, bevor Sie mit dem Aufrufen dieser Pakete beginnen können. Jedoch müssen Sie diese Pakete trotzdem zunächst mit library
laden. Führen Sie z. B. in einem R--Notizbuch in einem Azure Databricks-Arbeitsbereich den folgenden Code in einer Notizbuchzelle aus, um SparkR, sparklyr und dplyr zu laden:
library(SparkR)
library(sparklyr)
library(dplyr)
Verbinden von Sparklyr mit einem Cluster
Nachdem Sie Sparklyr geladen haben, müssen Sie sparklyr::spark_connect
aufrufen, um eine Verbindung mit dem Cluster herzustellen und die databricks
Verbindungsmethode anzugeben. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um eine Verbindung mit dem Cluster herzustellen, der das Notizbuch hosten soll:
sc <- spark_connect(method = "databricks")
Im Gegensatz dazu richtet ein Azure Databricks-Notizbuch bereits eine SparkSession
für die Verwendung mit SparkR auf dem Cluster ein, sodass Sie SparkR::sparkR.session
nicht aufrufen müssen, bevor Sie mit dem Aufrufen von SparkR beginnen können.
Hochladen einer JSON-Datendatei in Ihren Arbeitsbereich
Viele der Codebeispiele in diesem Artikel basieren auf Daten an einem bestimmten Ort in Ihrem Azure Databricks-Arbeitsbereich mit bestimmten Spaltennamen und Datentypen. Die Daten für dieses Codebeispiel stammen aus einer JSON-Datei namens book.json
aus GitHub. So rufen Sie diese Datei ab, und laden Sie sie in Ihren Arbeitsbereich hoch:
- Wechseln Sie zu der books.json Datei auf GitHub, und verwenden Sie einen Text-Editor, um den Inhalt in eine Datei mit dem Namen
books.json
irgendwo auf Ihrem lokalen Computer zu kopieren. - Klicken Sie in der Seitenleiste Ihres Azure Databricks-Arbeitsbereichs auf Katalog.
- Klicken Sie auf Tabelleerstellen.
- Legen Sie auf der Registerkarte Datei hochladen die Datei
books.json
von Ihrem lokalen Computer auf dem Feld Zum Hochladen ablegen ab. Oder wählen Sie Zum Durchsuchen klicken aus, und navigieren Sie zu der Dateibooks.json
von Ihrem lokalen Computer.
Standardmäßig lädt Azure Databricks Ihre lokale books.json
Datei in den DBFS- Speicherort in Ihrem Arbeitsbereich mit dem Pfad /FileStore/tables/books.json
hoch.
Klicken Sie nicht auf "Tabelle mit UI erstellen" oder "Tabelle im Notizbuch erstellen". Die Codebeispiele in diesem Artikel verwenden die Daten in der hochgeladenen books.json
Datei an diesem DBFS-Speicherort.
Lesen der JSON-Daten in einem DataFrame
Verwenden Sie sparklyr::spark_read_json
, um die hochgeladene JSON-Datei in einen DataFrame zu lesen, die Verbindung, den Pfad zur JSON-Datei und einen Namen für die interne Tabellendarstellung der Daten anzugeben. In diesem Beispiel müssen Sie angeben, dass die book.json
Datei mehrere Zeilen enthält. Die Angabe des Spaltenschemas hier ist optional. Andernfalls leitet Sparklyr standardmäßig das Schema der Spalten ab. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um die Daten der hochgeladenen JSON-Datei in einen DataFrame namens jsonDF
zu lesen.
jsonDF <- spark_read_json(
sc = sc,
name = "jsonTable",
path = "/FileStore/tables/books.json",
options = list("multiLine" = TRUE),
columns = c(
author = "character",
country = "character",
imageLink = "character",
language = "character",
link = "character",
pages = "integer",
title = "character",
year = "integer"
)
)
Drucken der ersten Zeilen eines DataFrame
Sie können SparkR::head
, SparkR::show
oder sparklyr::collect
verwenden, um die ersten Zeilen eines DataFrames zu drucken. Standardmäßig druckt head
die ersten sechs Zeilen standardmäßig. show
und collect
drucken die ersten 10 Zeilen. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um die ersten Zeilen des DataFrame mit dem Namen jsonDF
zu drucken:
head(jsonDF)
# Source: spark<?> [?? x 8]
# author country image…¹ langu…² link pages title year
# <chr> <chr> <chr> <chr> <chr> <int> <chr> <int>
# 1 Chinua Achebe Nigeria images… English "htt… 209 Thin… 1958
# 2 Hans Christian Andersen Denmark images… Danish "htt… 784 Fair… 1836
# 3 Dante Alighieri Italy images… Italian "htt… 928 The … 1315
# 4 Unknown Sumer and Akk… images… Akkadi… "htt… 160 The … -1700
# 5 Unknown Achaemenid Em… images… Hebrew "htt… 176 The … -600
# 6 Unknown India/Iran/Ir… images… Arabic "htt… 288 One … 1200
# … with abbreviated variable names ¹imageLink, ²language
show(jsonDF)
# Source: spark<jsonTable> [?? x 8]
# author country image…¹ langu…² link pages title year
# <chr> <chr> <chr> <chr> <chr> <int> <chr> <int>
# 1 Chinua Achebe Nigeria images… English "htt… 209 Thin… 1958
# 2 Hans Christian Andersen Denmark images… Danish "htt… 784 Fair… 1836
# 3 Dante Alighieri Italy images… Italian "htt… 928 The … 1315
# 4 Unknown Sumer and Ak… images… Akkadi… "htt… 160 The … -1700
# 5 Unknown Achaemenid E… images… Hebrew "htt… 176 The … -600
# 6 Unknown India/Iran/I… images… Arabic "htt… 288 One … 1200
# 7 Unknown Iceland images… Old No… "htt… 384 Njál… 1350
# 8 Jane Austen United Kingd… images… English "htt… 226 Prid… 1813
# 9 Honoré de Balzac France images… French "htt… 443 Le P… 1835
# 10 Samuel Beckett Republic of … images… French… "htt… 256 Moll… 1952
# … with more rows, and abbreviated variable names ¹imageLink, ²language
# ℹ Use `print(n = ...)` to see more rows
collect(jsonDF)
# A tibble: 100 × 8
# author country image…¹ langu…² link pages title year
# <chr> <chr> <chr> <chr> <chr> <int> <chr> <int>
# 1 Chinua Achebe Nigeria images… English "htt… 209 Thin… 1958
# 2 Hans Christian Andersen Denmark images… Danish "htt… 784 Fair… 1836
# 3 Dante Alighieri Italy images… Italian "htt… 928 The … 1315
# 4 Unknown Sumer and Ak… images… Akkadi… "htt… 160 The … -1700
# 5 Unknown Achaemenid E… images… Hebrew "htt… 176 The … -600
# 6 Unknown India/Iran/I… images… Arabic "htt… 288 One … 1200
# 7 Unknown Iceland images… Old No… "htt… 384 Njál… 1350
# 8 Jane Austen United Kingd… images… English "htt… 226 Prid… 1813
# 9 Honoré de Balzac France images… French "htt… 443 Le P… 1835
# 10 Samuel Beckett Republic of … images… French… "htt… 256 Moll… 1952
# … with 90 more rows, and abbreviated variable names ¹imageLink, ²language
# ℹ Use `print(n = ...)` to see more rows
Ausführen von SQL-Abfragen sowie Schreiben in und Lesen aus einer Tabelle
Sie können Dplyr-Funktionen verwenden, um SQL-Abfragen in einem DataFrame auszuführen. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um dplyr::group_by
und dployr::count
zum Abrufen der Anzahl nach Autor aus dem DataFrame namens jsonDF
zu verwenden. Verwenden Sie dplyr::arrange
und dplyr::desc
, um das Ergebnis in absteigender Reihenfolge nach Anzahl zu sortieren. Drucken Sie dann standardmäßig die ersten 10 Zeilen.
group_by(jsonDF, author) %>%
count() %>%
arrange(desc(n))
# Source: spark<?> [?? x 2]
# Ordered by: desc(n)
# author n
# <chr> <dbl>
# 1 Fyodor Dostoevsky 4
# 2 Unknown 4
# 3 Leo Tolstoy 3
# 4 Franz Kafka 3
# 5 William Shakespeare 3
# 6 William Faulkner 2
# 7 Gustave Flaubert 2
# 8 Homer 2
# 9 Gabriel García Márquez 2
# 10 Thomas Mann 2
# … with more rows
# ℹ Use `print(n = ...)` to see more rows
Sie können dann sparklyr::spark_write_table
verwenden, um das Ergebnis in eine Tabelle in Azure Databricks zu schreiben. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um die Abfrage erneut auszuführen und dann das Ergebnis in eine Tabelle mit dem Namen json_books_agg
zu schreiben:
group_by(jsonDF, author) %>%
count() %>%
arrange(desc(n)) %>%
spark_write_table(
name = "json_books_agg",
mode = "overwrite"
)
Um zu überprüfen, ob die Tabelle erstellt wurde, können Sie sparklyr::sdf_sql
zusammen mit SparkR::showDF
verwenden, um die Tabellendaten anzuzeigen. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um die Tabelle in einem DataFrame abzufragen, und verwenden Sie dann sparklyr::collect
, um die ersten 10 Zeilen des DataFrame standardmäßig zu drucken:
collect(sdf_sql(sc, "SELECT * FROM json_books_agg"))
# A tibble: 82 × 2
# author n
# <chr> <dbl>
# 1 Fyodor Dostoevsky 4
# 2 Unknown 4
# 3 Leo Tolstoy 3
# 4 Franz Kafka 3
# 5 William Shakespeare 3
# 6 William Faulkner 2
# 7 Homer 2
# 8 Gustave Flaubert 2
# 9 Gabriel García Márquez 2
# 10 Thomas Mann 2
# … with 72 more rows
# ℹ Use `print(n = ...)` to see more rows
Sie können auch sparklyr::spark_read_table
verwenden, um eine ähnliche Aktion auszuführen. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um den vorherigen DataFrame mit dem Namen jsonDF
in einem DataFrame abzufragen, und verwenden Sie dann sparklyr::collect
, um die ersten 10 Zeilen des DataFrame standardmäßig zu drucken:
fromTable <- spark_read_table(
sc = sc,
name = "json_books_agg"
)
collect(fromTable)
# A tibble: 82 × 2
# author n
# <chr> <dbl>
# 1 Fyodor Dostoevsky 4
# 2 Unknown 4
# 3 Leo Tolstoy 3
# 4 Franz Kafka 3
# 5 William Shakespeare 3
# 6 William Faulkner 2
# 7 Homer 2
# 8 Gustave Flaubert 2
# 9 Gabriel García Márquez 2
# 10 Thomas Mann 2
# … with 72 more rows
# ℹ Use `print(n = ...)` to see more rows
Hinzufügen von Spalten und Berechnen von Spaltenwerten in einem DataFrame
Sie können Dplyr-Funktionen verwenden, um Datenframes Spalten hinzuzufügen und die Werte der Spalten zu berechnen.
Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um den Inhalt des DataFrame mit dem Namen jsonDF
abzurufen. Verwenden Sie dplyr::mutate
, um eine Spalte mit dem Namen today
hinzuzufügen, und füllen Sie diese neue Spalte mit dem aktuellen Zeitstempel aus. Schreiben Sie diese Inhalte dann in einen neuen DataFrame mit dem Namen withDate
und verwenden Sie dplyr::collect
, um die ersten 10 Zeilen des neuen DataFrame standardmäßig anzuzeigen.
Anmerkung
dplyr::mutate
akzeptiert nur Argumente, die den integrierten Funktionen von Hive (auch als UDFs bezeichnet) und integrierten Aggregatfunktionen (auch als UDAFs bezeichnet) entsprechen. Allgemeine Informationen dazu finden Sie unter Hive-Funktionen. Informationen zu den datumsbezogenen Funktionen in diesem Abschnitt finden Sie unter Datumsfunktionen.
withDate <- jsonDF %>%
mutate(today = current_timestamp())
collect(withDate)
# A tibble: 100 × 9
# author country image…¹ langu…² link pages title year today
# <chr> <chr> <chr> <chr> <chr> <int> <chr> <int> <dttm>
# 1 Chinua A… Nigeria images… English "htt… 209 Thin… 1958 2022-09-27 21:32:59
# 2 Hans Chr… Denmark images… Danish "htt… 784 Fair… 1836 2022-09-27 21:32:59
# 3 Dante Al… Italy images… Italian "htt… 928 The … 1315 2022-09-27 21:32:59
# 4 Unknown Sumer … images… Akkadi… "htt… 160 The … -1700 2022-09-27 21:32:59
# 5 Unknown Achaem… images… Hebrew "htt… 176 The … -600 2022-09-27 21:32:59
# 6 Unknown India/… images… Arabic "htt… 288 One … 1200 2022-09-27 21:32:59
# 7 Unknown Iceland images… Old No… "htt… 384 Njál… 1350 2022-09-27 21:32:59
# 8 Jane Aus… United… images… English "htt… 226 Prid… 1813 2022-09-27 21:32:59
# 9 Honoré d… France images… French "htt… 443 Le P… 1835 2022-09-27 21:32:59
# 10 Samuel B… Republ… images… French… "htt… 256 Moll… 1952 2022-09-27 21:32:59
# … with 90 more rows, and abbreviated variable names ¹imageLink, ²language
# ℹ Use `print(n = ...)` to see more rows
Verwenden Sie nun dplyr::mutate
, um dem Inhalt des withDate
DataFrame zwei weitere Spalten hinzuzufügen. Die neuen spalten month
und year
enthalten den numerischen Monat und das Jahr aus der Spalte today
. Schreiben Sie dann diese Inhalte in einen neuen DataFrame mit dem Namen withMMyyyy
und verwenden Sie dplyr::select
in Verbindung mit dplyr::collect
, um standardmäßig die author
, title
, month
und year
Spalten der ersten zehn Zeilen des neuen DataFrame auszudrucken.
withMMyyyy <- withDate %>%
mutate(month = month(today),
year = year(today))
collect(select(withMMyyyy, c("author", "title", "month", "year")))
# A tibble: 100 × 4
# author title month year
# <chr> <chr> <int> <int>
# 1 Chinua Achebe Things Fall Apart 9 2022
# 2 Hans Christian Andersen Fairy tales 9 2022
# 3 Dante Alighieri The Divine Comedy 9 2022
# 4 Unknown The Epic Of Gilgamesh 9 2022
# 5 Unknown The Book Of Job 9 2022
# 6 Unknown One Thousand and One Nights 9 2022
# 7 Unknown Njál's Saga 9 2022
# 8 Jane Austen Pride and Prejudice 9 2022
# 9 Honoré de Balzac Le Père Goriot 9 2022
# 10 Samuel Beckett Molloy, Malone Dies, The Unnamable, the … 9 2022
# … with 90 more rows
# ℹ Use `print(n = ...)` to see more rows
Verwenden Sie nun dplyr::mutate
, um dem Inhalt des withMMyyyy
DataFrame zwei weitere Spalten hinzuzufügen. Die neuen formatted_date
Spalten enthalten den yyyy-MM-dd
Teil aus der spalte today
, während die neue day
Spalte den numerischen Tag aus der neuen formatted_date
Spalte enthält. Schreiben Sie dann diese Inhalte in einen neuen DataFrame mit dem Namen withUnixTimestamp
und verwenden Sie dplyr::select
zusammen mit dplyr::collect
, um standardmäßig die title
, formatted_date
und day
Spalten der ersten zehn Zeilen des neuen DataFrames auszudrucken.
withUnixTimestamp <- withMMyyyy %>%
mutate(formatted_date = date_format(today, "yyyy-MM-dd"),
day = dayofmonth(formatted_date))
collect(select(withUnixTimestamp, c("title", "formatted_date", "day")))
# A tibble: 100 × 3
# title formatted_date day
# <chr> <chr> <int>
# 1 Things Fall Apart 2022-09-27 27
# 2 Fairy tales 2022-09-27 27
# 3 The Divine Comedy 2022-09-27 27
# 4 The Epic Of Gilgamesh 2022-09-27 27
# 5 The Book Of Job 2022-09-27 27
# 6 One Thousand and One Nights 2022-09-27 27
# 7 Njál's Saga 2022-09-27 27
# 8 Pride and Prejudice 2022-09-27 27
# 9 Le Père Goriot 2022-09-27 27
# 10 Molloy, Malone Dies, The Unnamable, the trilogy 2022-09-27 27
# … with 90 more rows
# ℹ Use `print(n = ...)` to see more rows
Erstellen einer temporären Ansicht
Sie können benannte temporäre Ansichten im Arbeitsspeicher erstellen, die auf vorhandenen DataFrames basieren. Führen Sie beispielsweise den folgenden Code in einer Notizbuchzelle aus, um SparkR::createOrReplaceTempView
zu verwenden, um den Inhalt des vorherigen DataFrames mit dem Namen jsonTable
abzurufen und eine temporäre Ansicht davon mit dem Namen timestampTable
zu erstellen. Verwenden Sie sparklyr::spark_read_table
dann zum Lesen des Inhalts der temporären Ansicht. Verwenden Sie sparklyr::collect
, um die ersten 10 Zeilen der temporären Tabelle standardmäßig zu drucken:
createOrReplaceTempView(withTimestampDF, viewName = "timestampTable")
spark_read_table(
sc = sc,
name = "timestampTable"
) %>% collect()
# A tibble: 100 × 10
# author country image…¹ langu…² link pages title year today
# <chr> <chr> <chr> <chr> <chr> <int> <chr> <int> <dttm>
# 1 Chinua A… Nigeria images… English "htt… 209 Thin… 1958 2022-09-27 21:11:56
# 2 Hans Chr… Denmark images… Danish "htt… 784 Fair… 1836 2022-09-27 21:11:56
# 3 Dante Al… Italy images… Italian "htt… 928 The … 1315 2022-09-27 21:11:56
# 4 Unknown Sumer … images… Akkadi… "htt… 160 The … -1700 2022-09-27 21:11:56
# 5 Unknown Achaem… images… Hebrew "htt… 176 The … -600 2022-09-27 21:11:56
# 6 Unknown India/… images… Arabic "htt… 288 One … 1200 2022-09-27 21:11:56
# 7 Unknown Iceland images… Old No… "htt… 384 Njál… 1350 2022-09-27 21:11:56
# 8 Jane Aus… United… images… English "htt… 226 Prid… 1813 2022-09-27 21:11:56
# 9 Honoré d… France images… French "htt… 443 Le P… 1835 2022-09-27 21:11:56
# 10 Samuel B… Republ… images… French… "htt… 256 Moll… 1952 2022-09-27 21:11:56
# … with 90 more rows, 1 more variable: month <chr>, and abbreviated variable
# names ¹imageLink, ²language
# ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names
Durchführen einer statistischen Analyse für ein DataFrame
Sie können Sparklyr zusammen mit Dplyr für statistische Analysen verwenden.
Erstellen Sie z. B. einen DataFrame zum Ausführen von Statistiken. Führen Sie dazu den folgenden Code in einer Notizbuchzelle aus, um sparklyr::sdf_copy_to
zum Schreiben des Inhalts des iris
-Datasets zu verwenden, das in R in einen DataFrame mit dem Namen iris
integriert ist. Verwenden Sie sparklyr::sdf_collect
, um die ersten 10 Zeilen der temporären Tabelle standardmäßig zu drucken:
irisDF <- sdf_copy_to(
sc = sc,
x = iris,
name = "iris",
overwrite = TRUE
)
sdf_collect(irisDF, "row-wise")
# A tibble: 150 × 5
# Sepal_Length Sepal_Width Petal_Length Petal_Width Species
# <dbl> <dbl> <dbl> <dbl> <chr>
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# 4 4.6 3.1 1.5 0.2 setosa
# 5 5 3.6 1.4 0.2 setosa
# 6 5.4 3.9 1.7 0.4 setosa
# 7 4.6 3.4 1.4 0.3 setosa
# 8 5 3.4 1.5 0.2 setosa
# 9 4.4 2.9 1.4 0.2 setosa
# 10 4.9 3.1 1.5 0.1 setosa
# … with 140 more rows
# ℹ Use `print(n = ...)` to see more rows
Verwenden Sie nun dplyr::group_by
, um Zeilen nach der Species
Spalte zu gruppieren. Verwenden Sie dplyr::summarize
in Kombination mit dplyr::percentile_approx
, um Zusammenfassungsstatistiken für das 25., 50., 75. und 100. Perzentil der Spalte Sepal_Length
nach Species
zu berechnen. Verwenden Sie sparklyr::collect
, um die Ergebnisse zu drucken:
Anmerkung
dplyr::summarize
akzeptiert nur Argumente, die den integrierten Funktionen von Hive (auch als UDFs bezeichnet) und integrierten Aggregatfunktionen (auch als UDAFs bezeichnet) entsprechen. Allgemeine Informationen dazu finden Sie unter Hive-Funktionen. Informationen zu percentile_approx
finden Sie unter Integrierte Aggregatfunktionen (UDAF).
quantileDF <- irisDF %>%
group_by(Species) %>%
summarize(
quantile_25th = percentile_approx(
Sepal_Length,
0.25
),
quantile_50th = percentile_approx(
Sepal_Length,
0.50
),
quantile_75th = percentile_approx(
Sepal_Length,
0.75
),
quantile_100th = percentile_approx(
Sepal_Length,
1.0
)
)
collect(quantileDF)
# A tibble: 3 × 5
# Species quantile_25th quantile_50th quantile_75th quantile_100th
# <chr> <dbl> <dbl> <dbl> <dbl>
# 1 virginica 6.2 6.5 6.9 7.9
# 2 versicolor 5.6 5.9 6.3 7
# 3 setosa 4.8 5 5.2 5.8
Ähnliche Ergebnisse können beispielsweise mithilfe von sparklyr::sdf_quantile
berechnet werden:
print(sdf_quantile(
x = irisDF %>%
filter(Species == "virginica"),
column = "Sepal_Length",
probabilities = c(0.25, 0.5, 0.75, 1.0)
))
# 25% 50% 75% 100%
# 6.2 6.5 6.9 7.9