2016-08-19 18 views
5

Spark içinde DataFrames ile çalışırken, yalnızca bu DataFrame'deki belirli bir sütunun değerlerini düzenlemek zorundayım. Örneğin için. Veri çerçevemde count alanım varsa ve count her değerine 1 eklemek istiyorsam, DataFrames'ın withColumn özelliğini kullanarak işi almak için özel bir e-posta yazabilirim veya map yapabilirim DataFrame üzerinde ve sonra elde edilen RDD'den başka bir DataFrame ayıklayın.Harita ile kullanıcı arasındaki farklar

Bilmek istediğim, bir üferin aslında kaputun altında nasıl çalıştığını bilmek. Bu durumda bir harita/udf kullanarak bir karşılaştırma yapın. Performans farkı nedir?

Teşekkürler!

+1

http://stackoverflow.com/q/38860808/1560062 – zero323

cevap

1

Basitçe, mapudf'dan daha esnektir. map ile, bir satır içinde işleyebileceğiniz sütun sayısı konusunda bir kısıtlama yoktur. Verilerin 5 sütununa ait değeri türetmek ve 3 sütunu silmek istediğinizi varsayalım. withColumn/udf 5 kez, daha sonra bir select yapmalısınız. 1 map işleviyle, tüm bunları yapabilirsiniz.

+0

Yalnızca bir sütun işliyorsanız, 'mapColumn' /' udf' işlevini 'map' kullanmak daha verimli mi? – spiffman

+0

Genel olarak, bir RDD'den bir veri çerçevesinin oluşturulması bazı yüklere sahip olacak, dolayısıyla 'withColumn'/'udf' daha verimli olmalıdır. Daha fazla ayrıntı için, burada sıfır323'ün yanıtı yararlı olabilir http://stackoverflow.com/q/38860808/1560062 – David

İlgili konular