Apache Spark SQL a API DataFrame DataSet – czy jest różnica w wydajności podczas wykonania zapytania ? – Dowiedz się w 3 minuty!

You are currently viewing Apache Spark SQL a API DataFrame DataSet – czy jest różnica w wydajności podczas wykonania zapytania ? – Dowiedz się w 3 minuty!
Share This Post, Help Others, And Earn My Heartfelt Appreciation! :)
4.8
(210)

Apache Spark SQL a API DataFrame DataSet

Nie ma różnicy w wydajności między tymi dwoma metodami!

Rozważmy dwie metody odczytu danych z tej samej tabeli Hive (Apache Spark SQL a API DataFrame DataSet) .W obu przypadkach plan wykonania będzie taki sam, ponieważ w obu przypadkach użoty optymalizatora Catalyst oraz silnika Tangsten, który jest dostępny od Sparka 2.0 (Tangsten). W przyszłości przygotuję posty na temat Catalyst i Tangsten, aby przybliżyć Ci ich działanie.

val testDataSetDF = spark.sqlContext.table("bigdata_etl.some_dataset").withColumn("age_label", when($"age" = 30, "thirty-year-old person").otherwise("Other"))
val testDataSetDF = spark.sqlContext.sql("SELECT *, CASE WHEN age = 30 THEN 'thirty-year-old person' ELSE 'Other' END age_label FROM bigdata_etl.some_dataset")

Różnica jest tylko w składni. Wybierz tą, która jest Ci bliższa. Osobiście uważam, że powinno się korzystać z pierwszej wersji. Druga opcja z pisaniem zapytania SQL ma tą zaletę, że możemy w zapytaniu odnosić się do tabel tymczasowych (temporary tables).

// Referencja do tabeli tymczasowej
val testDataSetDF = spark.sqlContext.table("bigdata_etl.some_dataset").withColumn("age_label", when($"age" = 30, "thirty-year-old person").otherwise("Other"))
testDataSetDF.createOrReplaceTempView("someDataSetTempView")
val only30thPersons = spark.sqlContext.sql("SELECT * FROM someDataSetTempView where age_label = 'thirty-year-old person'")

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej lub udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

How useful was this post?

Click on a star to rate it!

Average rating 4.8 / 5. Vote count: 210

No votes so far! Be the first to rate this post.

Subscribe
Powiadom o
guest
0 Comments
Inline Feedbacks
View all comments