Aracılığıyla paylaş


Azure Synapse Analytics ile Apache Spark için R kullanma (Önizleme)

Azure Synapse Analytics, Apache Spark için yerleşik R desteği sağlar. Bunun bir parçası olarak, veri bilimcileri R kodlarını yazmak ve çalıştırmak için Azure Synapse Analytics not defterlerini kullanabilir. Bu, kullanıcıların tanıdık Spark veya R arabirimlerini kullanarak Spark ile etkileşim kurmasına olanak tanıyan SparkR ve SparklyR desteğini de içerir.

Bu makalede Azure Synapse Analytics ile Apache Spark için R kullanmayı öğreneceksiniz.

R Çalışma Zamanı

Azure Synapse Analytics, TidyVerse de dahil olmak üzere birçok popüler açık kaynak R paketi içeren bir R çalışma zamanını destekler. R çalışma zamanı tüm Apache Spark 3 havuzlarında kullanılabilir.

Her çalışma zamanında yüklü kitaplıklar hakkında daha fazla bilgi edinmek için şu sayfayı ziyaret edebilirsiniz: - Azure Synapse Analytics Çalışma Zamanları

Not defteri oturumları oluşturma ve çalıştırma

Azure Synapse not defteri, canlı kod, görselleştirmeler ve anlatı metni içeren dosyalar oluşturmanız için kullanabileceğiniz bir web arabirimidir. Not defterleri, fikirleri doğrulamak ve hızlı denemeler yaparak verilerinizden içgörüler elde etmek için iyi bir yerdir. Not defterleri veri hazırlama, veri görselleştirme, makine öğrenmesi ve diğer büyük veri senaryolarında da yaygın olarak kullanılır.

Synapse not defterlerinde R kullanmaya başlamak için dil seçeneğiniSparkR (R) olarak ayarlayarak birincil dili değiştirebilirsiniz.

R dili seçeneğinin ekran görüntüsü.

Buna ek olarak, bir not defterinde bir hücrenin başında language magic komutunu belirterek birden çok dil kullanabilirsiniz.

%%sparkr
# Enter your R code here

Azure Synapse Analytics'te not defterleri hakkında daha fazla bilgi edinmek için not defterlerini yönetme kılavuzunu ziyaret edebilirsiniz.

Paketleri yükleme

Kitaplıklar, programlarınıza veya projelerinize eklemek isteyebileceğiniz yeniden kullanılabilir kod sağlar. Üçüncü taraf veya yerel olarak oluşturulmuş kodu uygulamalarınız için kullanılabilir hale getirmek için sunucusuz Apache Spark havuzlarınızdan veya not defteri oturumlarınızdan birine bir kitaplık yükleyebilirsiniz.

R çalışma alanı paketlerini yönetme

Synapse'te çalışma alanı paketleri genel veya özel/özel <R_Package>.tar.gz dosyaları olabilir. Tüm bağımlılıklar da yüklenmelidir. Bu paketleri çalışma alanınıza yükleyebilir ve daha sonra belirli bir sunucusuz Apache Spark havuzuna atayabilirsiniz. Bu çalışma alanı paketleri atandıktan sonra ilgili havuzda başlatılan tüm Spark havuzu oturumlarına otomatik olarak yüklenir.

Çalışma alanı kitaplıklarını yönetme hakkında daha fazla bilgi edinmek için şu makaleye bakın: - Çalışma alanı paketlerini yönetme

R oturumlarını yönetme

Etkileşimli veri analizi veya makine öğrenmesi yaparken daha yeni paketler deneyebilir veya Apache Spark havuzunuzda şu anda kullanılamayan paketlere ihtiyacınız olabilir. Kullanıcılar artık havuz yapılandırmasını güncelleştirmek yerine oturum bağımlılıkları eklemek, yönetmek ve güncelleştirmek için oturum kapsamlı paketleri kullanabilir.

  • Oturum kapsamlı kitaplıkları yüklediğinizde, yalnızca geçerli not defterinin belirtilen kitaplıklara erişimi olur.
  • Bu kitaplıklar aynı Spark havuzunu kullanan diğer oturumları veya işleri etkilemez.
  • Bu kitaplıklar temel çalışma zamanı ve havuz düzeyi kitaplıklarının üzerine yüklenir.
  • Not defteri kitaplıkları en yüksek önceliği alır.
  • Oturum kapsamlı R kitaplıkları oturumlar arasında kalıcı olmaz. Bu kitaplıklar, ilgili yükleme komutları yürütülürken her oturumun başında yüklenir
  • Oturum kapsamlı R kitaplıkları hem sürücü hem de çalışan düğümlerine otomatik olarak yüklenir

