Въведение в 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
- Кадърът от данни е разпределеното събиране на данни и следователно данните са организирани по имена.
- Те са повече или по-малко подобни на таблицата в случай на релационни бази данни и имат богат набор от оптимизация.
- Dataframes се използват за овластяване на заявките, написани в SQL, а също и API на рамката за данни
- Може да се използва за обработка както на структурирани, така и на неструктурирани видове данни.
- Използването на оптимизатор на катализатор прави оптимизацията лесна и ефективна.
- Библиотеките присъстват на много езици като Python, Scala, Java и R.
- Това се използва за осигуряване на силна съвместимост с Hive и се използва за изпълнение на немодифицирани заявки на Hive във вече наличния склад на кошера.
- Той може да скалира много добре от няколко килограма в личната система до много петабайта в големите клъстери.
- Използва се за осигуряване на лесно ниво на интеграция с други технологии и рамки за големи данни.
- Абстракцията, която те предоставят на RDD, е ефективна и прави обработката по-бърза.
Заключение - Spark DataFrame
В тази публикация научихте една много важна характеристика на Apache Spark, която представлява кадрите с данни и използването им в приложенията, работещи днес, заедно с операции и предимства. Надявам се, че сте харесали нашата статия. Следете за повече подобни.
Препоръчителни статии
Това е ръководство за Spark DataFrame. Тук обсъждаме как да създадем DataFrame? неговите предимства и различни операции на DataFrames, заедно със съответния примерен код. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Искрено стрийминг
- Как да инсталирате Spark
- Кариера в Spark
- Искрови въпроси за интервю
- Рамки за данни в R
- 7 различни вида съединения в Spark SQL (примери)
- PySpark SQL | Модули и методи на PySpark SQL
- Искрови компоненти | Преглед на компонентите на искрата