பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியல் - டேட்டாஃப்ரேம்களுடன் பைஸ்பார்க் புரோகிராமிங்



இந்த பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியல் வலைப்பதிவில், அப்பாச்சி ஸ்பார்க்கில் மாற்றங்கள் மற்றும் செயல்களைப் பற்றி பல எடுத்துக்காட்டுகளுடன் நீங்கள் அறிந்து கொள்வீர்கள்.

டேட்டாஃப்ரேம்கள் இப்போதெல்லாம் தொழில்துறையில் ஒரு முக்கிய வார்த்தை. பைதான், ஸ்கலா மற்றும் ஆர் போன்ற தரவு பகுப்பாய்விற்குப் பயன்படுத்தப்படும் பிரபலமான மொழிகளுடன் மக்கள் இதைப் பயன்படுத்த முனைகிறார்கள்.கூடுதலாக, பிக் டேட்டாவிற்கான சிக்கலான பகுப்பாய்வு மற்றும் முங்கிங் பணிகளைக் கையாள்வதற்கான தெளிவான தேவையுடன், ஸ்பார்க்குக்கான பைதான் அல்லது இன்று தொழில்துறையில் மிகவும் விரும்பப்படும் திறன்களில் ஒன்றாக மாறிவிட்டது.எனவே, எல்லோரும் ஏன் இதை அதிகம் பயன்படுத்துகிறார்கள்? இதை எங்களுடன் புரிந்துகொள்வோம் பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியல் வலைப்பதிவு. இந்த வலைப்பதிவில் நான் பின்வரும் தலைப்புகளை உள்ளடக்குவேன்:





பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியல்: டேட்டாஃப்ரேம்கள் என்றால் என்ன?

டேட்டாஃப்ரேம்கள் பொதுவாக தரவு கட்டமைப்பைக் குறிக்கின்றன, இது இயற்கையில் அட்டவணை. இது வரிசைகளை குறிக்கிறது, ஒவ்வொன்றும் பல அவதானிப்புகளைக் கொண்டுள்ளது. வரிசைகள் பலவிதமான தரவு வடிவங்களைக் கொண்டிருக்கலாம் ( பரம்பரை ), அதேசமயம் ஒரு நெடுவரிசையில் ஒரே தரவு வகையின் தரவு இருக்கலாம் ( ஒரேவிதமான ). தரவு பிரேம்கள் பொதுவாக தரவுக்கு கூடுதலாக சில மெட்டாடேட்டாவைக் கொண்டிருக்கின்றன, எடுத்துக்காட்டாக, நெடுவரிசை மற்றும் வரிசை பெயர்கள்.

Dataframe-Pyspark-Dataframe-Tutorial



டேட்டாஃப்ரேம்கள் எதுவும் இல்லை என்று நாம் கூறலாம், ஆனால் ஒரு SQL அட்டவணை அல்லது ஒரு விரிதாளைப் போன்ற 2-பரிமாண தரவு அமைப்பு. இப்போது இந்த பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியலுடன் முன்னேறி, பைஸ்பார்க் டேட்டாஃப்ரேம் நமக்கு ஏன் தேவை என்பதைப் புரிந்துகொள்வோம்?

எங்களுக்கு ஏன் டேட்டாஃப்ரேம்கள் தேவை?

1. கட்டமைக்கப்பட்ட மற்றும் அரை கட்டமைக்கப்பட்ட தரவை செயலாக்குதல்



டேட்டாஃப்ரேம்கள்செயலாக்க வடிவமைக்கப்பட்டுள்ளனக்கு பெரியது கட்டமைக்கப்பட்ட மற்றும் அரை கட்டமைக்கப்பட்ட தரவுகளின் தொகுப்பு . ஸ்பார்க் டேட்டாஃப்ரேமில் உள்ள அவதானிப்புகள் பெயரிடப்பட்ட நெடுவரிசைகளின் கீழ் ஒழுங்கமைக்கப்பட்டுள்ளன, இது டேட்டாஃப்ரேமின் திட்டத்தை புரிந்து கொள்ள அப்பாச்சி ஸ்பார்க்கிற்கு உதவுகிறது. இந்த வினவல்களில் செயல்படுத்தல் திட்டத்தை மேம்படுத்த ஸ்பார்க் உதவுகிறது. இது கையாளவும் முடியும் பெட்டாபைட்டுகள் தரவு.

2.எஸ் உரிமம் மற்றும் டைசிங்

தரவு சட்டகம் A.PI கள் பொதுவாக விரிவான முறைகளை ஆதரிக்கின்றன துண்டு துண்டாக வெட்டுதல் தகவல். இதில் அடங்கும்செயல்பாடுபெயர்கள் அல்லது எண்ணின் அடிப்படையில் வரிசைகள், நெடுவரிசைகள் மற்றும் கலங்களை 'தேர்ந்தெடுப்பது' போன்ற வரிசைகள், வரிசைகளை வடிகட்டுதல் போன்றவை. புள்ளிவிவர தரவு பொதுவாக மிகவும் குளறுபடியானது மற்றும் காணாமல் போன மற்றும் தவறான மதிப்புகள் மற்றும் வரம்பு மீறல்களைக் கொண்டுள்ளது. எனவே தரவு பிரேம்களின் ஒரு முக்கியமான அம்சம் காணாமல் போன தரவின் வெளிப்படையான மேலாண்மை ஆகும்.

3. தரவு ஆதாரங்கள்

டேட்டாஃப்ரேம் பரந்த அளவிலான தரவு வடிவம் மற்றும் ஆதாரங்களுக்கான ஆதரவைக் கொண்டுள்ளது, இதை இந்த பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியல் வலைப்பதிவில் பின்னர் பார்ப்போம். அவர்கள் பல்வேறு மூலங்களிலிருந்து தரவைப் பெறலாம்.

4. பல மொழிகளுக்கான ஆதரவு

இது பைதான், ஆர், ஸ்கலா, ஜாவா போன்ற பல்வேறு மொழிகளுக்கு ஏபிஐ ஆதரவைக் கொண்டுள்ளது,இது வெவ்வேறு நிரலாக்க பின்னணியைக் கொண்ட நபர்களால் பயன்படுத்தப்படுவதை எளிதாக்குகிறது.

புதிய புதுப்பிப்புகளைப் பெற எங்கள் யூடியூப் சேனலுக்கு குழுசேரவும் ..!

டேட்டாஃப்ரேம்களின் அம்சங்கள்

  • டேட்டாஃப்ரேம்கள் விநியோகிக்கப்பட்டது இயற்கையில், இது தவறு சகிப்புத்தன்மை மற்றும் அதிக அளவில் கிடைக்கக்கூடிய தரவு கட்டமைப்பை உருவாக்குகிறது.
  • சோம்பேறி மதிப்பீடு ஒரு மதிப்பீட்டு உத்தி என்பது ஒரு வெளிப்பாட்டின் மதிப்பு தேவைப்படும் வரை அதன் மதிப்பீட்டை வைத்திருக்கும். இது மீண்டும் மீண்டும் மதிப்பீடு செய்வதைத் தவிர்க்கிறது. ஸ்பார்க்கில் சோம்பேறி மதிப்பீடு என்பது ஒரு செயலைத் தூண்டும் வரை மரணதண்டனை தொடங்காது என்பதாகும். ஸ்பார்க்கில், தீப்பொறி மாற்றங்கள் நிகழும்போது சோம்பேறி மதிப்பீட்டின் படம் வருகிறது.
  • டேட்டாஃப்ரேம்கள் மாறாதது இயற்கையில். மாறாததன் மூலம், அது ஒரு பொருளின் நிலை என்று பொருள் மாற்ற முடியாது அது உருவாக்கப்பட்ட பிறகு.ஆனால் நாம் மாற்ற முடியும்அதன்விண்ணப்பிப்பதன் மூலம் மதிப்புகள்ஒரு குறிப்பிட்டRDD களில் உள்ளதைப் போல மாற்றம்.

பைஸ்பார்க் டேட்டாஃப்ரேம் ஆதாரங்கள்

பைஸ்பார்க்கில் உள்ள டேட்டாஃப்ரேம்களை பல வழிகளில் உருவாக்கலாம்:

ஒரு வழியாக தரவை ஏற்ற முடியும் CSV, JSON, XML அல்லது ஒரு பார்க்வெட் கோப்பு. ஏற்கனவே உள்ளதைப் பயன்படுத்தி இதை உருவாக்கலாம் ஆர்.டி.டி. மற்றும் வேறு எந்த தரவுத்தளத்தின் மூலமும் ஹைவ் அல்லது கசாண்ட்ரா அத்துடன். இது HDFS அல்லது உள்ளூர் கோப்பு முறைமையிலிருந்து தரவையும் எடுக்கலாம்.

டேட்டாஃப்ரேம் உருவாக்கம்

இந்த பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியல் வலைப்பதிவுடன் முன்னேறி, டேட்டாஃப்ரேம்களை எவ்வாறு உருவாக்குவது என்பதைப் புரிந்துகொள்வோம்.

பணியாளர் மற்றும் துறை நிகழ்வுகளை உருவாக்குவோம்.

pyspark.sql இறக்குமதியிலிருந்து * பணியாளர் = வரிசை ('முதல் பெயர்', 'கடைசி பெயர்', 'மின்னஞ்சல்', 'சம்பளம்') பணியாளர் 1 = பணியாளர் ('பாஷர்', 'கவசம்', 'bash@edureka.co', 100000) பணியாளர் 2 = பணியாளர் ('டேனியல்', 'மெங்', 'daniel@stanford.edu', 120000) பணியாளர் 3 = பணியாளர் ('முரியல்', எதுவுமில்லை, 'muriel@waterloo.edu', 140000) பணியாளர் 4 = பணியாளர் ('ரேச்சல்', 'வெண்டெல் ',' rach_3@edureka.co ', 160000) பணியாளர் 5 = பணியாளர் (' சாக் ',' கலிஃபியானாக்கிஸ் ',' zach_g@edureka.co ', 160000) அச்சு (பணியாளர் [0]) அச்சு (பணியாளர் 3) துறை 1 = வரிசை (ஐடி = '123456', பெயர் = 'HR') துறை 2 = வரிசை (ஐடி = '789012', பெயர் = 'ஓ.பி.எஸ்') துறை 3 = வரிசை (ஐடி = '345678', பெயர் = 'எஃப்.என்') துறை 4 = வரிசை (ஐடி = ' 901234 ', பெயர் =' DEV ')

அடுத்து, பணியாளர் மற்றும் துறைகளிடமிருந்து ஒரு துறையை உருவாக்குவோம்

departmentWithEmployees1 = வரிசை (துறை = துறை 1, பணியாளர்கள் = [பணியாளர் 1, பணியாளர் 2, பணியாளர் 5]) திணைக்களம் வித்எம்ப்ளாயீஸ் 2 = வரிசை (துறை = துறை 2, பணியாளர்கள் = [பணியாளர் 3, பணியாளர் 4]) திணைக்களம் ]) departmentWithEmployees4 = வரிசை (துறை = துறை 4, ஊழியர்கள் = [பணியாளர் 2, பணியாளர் 3])

வரிசைகளின் பட்டியலிலிருந்து எங்கள் டேட்டாஃப்ரேமை உருவாக்குவோம்

துறைகள் WithEmployees_Seq = [departmentWithEmployees1, DepartmentWithEmployees2] dframe = spark.createDataFrame (துறைகள் WithEmployees_Seq) காட்சி (dframe) dframe.show ()

பைஸ்பார்க் டேட்டாஃப்ரேம்கள் எடுத்துக்காட்டு 1: ஃபிஃபா உலகக் கோப்பை தரவுத்தொகுப்பு

இங்கே நாம் ஃபிஃபா உலகக் கோப்பை வீரர்கள் தரவுத்தொகுப்பை எடுத்துள்ளோம். CSV வடிவத்தில் இருக்கும் இந்தத் தரவை ஏற்றப் போகிறோம்ஒருடேட்டாஃப்ரேம், பின்னர் இந்த டேட்டாஃப்ரேமில் செய்யக்கூடிய வெவ்வேறு மாற்றங்கள் மற்றும் செயல்களைப் பற்றி அறிந்து கொள்வோம்.

CSV கோப்பிலிருந்து தரவைப் படித்தல்

CSV கோப்பிலிருந்து தரவை ஏற்றுவோம். இங்கே நாம் பயன்படுத்தப் போகிறோம் spark.read.csv டேட்டாஃப்ரேமில் ஃபிஃபா_டிஎஃப் இல் தரவை ஏற்றுவதற்கான முறை. உண்மையான முறை spark.read.format [csv / json] .

fifa_df = spark.read.csv ('file-of-file / fifa_players.csv', inferSchema = உண்மை, தலைப்பு = உண்மை) fifa_df.show ()

