Wprowadzenie do Spark DataFrame

Ramkę danych Spark można powiedzieć, że jest rozproszoną kolekcją danych, która jest zorganizowana w nazwane kolumny i jest również używana do zapewnienia takich operacji, jak filtrowanie, obliczanie agregacji, grupowanie, a także może być używana z Spark SQL. Ramki danych można tworzyć przy użyciu plików danych strukturalnych, wraz z istniejącymi RDD, zewnętrznymi bazami danych i tabelami Hive. Jest w zasadzie określany i znany jako warstwa abstrakcji, która jest zbudowana na RDD, a za nim znajduje się także interfejs API zestawu danych, który został wprowadzony w późniejszych wersjach Spark (2.0 +). Ponadto zestawy danych nie zostały wprowadzone w Pyspark, ale tylko w Scali z Spark, ale nie było tak w przypadku ramek danych. Ramki danych popularnie zwane DF to logiczne formaty kolumnowe, dzięki którym praca z RDD jest łatwiejsza i wygodniejsza, a także korzystanie z tych samych funkcji co RDD w ten sam sposób. Jeśli mówisz więcej na poziomie koncepcyjnym, jest to równoważne tabelom relacyjnym wraz z dobrymi funkcjami i technikami optymalizacji.

Jak utworzyć ramkę danych?

Ramka danych jest generalnie tworzona za pomocą dowolnej z wymienionych metod. Można go utworzyć przy użyciu tabel Hive, zewnętrznych baz danych, plików danych strukturalnych lub nawet w przypadku istniejących RDD. Te wszystkie sposoby umożliwiają utworzenie nazwanych kolumn zwanych ramkami danych wykorzystywanymi do przetwarzania w Apache Spark. Korzystając z SQLContext lub SparkSession, aplikacje mogą być używane do tworzenia ramek danych.

Spark Operacje DataFrames

W Spark ramka danych to dystrybucja i zbieranie zorganizowanej formy danych do nazwanych kolumn, która jest równoważna relacyjnej bazie danych lub schematu lub ramce danych w języku takim jak R lub python, ale wraz z bogatszym poziomem optymalizacji być stosowane. Służy do zapewnienia określonego rodzaju domeny w języku, który może być wykorzystywany do manipulacji danymi strukturalnymi.

Poniżej wymieniono niektóre podstawowe operacje przetwarzania danych strukturalnych przy użyciu ramek danych.

1. Czytanie dokumentu typu: JSON: Korzystamy z polecenia sqlContext.read.json.

Przykład: Załóżmy, że nasza nazwa pliku to student.json, wówczas nasz fragment kodu będzie wyglądał następująco:
val dfs= sqlContext.read.json(“student.json”)

Dane wyjściowe: w tym przypadku dane wyjściowe będą takie, że nazwy pól zostaną automatycznie pobrane z pliku student.json.

2. Wyświetlanie danych: Aby zobaczyć dane w ramkach danych Spark, musisz użyć polecenia:
dfs.show ()

Przykład: Załóżmy, że nasza nazwa pliku to student.json, wówczas nasz fragment kodu będzie wyglądał następująco:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Wynik : dane studenta zostaną przedstawione w formie tabelarycznej.

3. Przy użyciu metody printSchema: Jeśli chcesz zobaczyć strukturę, tj. Schemat ramki danych, skorzystaj z następującego polecenia: dfs.printSchema ()

Przykład: Załóżmy, że nasza nazwa pliku to student.json, wówczas nasz fragment kodu będzie wyglądał następująco:

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

Dane wyjściowe: struktura lub schemat będą dostępne

4. Użyj metody select: Aby użyć metody select, do pobrania nazw i kolumn z listy ramek danych zostanie użyte następujące polecenie.
dfs.select („nazwa kolumny”). show ()

Przykład: Załóżmy, że nasza nazwa pliku to student.json, wówczas nasz fragment kodu będzie wyglądał następująco:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Dane wyjściowe: można zobaczyć wartości kolumny nazwy.

