آموزش اسپارک- tutorial3- کریش نایک

در این آموزش موارد زیر مرور میشود:

  • Dropping Columns
  • Dropping Rows
  • Various Parameter In Dropping functionalities
  • Handling Missing values by Mean, MEdian And Mode

ابتدا کتابخانه را نصب میکنیم:

pip install pyspark

سپس دستورات الزامی برای ایجاد سشن اسپارک و انتخاب نامی برای آن:

from pyspark.sql import SparkSession
spark=SparkSession.builder.appName('Practise').getOrCreate()

انتخاب دیتابیس موجود که یک فایل csv است.

df_pyspark=spark.read.csv('table.csv',header=True,inferSchema=True)

نمایش اسکیمای دیتا:

df_pyspark.printSchema()

df_pyspark.show()

حذف ستون name از دیتابیس:

##drop the columns
df_pyspark.drop('Name').show()

df_pyspark.show()

حذف ردیف هایی که مقدار null دارند:

df_pyspark.na.drop().show()


در کد زیر اگر پارامتر how در حالت any باشد، هر ردیفی که مقدار نول داشته باشد حذف میشود. و در حال all تنها در صورتی که همه مقادیر نول باشد، حذف خواهد شد.

### any==how
df_pyspark.na.drop(how="any").show()

در کد زیر، ترشلد تعیین میکند که شرط حذف شدن ردیف ها چه تعداد صفر باشد.

##threshold-- 
df_pyspark.na.drop(how="any",thresh=1).show()

در کد زیر با subset تعیین میکنیم که کدام ستون مد نظر باشد:

##Subset-- delet nan values only from the subset column
df_pyspark.na.drop(how="any",subset=['Age']).show()

در کد زیر میگوییم مقادیر na را با رشته Missing Values جایگزین کن و دو ستون ذکر شده را فقط در نظر بگیر.

### Filling the Missing Value
df_pyspark.na.fill('Missing Values',['Experience','age']).show()

با کد زیر مقدار نول را با مقدار mean جایگذاری میکنیم:

# like the same in sklearn library
from pyspark.ml.feature import Imputer

imputer = Imputer(
    inputCols=['age', 'Experience', 'Salary'], 
    outputCols=["{}_imputed".format(c) for c in ['age', 'Experience', 'Salary']]
    ).setStrategy("median")

و با کد زیر fit و transform میکنیم:

imputer.fit(df_pyspark).transform(df_pyspark).show()

قسمت بعدی : فیلترها

منابع:

1- ویدئو کریش –tutorial 3

2-گیتهاب کریش-

3- گیتهاب strumer

منتشر شده در
دسته‌بندی شده در spark

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد.