Въведение в Spark DataFrame

Кадър с данни за искра може да се каже, че е разпределено събиране на данни, което е организирано в именани колони и също така се използва за осигуряване на операции като филтриране, изчисляване на агрегации, групиране и също така може да се използва с Spark SQL. Кадрите от данни могат да бъдат създадени чрез използване на структурирани файлове с данни, заедно със съществуващите RDD, външни бази данни и Hive таблици. Основно се нарича и е известен като абстракционен слой, който е изграден върху RDD, а също е последван от API на набора от данни, който беше въведен в по-късни версии на Spark (2.0 +). Освен това, наборите от данни не бяха въведени в Pyspark, а само в Scala с Spark, но това не беше така в случай на Dataframes. Кадрите с данни, известни като DFs, са логически колонови формати, които правят работата с RDD по-лесна и по-удобна, като също така използват същите функции като RDD по същия начин. Ако говорите повече на концептуално ниво, това е еквивалентно на релационните таблици, заедно с добри оптимизационни функции и техники.

Как да създадете DataFrame?

Данната рамка обикновено се създава по някой от споменатите методи. Тя може да бъде създадена чрез използване на таблици на Hive, външни бази данни, структурирани файлове с данни или дори в случай на съществуващи RDD. Тези всички начини могат да създадат тези именани колони, известни като Dataframes, използвани за обработката в Apache Spark. Чрез използване на приложения SQLContext или SparkSession могат да се използват за създаване на Dataframes.

Искрови операции на DataFrames

В Spark, рамката от данни е разпространението и събирането на организирана форма на данни в именувани колони, което е еквивалентно на релационна база данни или схема или рамка от данни на език като R или python, но заедно с по-богато ниво на оптимизации да се използва. Използва се за предоставяне на специфичен вид домейн език, който може да се използва за манипулиране на структурирани данни.

По-долу споменатите са някои основни операции на структурирана обработка на данни чрез използване на Dataframes.

1. Четене на документ от тип: JSON: Ще използваме командата sqlContext.read.json.

Пример: Нека предположим, че името на файла ни е student.json, тогава нашата част от кода ще изглежда така:
val dfs= sqlContext.read.json(“student.json”)

Изход: В този случай изходът ще бъде, че имената на полета ще бъдат автоматично взети от файла student.json.

2. Показване на данни: За да видите данните в кадрите с данни Spark, трябва да използвате командата:
dfs.show ()

Пример: Нека предположим, че името на файла ни е student.json, тогава нашата част от кода ще изглежда така:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Резултат: Данните за студентите ще ви бъдат представени в табличен формат.

3. Използване на метода printSchema: Ако се интересувате да видите структурата, т.е. схемата на рамката с данни, използвайте следната команда: dfs.printSchema ()

Пример: Нека предположим, че името на файла ни е student.json, тогава нашата част от кода ще изглежда така:

val dfs= sqlContext.read.json(“student.json”)
dfs. printSchema ()

Резултат: Структурата или схемата ще ви бъдат представени

4. Използвайте метода за избор: За да използвате метода за избор, следната команда ще бъде използвана за извличане на имената и колоните от списъка с рамки с данни.
dfs.select ( "колона-име"). покаже ()

Пример: Нека предположим, че името на файла ни е student.json, тогава нашата част от кода ще изглежда така:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Изход: Стойностите на колоната с име могат да се видят.

5. Използване на филтър за възрастта: Следната команда може да се използва за намиране на обхвата на учениците, чиято възраст е повече от 23 години.
dfs.filter (dfs („име на колона“)> стойност). show ()

Пример: Нека предположим, че името на файла ни е student.json, тогава нашата част от кода ще изглежда така:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Резултат: Филтрираната възраст за повече от 23 ще се появи в резултати.

6. Използване на метода groupBy: Следният метод може да се използва за преброяване на броя на учениците на една и съща възраст.
dfs.groupBy ( "колона-име"). брои (). покаже ()

Пример: Нека предположим, че името на файла ни е student.json, тогава нашата част от кода ще изглежда така:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. Използване на SQL функция при SparkSession, която позволява на приложението да изпълнява заявки от тип SQL програмно и по този начин връща резултата под формата на рамка от данни.
spark.sql (заявка)

Пример: Да предположим, че след това трябва да регистрираме SQL кадъра с данни като temp изглед:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Резултат: Ще се създаде временен изглед от името на студента и отгоре ще бъде приложен искра.sql, за да го преобразува в рамка от данни.

8. Използване на SQL функция при Spark Session for Global временен изглед: Това дава възможност на приложението да изпълнява заявки от тип SQL програмно и по този начин връща резултата под формата на рамка от данни.
spark.sql (заявка)

Пример: Да предположим, че след това трябва да регистрираме SQL кадъра с данни като temp изглед:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Резултат: Ще се създаде временен изглед от името на студента и отгоре ще бъде приложен искра.sql, за да го преобразува в рамка от данни.

Предимства на Spark DataFrame

  1. Кадърът от данни е разпределеното събиране на данни и следователно данните са организирани по имена.
  2. Те са повече или по-малко подобни на таблицата в случай на релационни бази данни и имат богат набор от оптимизация.
  3. Dataframes се използват за овластяване на заявките, написани в SQL, а също и API на рамката за данни
  4. Може да се използва за обработка както на структурирани, така и на неструктурирани видове данни.
  5. Използването на оптимизатор на катализатор прави оптимизацията лесна и ефективна.
  6. Библиотеките присъстват на много езици като Python, Scala, Java и R.
  7. Това се използва за осигуряване на силна съвместимост с Hive и се използва за изпълнение на немодифицирани заявки на Hive във вече наличния склад на кошера.
  8. Той може да скалира много добре от няколко килограма в личната система до много петабайта в големите клъстери.
  9. Използва се за осигуряване на лесно ниво на интеграция с други технологии и рамки за големи данни.
  10. Абстракцията, която те предоставят на RDD, е ефективна и прави обработката по-бърза.

Заключение - Spark DataFrame

В тази публикация научихте една много важна характеристика на Apache Spark, която представлява кадрите с данни и използването им в приложенията, работещи днес, заедно с операции и предимства. Надявам се, че сте харесали нашата статия. Следете за повече подобни.

Препоръчителни статии

Това е ръководство за Spark DataFrame. Тук обсъждаме как да създадем DataFrame? неговите предимства и различни операции на DataFrames, заедно със съответния примерен код. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Искрено стрийминг
  2. Как да инсталирате Spark
  3. Кариера в Spark
  4. Искрови въпроси за интервю
  5. Рамки за данни в R
  6. 7 различни вида съединения в Spark SQL (примери)
  7. PySpark SQL | Модули и методи на PySpark SQL
  8. Искрови компоненти | Преглед на компонентите на искрата

Категория: