PySpark DataFrame ஐ CSV ஆக மாற்றுகிறது

Pyspark Dataframe Ai Csv Aka Marrukiratu



PySpark DataFrame ஐ CSV ஆக மாற்றுவதற்கான நான்கு வெவ்வேறு காட்சிகளைப் பார்ப்போம். நேரடியாக, PySpark DataFrame ஐ CSV ஆக மாற்ற, write.csv() முறையைப் பயன்படுத்துகிறோம். to_csv() செயல்பாட்டைப் பயன்படுத்தி, PySpark Pandas DataFrame ஐ CSV ஆக மாற்றுகிறோம். NumPy வரிசைக்கு மாற்றுவதன் மூலமும் இது சாத்தியமாகும்.

உள்ளடக்கத்தின் தலைப்பு:

நீங்கள் PySpark DataFrame மற்றும் தொகுதி நிறுவல் பற்றி தெரிந்து கொள்ள விரும்பினால், இதைப் பார்க்கவும் கட்டுரை .







PySpark DataFrame ஐ CSVக்கு மாற்றுவதன் மூலம் Pandas DataFrame ஆக மாற்றவும்

to_csv() என்பது பாண்டாஸ் மாட்யூலில் கிடைக்கும் ஒரு முறையாகும், இது பாண்டாஸ் டேட்டா ஃப்ரேமை CSV ஆக மாற்றுகிறது. முதலில், நாம் நமது PySpark DataFrame ஐ Pandas DataFrame ஆக மாற்ற வேண்டும். அதைச் செய்ய toPandas() முறை பயன்படுத்தப்படுகிறது. to_csv() இன் தொடரியலை அதன் அளவுருக்களுடன் பார்க்கலாம்.



தொடரியல்:



pandas_dataframe_obj.to_csv(பாதை/ 'file_name.csv' , தலைப்பு ,அட்டவணை, நெடுவரிசைகள், முறை...)
  1. CSV கோப்பின் கோப்பு பெயரை நாம் குறிப்பிட வேண்டும். பதிவிறக்கம் செய்யப்பட்ட CSV ஐ உங்கள் கணினியில் குறிப்பிட்ட இடத்தில் சேமிக்க விரும்பினால், கோப்பின் பெயருடன் பாதையையும் குறிப்பிடலாம்.
  2. தலைப்பு 'உண்மை' என அமைக்கப்பட்டால் நெடுவரிசைகள் சேர்க்கப்படும். நெடுவரிசைகள் தேவையில்லை எனில், தலைப்பை 'தவறு' என அமைக்கவும்.
  3. குறியீடு 'உண்மை' என அமைக்கப்பட்டால் குறியீடுகள் குறிப்பிடப்படுகின்றன. உங்களுக்கு குறியீடுகள் தேவையில்லை என்றால், குறியீட்டை 'தவறு' என அமைக்கவும்.
  4. நெடுவரிசைகளின் அளவுரு நெடுவரிசை பெயர்களின் பட்டியலை எடுக்கும், அதில் எந்த குறிப்பிட்ட நெடுவரிசைகள் CSV கோப்பில் பிரித்தெடுக்கப்படுகின்றன என்பதைக் குறிப்பிடலாம்.
  5. பயன்முறை அளவுருவைப் பயன்படுத்தி CSV இல் பதிவுகளைச் சேர்க்க முடியும். இணைக்கவும் - இதைச் செய்ய “a” பயன்படுத்தப்படுகிறது.

எடுத்துக்காட்டு 1: தலைப்பு மற்றும் குறியீட்டு அளவுருக்களுடன்

3 வரிசைகள் மற்றும் 4 நெடுவரிசைகளுடன் 'skills_df' PySpark DataFrame ஐ உருவாக்கவும். இந்த DataFrame ஐ முதலில் Pandas DataFrame ஆக மாற்றுவதன் மூலம் CSV ஆக மாற்றவும்.





பைஸ்பார்க் இறக்குமதி

pyspark.sql இலிருந்து SparkSession இறக்குமதி

linuxhint_spark_app = SparkSession.builder.appName( 'லினக்ஸ் குறிப்பு' ).getOrCreate()

3 வரிசைகள் மற்றும் 4 நெடுவரிசைகள் கொண்ட # திறன் தரவு

திறன்கள் =[{ 'ஐடி' : 123 , 'நபர்' : 'தேன்' , 'திறன்' : 'ஓவியம்' , 'பரிசு' : 25000 },

{ 'ஐடி' : 112 , 'நபர்' : 'மௌனி' , 'திறன்' : 'நடனம்' , 'பரிசு' : 2000 },

{ 'ஐடி' : 153 , 'நபர்' : 'துளசி' , 'திறன்' : 'வாசிப்பு' , 'பரிசு' : 1200 }

]

# மேலே உள்ள தரவுகளிலிருந்து திறன் தரவுச்சட்டத்தை உருவாக்கவும்

skills_df = linuxhint_spark_app.createDataFrame(திறன்கள்)

skills_df.show()

# திறன்களை_df ஐ பாண்டாஸ் டேட்டா ஃபிரேமாக மாற்றவும்

pandas_skills_df= skills_df.toPandas()

அச்சு(pandas_skills_df)

# இந்த DataFrame ஐ தலைப்பு மற்றும் குறியீட்டுடன் csv ஆக மாற்றவும்

pandas_skills_df.to_csv( 'pandas_skills1.csv' , தலைப்பு = உண்மை, குறியீட்டு = உண்மை)

வெளியீடு:



PySpark DataFrame ஆனது Pandas DataFrame ஆக மாற்றப்படுவதை நாம் காணலாம். இது நெடுவரிசைப் பெயர்கள் மற்றும் குறியீடுகளுடன் CSV ஆக மாற்றப்பட்டுள்ளதா என்பதைப் பார்ப்போம்:

எடுத்துக்காட்டு 2: CSV இல் தரவைச் சேர்க்கவும்

1 பதிவோடு மேலும் ஒரு PySpark DataFrame ஐ உருவாக்கி, எங்கள் முதல் உதாரணத்தின் ஒரு பகுதியாக உருவாக்கப்பட்ட CSV உடன் இதை இணைக்கவும். பயன்முறை அளவுருவுடன் தலைப்பை 'தவறு' என அமைக்க வேண்டும் என்பதை உறுதிப்படுத்தவும். இல்லையெனில், நெடுவரிசைப் பெயர்களும் வரிசையாக இணைக்கப்படும்.

பைஸ்பார்க் இறக்குமதி

pyspark.sql இலிருந்து SparkSession இறக்குமதி

linuxhint_spark_app = SparkSession.builder.appName( 'லினக்ஸ் குறிப்பு' ).getOrCreate()

திறன்கள் =[{ 'ஐடி' : 90 , 'நபர்' : 'பார்கவ்' , 'திறன்' : 'வாசிப்பு' , 'பரிசு' : 12000 }

]

# மேலே உள்ள தரவுகளிலிருந்து திறன் தரவுச்சட்டத்தை உருவாக்கவும்

skills_df = linuxhint_spark_app.createDataFrame(திறன்கள்)

# திறன்களை_df ஐ பாண்டாஸ் டேட்டா ஃபிரேமாக மாற்றவும்

pandas_skills_df= skills_df.toPandas()

# இந்த DataFrameஐ pandas_skills1.csv கோப்பில் சேர்க்கவும்

pandas_skills_df.to_csv( 'pandas_skills1.csv' , முறை= 'a' , தலைப்பு =பொய்)

CSV வெளியீடு:

CSV கோப்பில் புதிய வரிசை சேர்க்கப்படுவதைக் காணலாம்.

எடுத்துக்காட்டு 3: நெடுவரிசைகள் அளவுருவுடன்

ஒரே டேட்டாஃப்ரேமை வைத்து, அதை CSV ஆக இரண்டு நெடுவரிசைகளுடன் மாற்றுவோம்: “நபர்” மற்றும் “பரிசு”.

பைஸ்பார்க் இறக்குமதி

pyspark.sql இலிருந்து SparkSession இறக்குமதி

linuxhint_spark_app = SparkSession.builder.appName( 'லினக்ஸ் குறிப்பு' ).getOrCreate()

3 வரிசைகள் மற்றும் 4 நெடுவரிசைகள் கொண்ட # திறன் தரவு

திறன்கள் =[{ 'ஐடி' : 123 , 'நபர்' : 'தேன்' , 'திறன்' : 'ஓவியம்' , 'பரிசு' : 25000 },

{ 'ஐடி' : 112 , 'நபர்' : 'மௌனி' , 'திறன்' : 'நடனம்' , 'பரிசு' : 2000 },

{ 'ஐடி' : 153 , 'நபர்' : 'துளசி' , 'திறன்' : 'வாசிப்பு' , 'பரிசு' : 1200 }

]

# மேலே உள்ள தரவுகளிலிருந்து திறன் தரவுச்சட்டத்தை உருவாக்கவும்

skills_df = linuxhint_spark_app.createDataFrame(திறன்கள்)

# திறன்களை_df ஐ பாண்டாஸ் டேட்டா ஃபிரேமாக மாற்றவும்

pandas_skills_df= skills_df.toPandas()

# குறிப்பிட்ட நெடுவரிசைகளுடன் இந்த டேட்டாஃப்ரேமை csv ஆக மாற்றவும்

pandas_skills_df.to_csv( 'pandas_skills2.csv' , நெடுவரிசைகள்=[ 'நபர்' , 'பரிசு' ])

CSV வெளியீடு:

CSV கோப்பில் “நபர்” மற்றும் “பரிசு” நெடுவரிசைகள் மட்டுமே இருப்பதைக் காணலாம்.

To_Csv() முறையைப் பயன்படுத்தி PySpark Pandas DataFrame to CSV

to_csv() என்பது பாண்டாஸ் மாட்யூலில் கிடைக்கும் ஒரு முறையாகும், இது பாண்டாஸ் டேட்டா ஃப்ரேமை CSV ஆக மாற்றுகிறது. முதலில், நாம் நமது PySpark DataFrame ஐ Pandas DataFrame ஆக மாற்ற வேண்டும். அதைச் செய்ய toPandas() முறை பயன்படுத்தப்படுகிறது. அதன் அளவுருக்களுடன் to_csv() இன் தொடரியலைப் பார்ப்போம்:

தொடரியல்:

pyspark_pandas_dataframe_obj.to_csv(பாதை/ 'file_name.csv' , தலைப்பு ,அட்டவணை, நெடுவரிசைகள்,...)
  1. CSV கோப்பின் கோப்பு பெயரை நாம் குறிப்பிட வேண்டும். பதிவிறக்கம் செய்யப்பட்ட CSV ஐ உங்கள் கணினியில் குறிப்பிட்ட இடத்தில் சேமிக்க விரும்பினால், கோப்பின் பெயருடன் பாதையையும் குறிப்பிடலாம்.
  2. தலைப்பு 'உண்மை' என அமைக்கப்பட்டால் நெடுவரிசைகள் சேர்க்கப்படும். நெடுவரிசைகள் தேவையில்லை எனில், தலைப்பை 'தவறு' என அமைக்கவும்.
  3. குறியீடு 'உண்மை' என அமைக்கப்பட்டால் குறியீடுகள் குறிப்பிடப்படுகின்றன. உங்களுக்கு குறியீடுகள் தேவையில்லை என்றால், குறியீட்டை 'தவறு' என அமைக்கவும்.
  4. நெடுவரிசைகள் அளவுரு நெடுவரிசை பெயர்களின் பட்டியலை எடுக்கும், அதில் எந்த குறிப்பிட்ட நெடுவரிசைகள் CSV கோப்பில் பிரித்தெடுக்கப்படுகின்றன என்பதைக் குறிப்பிடலாம்.

எடுத்துக்காட்டு 1: நெடுவரிசைகள் அளவுருவுடன்

3 நெடுவரிசைகளுடன் ஒரு PySpark Pandas DataFrame ஐ உருவாக்கி, 'person' மற்றும் 'prize' நெடுவரிசைகளுடன் to_csv() ஐப் பயன்படுத்தி CSV ஆக மாற்றவும்.

பைஸ்பார்க் இறக்குமதி பாண்டாக்களிடமிருந்து

pyspark_pandas_dataframe=pandas.DataFrame({ 'ஐடி' :[ 90 , 78 , 90 , 57 ], 'நபர்' :[ 'தேன்' , 'மௌனி' , 'தன்னை' , 'ராதா' ], 'பரிசு' :[ 1 , 2 , 3 , 4 ]})

அச்சு(pyspark_pandas_dataframe)

# குறிப்பிட்ட நெடுவரிசைகளுடன் இந்த டேட்டாஃப்ரேமை csv ஆக மாற்றவும்

pyspark_pandas_dataframe.to_csv( 'pyspark_pandas1' , நெடுவரிசைகள்=[ 'நபர்' , 'பரிசு' ])

வெளியீடு:

PySpark Pandas DataFrame இரண்டு பகிர்வுகளுடன் CSV ஆக மாற்றப்படுவதை நாம் காணலாம். ஒவ்வொரு பிரிவிலும் 2 பதிவுகள் உள்ளன. மேலும், CSV இல் உள்ள நெடுவரிசைகள் 'நபர்' மற்றும் 'பரிசு' மட்டுமே.

பகிர்வு கோப்பு 1:

பகிர்வு கோப்பு 2:

எடுத்துக்காட்டு 2: தலைப்பு அளவுருவுடன்

முந்தைய DataFrame ஐப் பயன்படுத்தி, தலைப்பு அளவுருவை 'True' என அமைப்பதன் மூலம் குறிப்பிடவும்.

பைஸ்பார்க் இறக்குமதி பாண்டாக்களிடமிருந்து

pyspark_pandas_dataframe=pandas.DataFrame({ 'ஐடி' :[ 90 , 78 , 90 , 57 ], 'நபர்' :[ 'தேன்' , 'மௌனி' , 'தன்னை' , 'ராதா' ], 'பரிசு' :[ 1 , 2 , 3 , 4 ]})

# இந்த DataFrame ஐ தலைப்புடன் csv ஆக மாற்றவும்.

pyspark_pandas_dataframe.to_csv( 'pyspark_pandas2' , தலைப்பு =உண்மை)

CSV வெளியீடு:

PySpark Pandas DataFrame இரண்டு பகிர்வுகளுடன் CSV ஆக மாற்றப்படுவதை நாம் காணலாம். ஒவ்வொரு பகிர்வும் நெடுவரிசைப் பெயர்களுடன் 2 பதிவுகளைக் கொண்டுள்ளது.

பகிர்வு கோப்பு 1:

பகிர்வு கோப்பு 2:

NumPy வரிசைக்கு மாற்றுவதன் மூலம் PySpark Pandas DataFrame ஐ CSV ஆக மாற்றவும்

PySpark Pandas DataFrame ஐ நம்பி வரிசையாக மாற்றுவதன் மூலம் CSV ஆக மாற்றுவதற்கான விருப்பம் எங்களிடம் உள்ளது. to_numpy() என்பது PySpark Pandas தொகுதியில் கிடைக்கும் ஒரு முறையாகும், இது PySpark Pandas DataFrame ஐ NumPy வரிசையாக மாற்றுகிறது.

தொடரியல்:

pyspark_pandas_dataframe_obj.to_numpy()

இது எந்த அளவுருக்களையும் எடுக்காது.

Tofile() முறையைப் பயன்படுத்துதல்

NumPy வரிசைக்கு மாற்றிய பிறகு, நாம் Tofile() முறையைப் பயன்படுத்தி NumPy ஐ CSV ஆக மாற்றலாம். இங்கே, இது ஒவ்வொரு பதிவையும் CSV கோப்பில் புதிய செல் நெடுவரிசை வாரியாக சேமிக்கிறது.

தொடரியல்:

array_obj.to_numpy(கோப்பு பெயர்/பாதை, செப்=' ')

இது CSV மற்றும் பிரிப்பானின் கோப்பு பெயர் அல்லது பாதையை எடுக்கும்.

உதாரணமாக:

3 நெடுவரிசைகள் மற்றும் 4 பதிவுகளுடன் PySpark Pandas DataFrame ஐ உருவாக்கி, அதை முதலில் NumPy வரிசையாக மாற்றுவதன் மூலம் CSV ஆக மாற்றவும்.

பைஸ்பார்க் இறக்குமதி பாண்டாக்களிடமிருந்து

pyspark_pandas_dataframe=pandas.DataFrame({ 'ஐடி' :[ 90 , 78 , 90 , 57 ], 'நபர்' :[ 'தேன்' , 'மௌனி' , 'தன்னை' , 'ராதா' ], 'பரிசு' :[ 1 , 2 , 3 , 4 ]})

# மேலே உள்ள DataFrame ஐ நம்பி வரிசையாக மாற்றவும்

மாற்றப்பட்டது = pyspark_pandas_dataframe.to_numpy()

அச்சு (மாற்றப்பட்டது)

# டோஃபைலைப் பயன்படுத்துதல்()

converted.tofile( 'converted1.csv' , செப் = ',' )

வெளியீடு:

[[ 90 'தேன்' 1 ]

[ 78 'மௌனி' 2 ]

[ 90 'தன்னை' 3 ]

[ 57 'ராதா' 4 ]]

PySpark Pandas DataFrame ஆனது NumPy வரிசையாக (12 மதிப்புகள்) மாற்றப்படுவதை நாம் காணலாம். நீங்கள் CSV தரவைப் பார்க்க முடிந்தால், அது ஒவ்வொரு செல் மதிப்பையும் ஒரு புதிய நெடுவரிசையில் சேமிக்கும்.

PySpark DataFrame to CSV Write.Csv() முறையைப் பயன்படுத்தி

CSV கோப்பை ஒரு அளவுருவாக சேமிக்க வேண்டிய இடத்தில், write.csv() முறை கோப்பு பெயர்/பாதை எடுக்கும்.

தொடரியல்:

dataframe_object.coalesce( 1 ).write.csv( 'கோப்பு_பெயர்' )

உண்மையில், CSV பகிர்வுகளாக (ஒன்றுக்கு மேற்பட்டவை) சேமிக்கப்படுகிறது. இதிலிருந்து விடுபட, பிரிக்கப்பட்ட அனைத்து CSV கோப்புகளையும் ஒன்றாக இணைக்கிறோம். இந்த சூழ்நிலையில், coalesce() செயல்பாட்டைப் பயன்படுத்துகிறோம். இப்போது, ​​PySpark DataFrame இலிருந்து அனைத்து வரிசைகளிலும் ஒரே ஒரு CSV கோப்பை மட்டுமே பார்க்க முடியும்.

உதாரணமாக:

4 நெடுவரிசைகளைக் கொண்ட 4 பதிவுகளைக் கொண்ட PySpark DataFrame ஐக் கவனியுங்கள். இந்த DataFrame ஐ 'market_details' என்ற பெயரில் CSVக்கு எழுதவும்.

பைஸ்பார்க் இறக்குமதி

pyspark.sql இலிருந்து SparkSession இறக்குமதி

linuxhint_spark_app = SparkSession.builder.appName( 'லினக்ஸ் குறிப்பு' ).getOrCreate()

4 வரிசைகள் மற்றும் 4 நெடுவரிசைகள் கொண்ட # சந்தை தரவு

சந்தை =[{ 'm_id' : 'mz-001' , 'm_name' : 'ஏபிசி' , 'm_city' : 'டெல்லி' , 'm_state' : 'டெல்லி' },

{ 'm_id' : 'mz-002' , 'm_name' : 'XYZ' , 'm_city' : 'பாட்னா' , 'm_state' : 'லக்னோ' },

{ 'm_id' : 'mz-003' , 'm_name' : 'PQR' , 'm_city' : 'புளோரிடா' , 'm_state' : 'ஒன்று' },

{ 'm_id' : 'mz-004' , 'm_name' : 'ஏபிசி' , 'm_city' : 'டெல்லி' , 'm_state' : 'லக்னோ' }

]



# மேலே உள்ள தரவுகளிலிருந்து சந்தை தரவு சட்டத்தை உருவாக்கவும்

market_df = linuxhint_spark_app.createDataFrame(மார்க்கெட்)

# உண்மையான சந்தை தரவு

market_df.show()

# write.csv()

market_df.coalesce( 1 ).write.csv( 'சந்தை_விவரங்கள்' )

வெளியீடு:

கோப்பைச் சரிபார்ப்போம்:

பதிவுகளைப் பார்க்க கடைசி கோப்பைத் திறக்கவும்.

முடிவுரை

PySpark DataFrame ஐ CSV ஆக மாற்றும் நான்கு வெவ்வேறு காட்சிகளை வெவ்வேறு அளவுருக்களைக் கருத்தில் கொண்டு எடுத்துக்காட்டுகளுடன் கற்றுக்கொண்டோம். நீங்கள் PySpark DataFrame உடன் பணிபுரியும் போது, ​​இந்த DataFrame ஐ CSV ஆக மாற்ற உங்களுக்கு இரண்டு விருப்பங்கள் உள்ளன: ஒரு வழி எழுதுதல்() முறையைப் பயன்படுத்துகிறது, மற்றொன்று Pandas DataFrame க்கு மாற்றுவதன் மூலம் to_csv() முறையைப் பயன்படுத்துகிறது. நீங்கள் PySpark Pandas DataFrame உடன் பணிபுரிகிறீர்கள் என்றால், NumPy வரிசைக்கு மாற்றுவதன் மூலம் to_csv() மற்றும் tofile() ஐயும் பயன்படுத்தலாம்.