5. Korzystanie z filtra wiekowego: Aby znaleźć grupę uczniów w wieku powyżej 23 lat, można użyć następującego polecenia.
dfs.filter (dfs („nazwa kolumny”)> wartość) .show ()

Przykład: Załóżmy, że nasza nazwa pliku to student.json, wówczas nasz fragment kodu będzie wyglądał następująco:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Wynik : przefiltrowany wiek dla więcej niż 23 pojawi się w wynikach.

6. Korzystanie z metody groupBy: Następująca metoda może być wykorzystana do zliczenia liczby uczniów w tym samym wieku.
dfs.groupBy („nazwa kolumny”). count (). show ()

Przykład: Załóżmy, że nasza nazwa pliku to student.json, wówczas nasz fragment kodu będzie wyglądał następująco:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. Użycie funkcji SQL na SparkSession, która umożliwia programowi programowe wykonywanie zapytań typu SQL, a zatem zwraca wynik w postaci ramki danych.
spark.sql (zapytanie)

Przykład: Załóżmy, że musimy zarejestrować ramkę danych SQL jako widok tymczasowy, a następnie:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Dane wyjściowe: tymczasowy widok zostanie utworzony na podstawie nazwiska ucznia, a na nim zostanie nałożony spark.sql w celu konwersji go do ramki danych.

8. Korzystanie z funkcji SQL podczas sesji Spark dla globalnego widoku tymczasowego: Umożliwia aplikacji programowe wykonywanie zapytań typu SQL, a tym samym zwraca wynik w postaci ramki danych.
spark.sql (zapytanie)

Przykład: Załóżmy, że musimy zarejestrować ramkę danych SQL jako widok tymczasowy, a następnie:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Dane wyjściowe: tymczasowy widok zostanie utworzony na podstawie nazwiska ucznia, a na nim zostanie nałożony spark.sql w celu konwersji go do ramki danych.

Zalety Spark DataFrame

  1. Ramka danych jest rozproszonym zbiorem danych, dlatego dane są uporządkowane według nazwanej kolumny.
  2. Są one mniej więcej podobne do tabeli w przypadku relacyjnych baz danych i mają bogaty zestaw optymalizacji.
  3. Ramki danych służą do wzmocnienia zapytań napisanych w języku SQL, a także interfejsu API ramki danych
  4. Może być wykorzystywany do przetwarzania zarówno danych strukturalnych, jak i nieustrukturyzowanych.
  5. Zastosowanie optymalizatora katalizatora sprawia, że ​​optymalizacja jest łatwa i skuteczna.
  6. Biblioteki są obecne w wielu językach, takich jak Python, Scala, Java i R.
  7. Służy to do zapewnienia silnej zgodności z gałęzią i służy do uruchamiania niezmodyfikowanych zapytań dotyczących gałęzi w już istniejącym magazynie gałęzi.
  8. Można go bardzo dobrze skalować od kilku kilogramów w systemie osobistym do wielu petabajtów w dużych klastrach.
  9. Służy do zapewnienia łatwego poziomu integracji z innymi technologiami i strukturami dużych zbiorów danych.
  10. Abstrakcja, którą zapewniają RDD, jest wydajna i przyspiesza przetwarzanie.

Wniosek - Spark DataFrame

W tym poście nauczyłeś się bardzo krytycznej funkcji Apache Spark, jaką są ramki danych i ich użycie w aplikacjach działających dzisiaj wraz z operacjami i zaletami. Mam nadzieję, że podoba ci się nasz artykuł. Sprawdzaj więcej takich.

Polecane artykuły

To był przewodnik po Spark DataFrame. Tutaj omawiamy sposób utworzenia DataFrame? zalety i różne operacje DataFrames wraz z odpowiednim przykładowym kodem. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Spark Streaming
  2. Jak zainstalować Spark
  3. Kariera w Spark
  4. Pytania do wywiadu Spark
  5. Ramki danych w R.
  6. 7 różnych typów połączeń w Spark SQL (przykłady)
  7. PySpark SQL | Moduły i metody PySpark SQL
  8. Komponenty iskrowe | Przegląd komponentów Spark

Kategoria: