PySpark రీడ్ CSV()

Pyspark Rid Csv



CSV డేటా నుండి PySpark DataFrameని నిర్మించడం read.csv() ఫంక్షన్‌ని ఉపయోగించి PySparkలో సాధ్యమవుతుంది. కొన్ని సందర్భాల్లో, మీరు బాహ్య డేటాను PySpark డేటాఫ్రేమ్‌లోకి లోడ్ చేయాలనుకుంటే, PySpark JSON, CSV మొదలైన అనేక ఫార్మాట్‌లకు మద్దతు ఇస్తుంది. ఈ ట్యుటోరియల్‌లో, CSV డేటాను ఎలా చదవాలో మరియు దానిని PySpark DataFrameలోకి ఎలా లోడ్ చేయాలో చూద్దాం. అలాగే, మేము ఉదాహరణలతో ఒకేసారి ఒకే డేటాఫ్రేమ్‌లో బహుళ CSV ఫైల్‌లను లోడ్ చేయడం గురించి చర్చిస్తాము.

Pyspark.sql.DataFrameReader.csv()

ఈ పద్ధతి CSV ఫైల్/ల నుండి డేటాను చదవడానికి మరియు వాటిని PySpark DataFrameలో నిల్వ చేయడానికి ఉపయోగించబడుతుంది. CSVని డేటాఫ్రేమ్‌లో చదివేటప్పుడు ఇది ఎంపికలను తీసుకుంటుంది. మేము వివిధ ఎంపికలను ఉదాహరణలతో వివరంగా చర్చిస్తాము. ఒకటి కంటే ఎక్కువ CSV ఫైల్‌లను పాస్ చేస్తున్నప్పుడు, కామా ఆపరేటర్ ద్వారా వేరు చేయబడిన జాబితాలో పొడిగింపుతో ఫైల్ పేర్లను పాస్ చేయడం ముఖ్యం. మీరు ఒక CSV ఫైల్‌ను మాత్రమే చదువుతున్నట్లయితే, జాబితాలో ఫైల్ పేరును అందించాల్సిన అవసరం లేదు.

సింటాక్స్:







ఒకే ఫైల్ - spark_app.read.csv(‘file.csv’, ఎంపికలు …)

బహుళ ఫైల్‌లు – spark_app.read.csv([‘file1.csv’,’file2.csv’,...],ఎంపికలు...)



ఎంపికలు మరియు ఫైల్ పేర్లను వేరు చేయడం కూడా సాధ్యమవుతుంది.



ఒకే ఫైల్ – spark_app.read.options(ఎంపికలు…).csv(‘file.csv’)





బహుళ ఫైల్‌లు – spark_app.read.options(ఎంపికలు…).csv([‘file1.csv’,’file2.csv’,…])

కింది ఉదాహరణలను అమలు చేయడానికి ముందు PySpark లైబ్రరీని ఇన్‌స్టాల్ చేయండి.



పిప్ ఇన్‌స్టాల్ పిస్పార్క్

విజయవంతమైన ఇన్‌స్టాలేషన్ తర్వాత, మీరు ఈ క్రింది విధంగా అవుట్‌పుట్‌ను చూడవచ్చు:

దృశ్యం 1: CSV ఫైల్ హెడర్‌ని చదవడం

కింది వాటిలో చూపబడిన 5 రికార్డ్‌లతో “person_skill.csv” పేరుతో CSV ఫైల్‌ని సృష్టించి, దానిని PySpark DataFrameలోకి లోడ్ చేద్దాం:

PySpark DataFrameలో కాలమ్ పేర్లను పేర్కొనడానికి హెడర్ పరామితి ఉపయోగించబడుతుంది. ఇది బూలియన్ విలువను తీసుకుంటుంది. ఇది “నిజం” అయితే, CSV ఫైల్‌లో ఉన్న అసలు నిలువు వరుస పేర్లు డేటాఫ్రేమ్‌లో పేర్కొనబడతాయి, లేకపోతే, c0, c1, c2... పేర్కొనబడతాయి మరియు అసలు నిలువు వరుస పేర్లు వరుసగా ఉంటాయి. హెడర్ పరామితిని ఒప్పుకు సెట్ చేయడం ఉత్తమం.

ఉదాహరణ 1: హెడర్ = నిజం

పైస్పార్క్ దిగుమతి

pyspark.sql దిగుమతి SparkSession నుండి

linuxhint_spark_app = SparkSession.builder.appName( 'Linux సూచన' ).getOrCreate()

# csv పేరుతో - person_skill.csvని హెడర్‌తో కాలమ్ లేబుల్‌లతో నైపుణ్యాలలోకి లోడ్ చేయండి

నైపుణ్యాలు = linuxhint_spark_app.read.csv( 'person_skill.csv' , శీర్షిక = నిజం)

# డేటాఫ్రేమ్‌ను ప్రదర్శించండి

skills.show()

అవుట్‌పుట్:

వివరణ:

PySpark DataFrame CSV ఫైల్ నుండి పేర్కొన్న నిలువు వరుసలు మరియు అడ్డు వరుసలతో సృష్టించబడిందని మనం చూడవచ్చు.

నిలువు వరుసలను తనిఖీ చేయడానికి కింది ఆదేశాన్ని ఉపయోగించండి:

నైపుణ్యాలు.నిలువు వరుసలు

ఉదాహరణ 2: హెడర్ = తప్పు

పైస్పార్క్ దిగుమతి

pyspark.sql దిగుమతి SparkSession నుండి

linuxhint_spark_app = SparkSession.builder.appName( 'Linux సూచన' ).getOrCreate()

# హెడర్ లేకుండా కాలమ్ లేబుల్‌లతో పేరు గల csv - person_skill.csvని నైపుణ్యాలలోకి లోడ్ చేయండి

నైపుణ్యాలు = linuxhint_spark_app.read.csv( 'person_skill.csv' , శీర్షిక = తప్పు)

# డేటాఫ్రేమ్‌ను ప్రదర్శించండి

skills.show()

అవుట్‌పుట్:

వివరణ:

PySpark DataFrame ఇప్పటికే ఉన్న నిలువు వరుసలు లేకుండా CSV ఫైల్ నుండి సృష్టించబడిందని మనం చూడవచ్చు.

అలాగే, ఇప్పటికే ఉన్న నిలువు వరుసలు PySpark DataFrameలో అడ్డు వరుసలుగా నిల్వ చేయబడతాయి.

నైపుణ్యాలు.నిలువు వరుసలు

Read.options.csv()ని ఉపయోగించడం

ఇప్పుడు, మేము read.options.csv() పద్ధతిని ఉపయోగించి CSV ఫైల్‌ను చదువుతాము. ఇక్కడ, మేము ఎంపికలలోని డీలిమిటర్, హెడర్ మొదలైన ఎంపికలను ఆర్గ్యుమెంట్‌లుగా మరియు csv()లో ఫైల్ పేరును పాస్ చేయాలి. హెడర్ పారామీటర్‌ను 'ట్రూ'కి సెట్ చేయడం ద్వారా పాస్ చేద్దాం.

దృశ్యం 1:

పైస్పార్క్ దిగుమతి

pyspark.sql దిగుమతి SparkSession నుండి

linuxhint_spark_app = SparkSession.builder.appName( 'Linux సూచన' ).getOrCreate()

# read.options.csv()ని ఉపయోగించడం

నైపుణ్యాలు = linuxhint_spark_app.read. ఎంపికలు ( శీర్షిక =నిజం).csv( 'person_skill.csv' )

# డేటాఫ్రేమ్‌ను ప్రదర్శించండి

skills.show()

అవుట్‌పుట్:

దృశ్యం 2: CSV ఫైల్ డీలిమిటర్‌ని చదవడం

