yoklateknik mülakat

Data Engineer Pe Spark Api Semantics Udfs Mülakat Soruları

75 doğrulanmış Data Engineer Pe Spark Api Semantics Udfs mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Pe Spark Api Semantics UdfsZorluk 2
Spark'ın Catalyst optimize edicisinde bir DataFrame sorgusu çalıştırılmadan önce birkaç plan aşamasından geçer. Doğru sıralama hangisidir?
  • aFiziksel plan → optimize edilmiş mantıksal plan → mantıksal plan
  • bMantıksal plan → optimize edilmiş mantıksal plan → fiziksel plan
  • cOptimize edilmiş mantıksal plan → mantıksal plan → fiziksel plan
  • dFiziksel plan → mantıksal plan → optimize edilmiş mantıksal plan
Açıklama:Catalyst önce DataFrame/SQL kodundan mantıksal planı kurar, kural tabanlı optimizasyonlar uygulayarak optimize edilmiş mantıksal planı üretir, son olarak çalıştırma motorunun kullandığı fiziksel planı üretir.
Pe Spark Api Semantics UdfsZorluk 1
df.filter(df.amount > 100).explain()

Bir DataFrame üzerinde argümansız .explain() çağrısı varsayılan olarak hangi planı basar?
  • aYalnızca fiziksel planı
  • bYalnızca çözülmemiş mantıksal planı
  • cDört plan aşamasının tamamını (parsed, analyzed, optimized, physical)
  • dYalnızca optimize edilmiş mantıksal planı
Açıklama:Argümansız (extended=False) .explain() yalnızca fiziksel planı basar. extended=True ya da 'formatted' gibi bir mod string'i verilirse mantıksal plan aşamaları dahil daha fazla detay gösterilir.
Pe Spark Api Semantics UdfsZorluk 2
Catalyst'in optimize edilmiş mantıksal planında 'column pruning' (sütun budama) ne yapar?
  • aBir filtre koşulunu geçemeyen satırları scan öncesi kaldırır
  • bAynı tablonun iki scan'ini tek scan'de birleştirir
  • cJoin işlemlerini tahmini maliyete göre yeniden sıralar
  • dDownstream'de referans edilmeyen sütunları düşürür
Açıklama:Column pruning, plan içinde daha sonra gerçekten kullanılan sütunları bulur ve scan'i yalnızca o sütunları okuyacak şekilde yeniden yazar; özellikle kolon tabanlı formatlarda I/O'yu azaltır.
Pe Spark Api Semantics UdfsZorluk 2
Catalyst'in constant folding optimizasyonu WHERE price > 10 + 5 gibi bir ifadeyle ne yapar?
  • aTüm ifadeyi olduğu gibi depolama katmanına gönderir
  • bKarşılaştırmayı bir join koşuluna çevirir
  • c10 + 5'i plan zamanında hesaplayıp 15 ile değiştirir
  • dFiltreyi bir window fonksiyonuna dönüştürür
Açıklama:Constant folding, yalnızca literallerden oluşan ifadeleri sorgu planlama sırasında hesaplar; böylece fiziksel plan her satır için 10 + 5'i yeniden hesaplamak yerine doğrudan price > 15 karşılaştırması yapar.
Pe Spark Api Semantics UdfsZorluk 2
Spark filtrelenebilir bir veri kaynağından okurken 'predicate pushdown' ne anlama gelir?
  • aFiltreler join aşamasından önce değil sonra çalışacak şekilde taşınır
  • bFiltre kaynağa iletilir, kaynak eşleşmeyen veriyi erkenden eleyebilir
  • cFiltreler esneklik için UDF'e çevrilir
  • dTüm filtreler yalnızca driver'da değerlendirilir
Açıklama:Predicate pushdown ile Spark, filtre koşulunu kaynağın (JDBC, Parquet vb.) kendisinin uygulayabileceği bir forma çevirir; böylece cluster'a fiilen okunan satır/dosya sayısı azalır.
Pe Spark Api Semantics UdfsZorluk 2
Bir ekip şunu yazıyor:
df.filter(is_valid_udf(df.email))

is_valid_udf bir Python UDF. explain() çıktısına baktıklarında altta yatan Parquet kaynağına pushdown konusunda ne beklemeliler?
  • aParquet keyfi filtreleri desteklediği için UDF filtresi otomatik pushdown edilir
  • bCatalyst pushdown'dan önce UDF'i built-in bir ifadeye çevirir
  • cCatalyst UDF bytecode'unu inline ettiği için pushdown yine gerçekleşir
  • dUDF filtresi pushdown edilemez; Catalyst onu scan'den sonra değerlendirir
Açıklama:Catalyst yalnızca ifade olarak anlayabildiği filtreleri pushdown edebilir. UDF optimize edici için opaktır; içinde bulunduğu filtre satırlar okunduktan sonra Spark içinde değerlendirilir, Parquet okuyucusuna itilmez.

1950 soruluk Data Engineer bankasında kendini sına.

Mülakata başla