Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Adlandırılmış sütunlar halinde gruplandırılmış dağıtılmış bir veri koleksiyonu.
DataFrame, Spark SQL'deki ilişkisel tabloya eşdeğerdir ve SparkSession'daki çeşitli işlevler kullanılarak oluşturulabilir.
Önemli
DataFrame oluşturucu kullanılarak doğrudan oluşturulmamalıdır.
Spark Connect'i destekler
Özellikler
| Mülkiyet | Açıklama |
|---|---|
sparkSession |
Bu DataFrame'i oluşturan SparkSession'ı döndürür. |
rdd |
İçeriği Satır RDD'si olarak döndürür (yalnızca Klasik mod). |
na |
Eksik değerleri işlemek için bir DataFrameNaFunctions döndürür. |
stat |
İstatistik işlevleri için bir DataFrameStatFunctions döndürür. |
write |
Akış dışı DataFrame'in içeriğini dış depolama alanına kaydetme arabirimi. |
writeStream |
DataFrame akışının içeriğini dış depolama alanına kaydetme arabirimi. |
schema |
Bu DataFrame'in şemasını StructType olarak döndürür. |
dtypes |
Tüm sütun adlarını ve bunların veri türlerini liste olarak döndürür. |
columns |
DataFrame'deki tüm sütunların adlarını liste olarak alır. |
storageLevel |
DataFrame'in geçerli depolama düzeyini alın. |
isStreaming |
Bu DataFrame geldikçe sürekli veri döndüren bir veya daha fazla kaynak içeriyorsa True döndürür. |
executionInfo |
Sorgu yürütüldükten sonra bir ExecutionInfo nesnesi döndürür. |
plot |
İşlevleri çizmek için bir PySparkPlotAccessor döndürür. |
Methods
Veri görüntüleme ve denetleme
| Yöntem | Açıklama |
|---|---|
toJSON(use_unicode) |
Bir DataFrame'i dize veya DataFrame'in RDD'sine dönüştürür. |
printSchema(level) |
Şemayı ağaç biçiminde yazdırır. |
explain(extended, mode) |
Hata ayıklama amacıyla (mantıksal ve fiziksel) planları konsola yazdırır. |
show(n, truncate, vertical) |
DataFrame'in ilk n satırını konsola yazdırır. |
collect() |
DataFrame'deki tüm kayıtları Satır listesi olarak döndürür. |
toLocalIterator(prefetchPartitions) |
Bu DataFrame'deki tüm satırları içeren bir yineleyici döndürür. |
take(num) |
İlk sayı satırlarını Satır listesi olarak döndürür. |
tail(num) |
Son sayı satırlarını Satır listesi olarak döndürür. |
head(n) |
İlk n satırı döndürür. |
first() |
İlk satırı Satır olarak döndürür. |
count() |
Bu DataFrame'deki satır sayısını döndürür. |
isEmpty() |
DataFrame'in boş olup olmadığını denetler ve boole değeri döndürür. |
describe(*cols) |
Sayısal ve dize sütunları için temel istatistikleri hesaplar. |
summary(*statistics) |
Sayısal ve dize sütunları için belirtilen istatistikleri hesaplar. |
Geçici görünümler
| Yöntem | Açıklama |
|---|---|
createTempView(name) |
Bu DataFrame ile yerel bir geçici görünüm oluşturur. |
createOrReplaceTempView(name) |
Yerel geçici görünümü bu DataFrame ile oluşturur veya değiştirir. |
createGlobalTempView(name) |
Bu DataFrame ile genel bir geçici görünüm oluşturur. |
createOrReplaceGlobalTempView(name) |
Verilen adı kullanarak genel bir geçici görünüm oluşturur veya değiştirir. |
Seçim ve projeksiyon
| Yöntem | Açıklama |
|---|---|
select(*cols) |
Bir ifade kümesini projeler ve yeni bir DataFrame döndürür. |
selectExpr(*expr) |
Bir DIZI SQL ifadesi oluşturur ve yeni bir DataFrame döndürür. |
filter(condition) |
Verilen koşulu kullanarak satırları filtreler. |
where(condition) |
Filtre için diğer ad. |
drop(*cols) |
Belirtilen sütunlar olmadan yeni bir DataFrame döndürür. |
toDF(*cols) |
Yeni belirtilen sütun adlarıyla yeni bir DataFrame döndürür. |
withColumn(colName, col) |
Bir sütun ekleyerek veya aynı ada sahip mevcut sütunu değiştirerek yeni bir DataFrame döndürür. |
withColumns(*colsMap) |
Birden çok sütun ekleyerek veya aynı adlara sahip mevcut sütunları değiştirerek yeni bir DataFrame döndürür. |
withColumnRenamed(existing, new) |
Mevcut bir sütunu yeniden adlandırarak yeni bir DataFrame döndürür. |
withColumnsRenamed(colsMap) |
Birden çok sütunu yeniden adlandırarak yeni bir DataFrame döndürür. |
withMetadata(columnName, metadata) |
Mevcut bir sütunu meta verilerle güncelleştirerek yeni bir DataFrame döndürür. |
metadataColumn(colName) |
Mantıksal sütun adına göre bir meta veri sütunu seçer ve sütun olarak döndürür. |
colRegex(colName) |
Bir regex olarak belirtilen sütun adına göre sütunu seçer ve Sütun olarak döndürür. |
Sıralama ve sıralama
| Yöntem | Açıklama |
|---|---|
sort(*cols, **kwargs) |
Belirtilen sütunlara göre sıralanmış yeni bir DataFrame döndürür. |
orderBy(*cols, **kwargs) |
Sıralama için diğer ad. |
sortWithinPartitions(*cols, **kwargs) |
Her bölümü belirtilen sütunlara göre sıralanmış yeni bir DataFrame döndürür. |
Toplama ve gruplandırma
| Yöntem | Açıklama |
|---|---|
groupBy(*cols) |
DataFrame'i belirtilen sütunlara göre gruplandırarak bunlar üzerinde toplama gerçekleştirilebilmesini sağlayın. |
rollup(*cols) |
Belirtilen sütunları kullanarak geçerli DataFrame için çok boyutlu bir toplama oluşturun. |
cube(*cols) |
Belirtilen sütunları kullanarak geçerli DataFrame için çok boyutlu bir küp oluşturun. |
groupingSets(groupingSets, *cols) |
Belirtilen gruplandırma kümelerini kullanarak geçerli DataFrame için çok boyutlu toplama oluşturun. |
agg(*exprs) |
DataFrame'in tamamında gruplar olmadan toplama (df.groupBy().agg() kısaltması). |
observe(observation, *exprs) |
DataFrame'de gözlemlenen (adlandırılmış) ölçümleri tanımlayın. |
Joins
| Yöntem | Açıklama |
|---|---|
join(other, on, how) |
Verilen birleştirme ifadesini kullanarak başka bir DataFrame ile birleşir. |
crossJoin(other) |
Kartezyen ürünü başka bir DataFrame ile döndürür. |
lateralJoin(other, on, how) |
Verilen birleştirme ifadesini kullanarak başka bir DataFrame ile yanal birleşimler. |
İşlemleri ayarlama
| Yöntem | Açıklama |
|---|---|
union(other) |
Bu ve başka bir DataFrame'deki satırların birleşimini içeren yeni bir DataFrame döndürür. |
unionByName(other, allowMissingColumns) |
Bu ve başka bir DataFrame'deki satırların birleşimini içeren yeni bir DataFrame döndürür. |
intersect(other) |
Yalnızca bu DataFrame'de ve başka bir DataFrame'de satırlar içeren yeni bir DataFrame döndürür. |
intersectAll(other) |
Yinelenenleri korurken hem bu DataFrame'de hem de başka bir DataFrame'de satırlar içeren yeni bir DataFrame döndürür. |
subtract(other) |
Bu DataFrame'de satır içeren ancak başka bir DataFrame'de olmayan yeni bir DataFrame döndür. |
exceptAll(other) |
Yinelenenleri korurken bu DataFrame'de satır içeren ancak başka bir DataFrame'de olmayan yeni bir DataFrame döndürür. |
Deduplication
| Yöntem | Açıklama |
|---|---|
distinct() |
Bu DataFrame'deki ayrı satırları içeren yeni bir DataFrame döndürür. |
dropDuplicates(subset) |
İsteğe bağlı olarak yalnızca belirli sütunları dikkate alarak yinelenen satırların kaldırıldığı yeni bir DataFrame döndürür. |
dropDuplicatesWithinWatermark(subset) |
Filigran içinde isteğe bağlı olarak yalnızca belirli sütunları dikkate alarak yinelenen satırların kaldırıldığı yeni bir DataFrame döndürür. |
Örnekleme ve bölme
| Yöntem | Açıklama |
|---|---|
sample(withReplacement, fraction, seed) |
Bu DataFrame'in örneklenmiş bir alt kümesini döndürür. |
sampleBy(col, fractions, seed) |
Her katmanda verilen kesire göre değiştirme yapmadan katmanlı bir örnek döndürür. |
randomSplit(weights, seed) |
Bu DataFrame'i sağlanan ağırlıklarla rastgele böler. |
Partitioning
| Yöntem | Açıklama |
|---|---|
coalesce(numPartitions) |
Tam olarak numPartitions bölümlerine sahip yeni bir DataFrame döndürür. |
repartition(numPartitions, *cols) |
Verilen bölümleme ifadeleri tarafından bölümlenmiş yeni bir DataFrame döndürür. |
repartitionByRange(numPartitions, *cols) |
Verilen bölümleme ifadeleri tarafından bölümlenmiş yeni bir DataFrame döndürür. |
repartitionById(numPartitions, partitionIdCol) |
Verilen bölüm kimliği ifadesi tarafından bölümlenmiş yeni bir DataFrame döndürür. |
Yeniden şekillendirme
| Yöntem | Açıklama |
|---|---|
unpivot(ids, values, variableColumnName, valueColumnName) |
DataFrame'i geniş biçimden uzun biçime çıkarın. |
melt(ids, values, variableColumnName, valueColumnName) |
Unpivot için diğer ad. |
transpose(indexColumn) |
Bir DataFrame'i, belirtilen dizin sütunundaki değerler yeni sütunlar olacak şekilde dönüştürür. |
Eksik veri işleme
| Yöntem | Açıklama |
|---|---|
dropna(how, thresh, subset) |
Null veya NaN değerlerine sahip yeni bir DataFrame atlama satırı döndürür. |
fillna(value, subset) |
Null değerlerin yeni değerle doldurulduğu yeni bir DataFrame döndürür. |
replace(to_replace, value, subset) |
Bir değeri başka bir değerle değiştiren yeni bir DataFrame döndürür. |
İstatistiksel işlevler
| Yöntem | Açıklama |
|---|---|
approxQuantile(col, probabilities, relativeError) |
Bir DataFrame'in sayısal sütunlarının yaklaşık niceliklerini hesaplar. |
corr(col1, col2, method) |
Bir DataFrame'in iki sütununun bağıntısını çift değer olarak hesaplar. |
cov(col1, col2) |
Verilen sütunlar için adlarıyla belirtilen örnek kovaryansı hesaplayın. |
crosstab(col1, col2) |
Verilen sütunların çift yönlü sıklık tablosunu hesaplar. |
freqItems(cols, support) |
Büyük olasılıkla hatalı pozitif değerler içeren sütunlar için sık kullanılan öğeleri bulma. |
Şema işlemleri
| Yöntem | Açıklama |
|---|---|
to(schema) |
Her satırın belirtilen şemayla eşleşecek şekilde uzlaştırıldığı yeni bir DataFrame döndürür. |
alias(alias) |
Diğer ad kümesine sahip yeni bir DataFrame döndürür. |
Yineleme
| Yöntem | Açıklama |
|---|---|
foreach(f) |
f işlevini bu DataFrame'in tüm Satırlarına uygular. |
foreachPartition(f) |
f işlevini bu DataFrame'in her bölümüne uygular. |
Önbelleğe alma ve kalıcılık
| Yöntem | Açıklama |
|---|---|
cache() |
DataFrame'i varsayılan depolama düzeyiyle (MEMORY_AND_DISK_DESER) kalıcı hale getirir. |
persist(storageLevel) |
DataFrame'in içeriğini işlemler arasında kalıcı hale getirmek için depolama düzeyini ayarlar. |
unpersist(blocking) |
DataFrame'i kalıcı olmayan olarak işaretler ve bellekten ve diskten tüm blokları kaldırır. |
Kontrol noktası oluşturma
| Yöntem | Açıklama |
|---|---|
checkpoint(eager) |
Bu DataFrame'in denetim noktası uygulanmış bir sürümünü döndürür. |
localCheckpoint(eager, storageLevel) |
Bu DataFrame'in yerel olarak denetlenen bir sürümünü döndürür. |
Akış işlemleri
| Yöntem | Açıklama |
|---|---|
withWatermark(eventTime, delayThreshold) |
Bu DataFrame için bir olay zamanı filigranı tanımlar. |
İyileştirme ipuçları
| Yöntem | Açıklama |
|---|---|
hint(name, *parameters) |
Geçerli DataFrame'de bazı ipuçları belirtir. |
Sınırlar ve uzaklıklar
| Yöntem | Açıklama |
|---|---|
limit(num) |
Sonuç sayısını belirtilen sayıyla sınırlar. |
offset(num) |
İlk n satırı atlayarak yeni bir DataFrame döndürür. |
Gelişmiş dönüştürmeler
| Yöntem | Açıklama |
|---|---|
transform(func, *args, **kwargs) |
Yeni bir DataFrame döndürür. Özel dönüştürmeleri zincirleme için kısa söz dizimi. |
Dönüştürme yöntemleri
| Yöntem | Açıklama |
|---|---|
toPandas() |
Bu DataFrame'in içeriğini Pandas pandas olarak döndürür. DataFrame. |
toArrow() |
Bu DataFrame'in içeriğini PyArrow pyarrow olarak döndürür. Tablo. |
pandas_api(index_col) |
Mevcut DataFrame'i pandas-on-Spark DataFrame'e dönüştürür. |
mapInPandas(func, schema, barrier, profile) |
Python yerel işlevini kullanarak geçerli DataFrame'deki bir toplu iş yineleyicisini eşler. |
mapInArrow(func, schema, barrier, profile) |
Pyarrow üzerinde gerçekleştirilen python yerel işlevini kullanarak geçerli DataFrame'deki toplu işlemlerin yineleyicisini eşler. RecordBatch. |
Veri yazımı
| Yöntem | Açıklama |
|---|---|
writeTo(table) |
v2 kaynakları için bir yazma yapılandırma oluşturucusu oluşturun. |
mergeInto(table, condition) |
Kaynak tabloyu temel alan bir dizi güncelleştirme, ekleme ve silmeyi hedef tabloyla birleştirir. |
DataFrame karşılaştırması
| Yöntem | Açıklama |
|---|---|
sameSemantics(other) |
Her iki DataFrame içindeki mantıksal sorgu planları eşit olduğunda True döndürür. |
semanticHash() |
Bu DataFrame'e karşı mantıksal sorgu planının karma kodunu döndürür. |
Meta veriler ve dosya bilgileri
| Yöntem | Açıklama |
|---|---|
inputFiles() |
Bu DataFrame'i oluşturan dosyaların en iyi çaba anlık görüntüsünü döndürür. |
Gelişmiş SQL özellikleri
| Yöntem | Açıklama |
|---|---|
isLocal() |
Toplama ve alma yöntemleri yerel olarak çalıştırılabilirse True döndürür. |
asTable() |
DataFrame'i, TVF'de tablo bağımsız değişkeni olarak kullanılabilen tableArg nesnesine dönüştürür. |
scalar() |
Tam olarak bir satır ve bir sütun içeren bir SCALAR Alt Sorgusu için Sütun nesnesi döndürür. |
exists() |
EXISTS Alt Sorgusu için Sütun nesnesi döndürme. |
Örnekler
Temel DataFrame işlemleri
# Create a DataFrame
people = spark.createDataFrame([
{"deptId": 1, "age": 40, "name": "Alice", "gender": "M", "salary": 50},
{"deptId": 1, "age": 50, "name": "Bob", "gender": "M", "salary": 100},
{"deptId": 2, "age": 60, "name": "Sue", "gender": "F", "salary": 150},
{"deptId": 3, "age": 20, "name": "Tom", "gender": "M", "salary": 200}
])
# Select columns
people.select("name", "age").show()
# Filter rows
people.filter(people.age > 30).show()
# Add a new column
people.withColumn("age_plus_10", people.age + 10).show()
Toplama ve gruplandırma
# Group by and aggregate
people.groupBy("gender").agg({"salary": "avg", "age": "max"}).show()
# Multiple aggregations
from pyspark.sql import functions as F
people.groupBy("deptId").agg(
F.avg("salary").alias("avg_salary"),
F.max("age").alias("max_age")
).show()
Joins
# Create another DataFrame
department = spark.createDataFrame([
{"id": 1, "name": "PySpark"},
{"id": 2, "name": "ML"},
{"id": 3, "name": "Spark SQL"}
])
# Join DataFrames
people.join(department, people.deptId == department.id).show()
Karmaşık dönüşümler
# Chained operations
result = people.filter(people.age > 30) \\
.join(department, people.deptId == department.id) \\
.groupBy(department.name, "gender") \\
.agg({"salary": "avg", "age": "max"}) \\
.sort("max(age)")
result.show()