డీలిమిటర్ పరామితి ప్రతి ఫీల్డ్‌ను వేరు చేయడానికి ఉపయోగించే అక్షరాన్ని తీసుకుంటుంది. ఇది డిఫాల్ట్‌గా కామా (,)ని తీసుకుంటుంది. మొదటి దృష్టాంతంలో ఉపయోగించిన అదే CSV ఫైల్‌ని ఉపయోగిస్తాము మరియు కామాను (‘,’) డీలిమిటర్‌గా పాస్ చేద్దాం.

పైస్పార్క్ దిగుమతి

pyspark.sql దిగుమతి SparkSession నుండి

linuxhint_spark_app = SparkSession.builder.appName( 'Linux సూచన' ).getOrCreate()

# హెడ్డర్‌తో పాటు డీలిమిటర్‌తో read.options.csv()ని ఉపయోగించడం

నైపుణ్యాలు = linuxhint_spark_app.read. ఎంపికలు ( శీర్షిక =నిజం, డీలిమిటర్= ',' ).csv( 'person_skill.csv' )

# డేటాఫ్రేమ్‌ను ప్రదర్శించండి

skills.show()

అవుట్‌పుట్:

బహుళ ఫైళ్లను చదవడం

ఇప్పటి వరకు, మేము ఒకే CSV ఫైల్‌ని చదువుతున్నాము. ఒకటి కంటే ఎక్కువ CSV ఫైల్‌లను ఎలా చదవాలో చూద్దాం. ఈ దృష్టాంతంలో, బహుళ ఫైల్‌లలోని అడ్డు వరుసలు ఒకే PySpark DataFrameలో జతచేయబడతాయి. మేము పద్ధతిలో ఫైల్ పేర్లను జాబితాలో పాస్ చేయాలి.

ఉదాహరణ:

కింది డేటాతో “person_skill.csv” మరియు “person_skill2.csv” పేరుతో కింది CSV ఫైల్‌లను కలిగి ఉండండి:


ఈ రెండు CSV ఫైల్‌లను చదవండి మరియు వాటిని ఒకే PySpark DataFrameలో నిల్వ చేయండి.

పైస్పార్క్ దిగుమతి

pyspark.sql దిగుమతి SparkSession నుండి

linuxhint_spark_app = SparkSession.builder.appName( 'Linux సూచన' ).getOrCreate()

# పేరు గల 2 csv ఫైల్‌లను లోడ్ చేయండి - person_skill.csv మరియు person_skill2.csv శీర్షికతో నిలువు లేబుల్‌లతో నైపుణ్యాలలోకి

నైపుణ్యాలు = linuxhint_spark_app.read.csv([ 'person_skill.csv' , 'person_skill2.csv' ],సెప్టెం= ',' , శీర్షిక = నిజం)

skills.show()

అవుట్‌పుట్:

వివరణ:

మొదటి CSV 6 రికార్డ్‌లను కలిగి ఉంది మరియు రెండవ CSV 3 రికార్డ్‌లను కలిగి ఉంది. మొదటి CSV ముందుగా డేటాఫ్రేమ్‌లోకి లోడ్ చేయబడిందని మనం చూడవచ్చు. అప్పుడు, రెండవ CSV లోడ్ అవుతుంది. చివరగా, PySpark DataFrame 9 రికార్డులను కలిగి ఉంది.

ముగింపు

PySpark DataFrameలో CSVని చదవడం pyspark.sql.DataFrameReader.csv() పద్ధతితో చాలా సులభం. నిలువు వరుసలు మరియు ఆకృతిని పేర్కొనడానికి హెడర్ మరియు డీలిమిటర్ పారామితులను ఈ పద్ధతికి పాస్ చేయడం సాధ్యపడుతుంది. PySpark వారి ఎంపికలతో పాటు అందించిన పద్ధతులతో ఒకేసారి బహుళ CSV ఫైల్‌లను చదవడానికి కూడా మద్దతు ఇస్తుంది. ఈ వ్యాసంలో, మేము వివిధ ఎంపికలను పరిగణనలోకి తీసుకోవడం ద్వారా ఉదాహరణలను చూశాము. అలాగే, మేము పద్ధతికి ఎంపికలను పాస్ చేసే రెండు మార్గాలను చూశాము.