டேட்டாஃப்ரேமின் திட்டம்

ஸ்கீமாவைப் பார்க்க வேண்டும். டேட்டாஃப்ரேமின் கட்டமைப்பு, நாங்கள் பயன்படுத்துவோம் printSchema முறை. இது எங்கள் டேட்டாஃப்ரேமில் உள்ள தரவு நெடுவரிசை மற்றும் குறிப்பிட்ட நெடுவரிசைக்கான நிபந்தனைகளுடன் வெவ்வேறு நெடுவரிசைகளை வழங்கும்.

fifa_df.printSchema ()

நெடுவரிசை பெயர்கள் மற்றும் எண்ணிக்கை (வரிசைகள் மற்றும் நெடுவரிசை)

ஒரு குறிப்பிட்ட டேட்டாஃப்ரேமின் பெயர்கள் மற்றும் வரிசைகள் மற்றும் நெடுவரிசைகளின் எண்ணிக்கையைப் பார்க்க விரும்பினால், பின்வரும் முறைகளைப் பயன்படுத்துகிறோம்.

fifa_df.columns // நெடுவரிசை பெயர்கள் fifa_df.count () // வரிசை எண்ணிக்கை லென் (fifa_df.columns) // நெடுவரிசை எண்ணிக்கை

37784 8

ஒரு குறிப்பிட்ட நெடுவரிசையை விவரிக்கிறது

டேட்டாஃப்ரேமின் ஏதேனும் ஒரு குறிப்பிட்ட நெடுவரிசையின் சுருக்கத்தைப் பார்க்க விரும்பினால், நாங்கள் அதைப் பயன்படுத்துகிறோம் விவரிக்கிறது முறை. இந்த முறை கொடுக்கப்பட்ட நெடுவரிசையின் புள்ளிவிவர சுருக்கத்தை நமக்குத் தருகிறது, குறிப்பிடப்படவில்லை எனில், இது தரவுச் சட்டத்தின் புள்ளிவிவர சுருக்கத்தை வழங்குகிறது.

ஜாவா எடுத்துக்காட்டில் மார்க்கர் இடைமுகம்
fifa_df.describe ('பயிற்சியாளரின் பெயர்'). காட்டு () fifa_df.describe ('நிலை'). காட்டு ()

பல நெடுவரிசைகளைத் தேர்ந்தெடுப்பது

டேட்டாஃப்ரேமில் இருந்து குறிப்பிட்ட நெடுவரிசைகளைத் தேர்ந்தெடுக்க விரும்பினால், நாங்கள் அதைப் பயன்படுத்துகிறோம் தேர்ந்தெடுக்கவும் முறை.

fifa_df.select ('பிளேயர் பெயர்', 'பயிற்சியாளரின் பெயர்'). காட்டு ()

தனித்துவமான பல நெடுவரிசைகளைத் தேர்ந்தெடுப்பது

fifa_df.select ('பிளேயர் பெயர்', 'பயிற்சியாளரின் பெயர்'). தனித்துவமான (). காட்டு ()

தரவை வடிகட்டுதல்

தரவை வடிகட்ட, குறிப்பிட்ட நிபந்தனைக்கு ஏற்ப, நாங்கள் பயன்படுத்துகிறோம் வடிகட்டி கட்டளை. போட்டி ஐடி 1096 க்கு சமமாக இருக்க வேண்டும் என்ற நிபந்தனையின் அடிப்படையில் இங்கே எங்கள் டேட்டாஃப்ரேமை வடிகட்டுகிறோம், பின்னர் வடிகட்டப்பட்ட வெளியீட்டில் எத்தனை பதிவுகள் / வரிசைகள் உள்ளன என்பதைக் கணக்கிடுகிறோம்.

fifa_df.filter (fifa_df.MatchID == '1096'). காட்டு () fifa_df.filter (fifa_df.MatchID == '1096'). எண்ணைப் பெற () //

தரவை வடிகட்டுதல் (பல அளவுருக்கள்)

பல நிபந்தனைகளின் அடிப்படையில் (AND அல்லது OR) எங்கள் தரவை வடிகட்டலாம்

