В това ръководство ще видим как да начертаем PySpark Data на хистограма. Тук можем да видим два сценария. Хистограмата се създава на PySpark Pandas DataFrame и на RDD данни. За тези два сценария PySpark предоставя две функции: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.
Тема на съдържанието:
- Начертайте хистограма върху PySpark Pandas DataFrame
- Начертайте хистограма върху PySpark Pandas DataFrame с параметъра Bins
- Начертайте хистограма на PySpark RDD, като посочите номера на кофата
- Начертайте хистограма на PySpark RDD, като посочите размера на всяка кофа
Pyspark.pandas.DataFrame.plot.hist()
В този сценарий хистограмата се показва като графично представяне на данни, което групира диапазон от класове в колони (от PySpark Pandas DataFrame) заедно с хоризонталната ос x. Оста Y представлява броят на срещанията в PySpark Pandas DataFrame за всяка колона.
Синтаксис:
pyspark_pandas_DataFrame.plot.hist(bins,...)
Той приема общия брой контейнери като незадължителен параметър, който е цяло число и някои незадължителни аргументи на ключови думи. Ако контейнерите не са посочени за всяка колона, се създава лента.
Начертайте хистограма върху PySpark Pandas DataFrame
Създайте PySpark Pandas DataFrame с 2 колони с 4 записа. Начертайте хистограмата, без да подавате параметър към функцията plot.hist().
от pyspark import pandaspyspark_pandas_dataframe=pandas.DataFrame({ „височина на сградата“ :[ 120,56 , 234,67 , 12.0 , 200.45 ], „Сградна_площ“ :[ 2 , 3 , 1 , 4 ]})
печат (pyspark_pandas_dataframe)
# Хистограма на PySpark-Pandas
pyspark_pandas_dataframe.plot.hist()
Изход:
Тук имената на колоните са “Building_height” и “Building_Area”.
Нека да разгледаме хистограмата:
Общият брой редове в предишния DataFrame е 4. И така, създадени са 4 контейнера.
Начертайте хистограма върху PySpark Pandas DataFrame с параметъра Bins
Създайте PySpark Pandas DataFrame с 2 колони с 4 записа. Начертайте хистограмата, без да подавате параметър към функцията plot.hist().
от pyspark import pandaspyspark_pandas_dataframe=pandas.DataFrame({ „височина на сградата“ :[ 120,56 , 234,67 , 12.0 , 200.45 ], „Сградна_площ“ :[ 2 , 3 , 1 , 4 ]})
# Хистограма на PySpark-Pandas с 2 контейнера
pyspark_pandas_dataframe.plot.hist(bins= 2 )
Изход:
Тук имената на колоните са “Building_height” и “Building_Area”.
Нека да разгледаме хистограмата – червеното се отнася за „Building_Area“, а синьото се отнася до колоната „Building_height“:
Както посочихме, бяха създадени само 2 кошчета и 2 ленти. Четири реда са групирани в 2 кофи тук.
Начертайте хистограма на PySpark RDD, като посочите номер на кофа
Когато работите с RDD, хистограмата може да бъде върната под формата на кортеж, който включва групите и общите стойности, които присъстват във всяка група.
Синтаксис:
pyspark_RDD.хистограма (кофи)В този сценарий предаваме броя на кофите (цяло число), които са включени в хистограмата. Той връща кортежа от списъци, които включват диапазоните на кофата и съответните появявания на стойности в следния формат: ([диапазони на кофа...], [повторени стойности...]).
Пример 1:
Нека създадем RDD с име „Building_height“ с 10 стойности и да създадем хистограма с 3 кофи.
импортиране на pysparkот pyspark.sql импортирайте SparkSession
от pyspark.rdd импортирайте RDD
spark_app = SparkSession.builder.appName( 'линукс' ).getOrCreate()
# Създайте RDD с 10 стойности
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
печат ( „Действително:“ ,Building_height.collect())
# Посочване на 3 кофи
Building_height.histogram( 3 )
Изход:
- Bucket-1 варира от 12,0 до 86,223 : В този диапазон общият брой на стойностите, присъстващи в кофата, е 5.
- Bucket-2 варира от 86.223 до 160.446 : В този диапазон общият брой на стойностите в кофата е 3.
- Bucket-3 варира от 160,446 до 234,67 : В този диапазон общият брой на стойностите, присъстващи в кофата, е 2.
Пример 2:
Създайте хистограма с 2 кофи върху предварително създадения RDD.
импортиране на pysparkот pyspark.sql импортирайте SparkSession
от pyspark.rdd импортирайте RDD
spark_app = SparkSession.builder.appName( 'линукс' ).getOrCreate()
# Създайте RDD с 10 стойности
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
печат ( „Действително:“ ,Building_height.collect())
# Посочване на 2 кофи
Building_height.histogram( 2 )
Изход:
- Кофа 1 варира от 12,0 до 123,335. В този диапазон общият брой стойности, които присъстват в кофата, е 8.
- Кофа 2 варира от 123,335 до 234,67: В този диапазон общият брой стойности, които присъстват в кофата, е 2.
Начертайте хистограма на PySpark RDD, като посочите размера на всяка кофа
В предишния сценарий предадохме кофите на функцията RDD.histogram(). Сега предаваме размерите на кофата един след друг в списък и предаваме този списък като параметър на тази функция. Уверете се, че трябва да посочим поне две кофи в нарастващ/възходящ ред и няма да има дублиращи се стойности.
Синтаксис:
pyspark_RDD.histogram([кофички диапазони...])В този сценарий предаваме броя на кофите (цяло число), които са включени в хистограмата. Той връща кортежа от списъци, които включват диапазоните на кофата и съответните появявания на стойности в следния формат: ([диапазони на кофа...], [повторени стойности...]).
Пример 1:
Нека създадем RDD с име „Building_height“ с 10 стойности и да създадем хистограма с диапазон от стойности на буфера [0, 50, 100, 150, 200, 250].
импортиране на pysparkот pyspark.sql импортирайте SparkSession
от pyspark.rdd импортирайте RDD
spark_app = SparkSession.builder.appName( 'линукс' ).getOrCreate()
# Създайте RDD с 10 стойности
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
печат ( „Действително:“ ,Building_height.collect())
# Указване на кофа с размер - [0,50,100,150,200,250]
Building_height.histogram([ 0 , петдесет , 100 , 150 , 200 , 250 ])
Изход:
- Кофа 1: (0 до 50) : Общите стойности в тази група са 3.
- Кофа 1: (50 до 100) : Общите стойности в тази кофа са 2.
- Кофа 1: (100 до 150) : Общите стойности в тази кофа са 2.
- Кофа 1: (150 до 200) : Общите стойности в тази кофа са 2.
- Кофа 1: (200 до 250) : Общите стойности в тази кофа са 2.
Пример 2:
Създайте хистограма с диапазон от стойности на кофата [0, 100, 200, 300].
импортиране на pysparkот pyspark.sql импортирайте SparkSession
от pyspark.rdd импортирайте RDD
spark_app = SparkSession.builder.appName( 'линукс' ).getOrCreate()
# Създайте RDD с 10 стойности
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
печат ( „Действително:“ ,Building_height.collect())
# Указване на кофа с размер - [0,100,200,300]
Building_height.histogram([ 0 , 100 , 200 , 300 ])
Изход:
- Кофа 1: (0 до 100). Общата стойност в тази кофа е 5.
- Кофа 2: (100 до 200). Общата стойност в тази кофа е 3.
- Кофа 3: (200 до 300). Общата стойност в тази кофа е 2.
Заключение
Видяхме как да създаваме хистограми в PySpark на PySpark Pandas DataFrame и RDD. histogram() е функцията, която се използва за получаване на хистограмата на RDD данни. plot.hist() се използва за показване на хистограмата на PySpark Pandas DataFrame. Обсъдихме тези функции с примери, като покрихме всички параметри.