Örneğin, kullanıcılar CRAN ve CRAN anlık görüntülerinden bir R kitaplığı yükleyebilir. Aşağıdaki örnekte Highcharter, R görselleştirmeleri için popüler bir pakettir. Aşağıdaki komutu kullanarak bu paketi Apache Spark havuzumdaki tüm düğümlere yükleyebilirim:

install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")

Oturum R kitaplıklarını yönetme hakkında daha fazla bilgi edinmek için şu makaleyi ziyaret edebilirsiniz: R oturum paketlerini yönetme

Not Defteri Yardımcı Programları

Microsoft Spark Yardımcı Programları (MSSparkUtils), ortak görevleri kolayca gerçekleştirmenize yardımcı olan yerleşik bir pakettir. MSSparkUtils'i dosya sistemleriyle çalışmak, ortam değişkenlerini almak, not defterlerini birbirine zincirleme ve gizli dizilerle çalışmak için kullanabilirsiniz. MSSparkUtils, R not defterleri için desteklenir.

Başlamak için aşağıdaki komutları çalıştırabilirsiniz:

library(notebookutils)
mssparkutils.fs.help()

Desteklenen MSSparkUtils komutları hakkında daha fazla bilgi edinmek için şu makaleyi ziyaret edebilirsiniz: Microsoft Spark Yardımcı Programlarını kullanma

SparkR kullanma

SparkR , R'den Apache Spark'ı kullanmak için hafif bir ön uç sağlayan bir R paketidir. SparkR, seçim, filtreleme, toplama gibi işlemleri destekleyen dağıtılmış bir veri çerçevesi uygulaması sağlar. SparkR, MLlib kullanarak dağıtılmış makine öğrenmesini de destekler.

Yerel R data.frame'den SparkR Veri Çerçevesi oluşturma

DataFrame oluşturmanın en basit yolu, yerel bir R data.frame'i SparkDataFrame'e dönüştürmektir. Bu örnekte SparkDataFrame oluşturmak için yerel R veri çerçevesini kullanır as.DataFrame ve geçiririz.

df <- as.DataFrame(faithful)

# Displays the first part of the SparkDataFrame
head(df)
##  eruptions waiting
##1     3.600      79
##2     1.800      54

Spark veri kaynağı API'sini kullanarak SparkR veri çerçevesi oluşturma

SparkR, SparkDataFrame arabirimi aracılığıyla çeşitli veri kaynakları üzerinde çalışma desteği sunar. Bir veri kaynağından DataFrame oluşturmak için genel yöntemdir read.df. Bu yöntem, dosyanın yüklenecek yolunu ve veri kaynağı türünü alır. SparkR, CSV, JSON, metin ve Parquet dosyalarını yerel olarak okumayı destekler.

# Read a csv from ADLSg2
df <- read.df('abfss://<container name>@<storage account name>.dfs.core.windows.net/avocado.csv', 'csv', header="true")
head(df)

Spark SQL kullanarak SparkR veri çerçevesi oluşturma

Spark SQL sorgularını kullanarak SparkR DataFrame'ler de oluşturabilirsiniz.

# Register this SparkDataFrame as a temporary view.
createOrReplaceTempView(df, "eruptions")

# SQL statements can be run by using the sql method
sql_df <- sql("SELECT * FROM eruptions")
head(sql_df)

Makine öğrenimi

SparkR, MLLib algoritmalarının çoğunu kullanıma sunar. SparkR, modeli eğitmek için arka planda MLlib kullanır. Hangi makine öğrenmesi algoritmalarının desteklendiği hakkında daha fazla bilgi edinmek için SparkR ve MLlib belgelerini ziyaret edebilirsiniz.

# Create the DataFrame
cars <- cbind(model = rownames(mtcars), mtcars)
carsDF <- createDataFrame(cars)

# Fit a linear model over the dataset.
model <- spark.glm(carsDF, mpg ~ wt + cyl)

# Model coefficients are returned in a similar format to R's native glm().
summary(model)

SparklyR kullanma

SparklyR , Apache Spark için bir R arabirimidir. Tanıdık R arabirimlerini kullanarak Spark ile etkileşime geçmek için bir mekanizma sağlar.

Bağlantı sparklyr kurmak için içinde aşağıdaki bağlantı yöntemini spark_connect()kullanabilirsiniz.

spark_version <- "<enter Spark version>"
config <- spark_config()
sc <- spark_connect(master = "yarn", version = spark_version, spark_home = "/opt/spark", config = config, method='synapse')

Sonraki adımlar