fifa_df.filter ((fifa_df.Position == 'C') && (fifa_df.Event == 'G40' ')). காட்டு ()

தரவை வரிசைப்படுத்துதல் (ஆர்டர் பை)

நாங்கள் பயன்படுத்தும் தரவை வரிசைப்படுத்த உத்தரவின் படி முறை. இயல்புநிலையாக, இது ஏறுவரிசையில் வரிசைப்படுத்துகிறது, ஆனால் அதை இறங்கு வரிசையிலும் மாற்றலாம்.

fifa_df.orderBy (fifa_df.MatchID) .ஷோ ()

பைஸ்பார்க் டேட்டாஃப்ரேம்கள் எடுத்துக்காட்டு 2: சூப்பர் ஹீரோஸ் தரவுத்தொகுதி

தரவை ஏற்றுகிறது

இங்கே நாம் முன்பு செய்ததைப் போலவே தரவை ஏற்றுவோம்.

Superhero_df = spark.read.csv ('file-of file / superheros.csv', inferSchema = உண்மை, தலைப்பு = உண்மை) Superhero_df.show (10)

தரவை வடிகட்டுதல்

Superhero_df.filter (Superhero_df.Gender == 'ஆண்'). எண்ணிக்கை () // ஆண் ஹீரோக்கள் சூப்பர் ஹீரோ_டி.எஃப்.பில்டர் (சூப்பர் ஹீரோ_டி.எஃப்.ஜெண்டர் == 'பெண்'). எண்ணிக்கை () // பெண் ஹீரோக்களின் எண்ணிக்கை

தரவை தொகுத்தல்

குரூப் பை குறிப்பிடப்பட்ட நெடுவரிசையின் அடிப்படையில் டேட்டாஃப்ரேமை தொகுக்க பயன்படுகிறது. இங்கே, ரேஸ் நெடுவரிசையின் அடிப்படையில் டேட்டாஃப்ரேமை தொகுக்கிறோம், பின்னர் எண்ணிக்கை செயல்பாடு, குறிப்பிட்ட இனத்தின் எண்ணிக்கையை நாம் காணலாம்.

ரேஸ்_டிஎஃப் = சூப்பர் ஹீரோ_டிஎஃப்.குரூபி ('ரேஸ்') .கணவு () .ஷோ ()

SQL வினவல்களைச் செய்கிறது

SQL வினவல்களை எந்தவொரு டேட்டாஃப்ரேமிற்கும் நேரடியாக அனுப்பலாம், அதற்காக டேட்டாஃப்ரேமிலிருந்து ஒரு அட்டவணையை உருவாக்க வேண்டும் registerTempTable முறை மற்றும் பின்னர் பயன்படுத்த sqlContext.sql () SQL வினவல்களை அனுப்ப.

Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('superhero_table இலிருந்து * தேர்ந்தெடுக்கவும்'). காட்டு ()

sqlContext.sql ('சூப்பர் ஹீரோ_டேபிளிலிருந்து தனித்துவமான (கண்_ வண்ணம்) தேர்ந்தெடுக்கவும்'). காட்டு ()

sqlContext.sql ('சூப்பர் ஹீரோ_டேபிளிலிருந்து தனித்துவமான (கண்_ வண்ணம்) தேர்ந்தெடுக்கவும்'). எண்ணிக்கை ()

2. 3

sqlContext.sql ('சூப்பர் ஹீரோ_டேபிளிலிருந்து அதிகபட்சம் (எடை) தேர்ந்தெடுக்கவும்'). காட்டு ()

இதன் மூலம், இந்த பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியலின் முடிவுக்கு வருகிறோம்.

எனவே இது தான், நண்பர்களே!

பைஸ்பார்க் டேட்டாஃப்ரேம் என்றால் என்ன, இது ஏன் தொழில்துறையில் பயன்படுத்தப்படுகிறது மற்றும் இந்த பைஸ்பார்க் டேட்டாஃப்ரேம் டுடோரியல் வலைப்பதிவில் அதன் அம்சங்கள் பற்றி உங்களுக்கு ஒரு யோசனை கிடைத்தது என்று நம்புகிறேன். வாழ்த்துக்கள், நீங்கள் இனி டேட்டாஃப்ரேம்களுக்கான புதியவர் அல்ல. நீங்கள் பைஸ்பார்க் பற்றி மேலும் அறிய மற்றும் வெவ்வேறு தொழில் பயன்பாட்டு வழக்குகளைப் புரிந்து கொள்ள விரும்பினால், எங்களைப் பாருங்கள் பைத்தானுடன் தீப்பொறி மற்றும் பைஸ்பார்க் பயிற்சி வலைப்பதிவு.