Käytä sparklyr
sparklyr on Apache Sparkin R-käyttöliittymä. Se tarjoaa mekanismin Sparkin kanssa vuorovaikuttamiseen tuttujen R-liittymien avulla. Voit käyttää sparklyr-spark-erätyön määritelmiä tai vuorovaikutteisia Microsoft Fabric -muistikirjoja.
sparklyr
-painikkeita käytetään yhdessä muiden siistien pakettien, kuten plyrin, kanssa. Microsoft Fabric jakaa uusimman vakaan version sparklyr- ja siivoamisesta jokaisen suorituksenaikaisen julkaisun yhteydessä. Voit tuoda ne ja aloittaa ohjelmointirajapinnan käytön.
Edellytykset
Hanki Microsoft Fabric -tilaus. Voit myös rekisteröityä ilmaiseen Microsoft Fabric -kokeiluversioon.
Siirry Synapse Data Science -käyttökokemukseen aloitussivun vasemmassa reunassa olevan käyttökokemuksen vaihtajan avulla.
Avaa muistikirja tai luo se. Lisätietoja on artikkelissa Microsoft Fabric -muistikirjojen käyttäminen.
Muuta ensisijaista kieltä määrittämällä kieliasetukseksi SparkR (R ).
Liitä muistikirjasi Lakehouseen. Valitse vasemmalla puolella Lisää lisätäksesi olemassa olevan lakehousen tai luodaksesi lakehousen.
Näyttöyhteys sparklyr Synapse Spark -klusteriin
Muodosta yhteys seuraavan - spark_connect()
menetelmän sparklyr
avulla. Tuemme uutta yhteystapaa nimeltä synapse
, jonka avulla voit muodostaa yhteyden aiemmin luotuun Spark-istuntoon. Se lyhentää merkittävästi istunnon alkamisaikaa sparklyr
. Lisäksi olemme antaneet tämän yhteysmenetelmän avoin lähdekoodi sparklyr-projektiin. -parametrilla method = "synapse"
voit käyttää sekä SparkR
-istuntoa että sparklyr
-istuntoa ja jakaa tietoja helposti niiden välillä.
# connect sparklyr to your spark cluster
spark_version <- sparkR.version()
config <- spark_config()
sc <- spark_connect(master = "yarn", version = spark_version, spark_home = "/opt/spark", method = "synapse", config = config)
Tietojen lukeminen sparklyr-säätimellä
Uusi Spark-istunto ei sisällä tietoja. Ensimmäinen vaihe on joko ladata tiedot Spark-istunnon muistiin tai osoittaa Spark tietojen sijaintiin, jotta se voi käyttää tietoja pyynnöstä.
# load the sparklyr package
library(sparklyr)
# copy data from R environment to the Spark session's memory
mtcars_tbl <- copy_to(sc, mtcars, "spark_mtcars", overwrite = TRUE)
head(mtcars_tbl)
:n avulla sparklyr
voit myös write
read
tehdä tietoja Lakehouse-tiedostosta käyttämällä ABFS-polkua. Jos haluat lukea Lakehousen ja kirjoittaa siihen, lisää se ensin istuntoosi. Valitse muistikirjan vasemmasta reunasta Lisää , jos haluat lisätä olemassa olevan Lakehousen tai luoda Lakehousen.
Jos haluat löytää ABFS-polun, napsauta hiiren kakkospainikkeella Tiedostot-kansiota Lakehousessa ja valitse sitten Kopioi ABFS-polku. Liitä polku, joka korvataan abfss://xxxx@onelake.dfs.fabric.microsoft.com/xxxx/Files
tässä koodissa:
temp_csv = "abfss://xxxx@onelake.dfs.fabric.microsoft.com/xxxx/Files/data/mtcars.csv"
# write the table to your lakehouse using the ABFS path
spark_write_csv(mtcars_tbl, temp_csv, header = TRUE, mode = 'overwrite')
# read the data as CSV from lakehouse using the ABFS path
mtcarsDF <- spark_read_csv(sc, temp_csv)
head(mtcarsDF)
Tietojen käsitteleminen sparklyr-ohjauksen avulla
sparklyr
tarjoaa useita menetelmiä tietojen käsittelemiseen Sparkissä käyttämällä:
dplyr
Komennot- SparkSQL
- Sparkin ominaisuusmuuntajat
Käyttää dplyr
Voit käyttää tuttuja dplyr
komentoja tietojen valmistelemiseen Sparkin sisällä. Komennot suoritetaan Sparkin sisällä, joten R:n ja Sparkin välillä ei ole tarpeettomia tiedonsiirtoja.
Napsauttamalla Tietojen käsitteleminen -kohtaa dplyr
saat lisädokumentaatiota plyrin käyttämisestä Sparkin kanssa.
# count cars by the number of cylinders the engine contains (cyl), order the results descendingly
library(dplyr)
cargroup <- group_by(mtcars_tbl, cyl) %>%
count() %>%
arrange(desc(n))
cargroup
sparklyr
ja dplyr
kääntää R-komennot Spark SQL:ksi puolestamme. Jos haluat nähdä tuloksena saatavan kyselyn, käytä seuraavaa show_query()
:
# show the dplyr commands that are to run against the Spark connection
dplyr::show_query(cargroup)
SQL:n käyttäminen
Voit myös suorittaa SQL-kyselyitä suoraan Spark-klusterin taulukoista. -spark_connection()
objekti toteuttaa DBI-liittymän Sparkille, joten voit dbGetQuery()
suorittaa SQL:n ja palauttaa tuloksen R-tietokehyksenä:
library(DBI)
dbGetQuery(sc, "select cyl, count(*) as n from spark_mtcars
GROUP BY cyl
ORDER BY n DESC")
Ominaisuuksien muuntajien käyttäminen
Molemmat edelliset menetelmät perustuvat SQL-lausekkeisiin. Spark tarjoaa komentoja, jotka tekevät tietojen muuntamisesta kätevämpää ilman SQL:n käyttöä.
Esimerkiksi komento yksinkertaistaa uuden sarakkeen luomista, joka ilmaisee, ft_binarizer()
onko toisen sarakkeen arvo tietyn raja-arvon yläpuolella.
Löydät spark-toimintojen muuntajien täydellisen luettelon kohdasta sparklyr
Viittaus -FT.
mtcars_tbl %>%
ft_binarizer("mpg", "over_20", threshold = 20) %>%
select(mpg, over_20) %>%
head(5)
Tietojen jakaminen - ja -arvojen välillä sparklyr
SparkR
Kun muodostat yhteyden synapse spark -klusteriin :n avullamethod = "synapse"
, voit käyttää sekä -istuntoa että sparklyr
SparkR
samassa istunnossa ja jakaa tietoja helposti niiden sparklyr
välillä. Voit luoda spark-taulukon kohteessa sparklyr
ja lukea sen kohteesta SparkR
.
# load the sparklyr package
library(sparklyr)
# Create table in `sparklyr`
mtcars_sparklyr <- copy_to(sc, df = mtcars, name = "mtcars_tbl", overwrite = TRUE, repartition = 3L)
# Read table from `SparkR`
mtcars_sparklr <- SparkR::sql("select cyl, count(*) as n
from mtcars_tbl
GROUP BY cyl
ORDER BY n DESC")
head(mtcars_sparklr)
Koneoppiminen
Tässä on esimerkki, jossa käytetään ml_linear_regression()
lineaarisen regressiomallin sovittamista. Käytämme sisäistä mtcars
tietojoukkoa ja tarkistamme, voimmeko ennustaa auton polttoaineen kulutuksen () sen painon (mpg
wt
) ja moottorin sisältämien kaasupullojen määrän (cyl
). Oletamme kussakin tapauksessa, että ominaisuuksien ja jokaisen ominaisuuden välinen mpg
suhde on lineaarinen.
Testauksen ja harjoittamisen tietojoukkojen luominen
Käytä jakoa, 70 % harjoittamiseen ja 30 % mallin testaamiseen. Tämän suhteen käyttäminen tuottaa erilaisia malleja.
# split the dataframe into test and training dataframes
partitions <- mtcars_tbl %>%
select(mpg, wt, cyl) %>%
sdf_random_split(training = 0.7, test = 0.3, seed = 2023)
Sinun täytyy harjoittaa malli.
Harjoita logistinen regressiomalli.
fit <- partitions$training %>%
ml_linear_regression(mpg ~ .)
fit
Sen avulla summary()
opit lisää mallimme laadusta ja kunkin ennusteen tilastollisesta merkityksestä.
summary(fit)
Käytä mallia
Voit ottaa mallin käyttöön testitietojoukossa kutsumalla ml_predict()
.
pred <- ml_predict(fit, partitions$test)
head(pred)
Luettelo Sparkin automaattianalyysipalveluiden malleista, jotka ovat saatavilla sparklyr-ohjeen kautta – koneoppiminen
Yhteyden katkaiseminen Spark-klusteriin
Voit kutsua spark_disconnect()
tai valita Stop session -painikkeen muistikirjan valintanauhan yläosasta Spark-istunnon päätteeksi.
spark_disconnect(sc)
Liittyvä sisältö
Lue lisää R-toiminnoista: