PySpark Skaityti CSV()

Pyspark Skaityti Csv



Sukurti PySpark DataFrame iš CSV duomenų galima PySpark naudojant read.csv() funkciją. Kai kuriais atvejais, jei norite įkelti išorinius duomenis į PySpark DataFrame, PySpark palaiko daugybę formatų, pvz., JSON, CSV ir kt. Šioje pamokoje pamatysime, kaip nuskaityti CSV duomenis ir įkelti juos į PySpark DataFrame. Taip pat aptarsime kelių CSV failų įkėlimą į vieną DataFrame vienu metu su pavyzdžiais.

Pyspark.sql.DataFrameReader.csv()

Šis metodas naudojamas duomenims iš CSV failo (-ų) nuskaityti ir saugoti PySpark DataFrame. Skaitant CSV į „DataFrame“ reikia parinktis. Mes išsamiai aptarsime įvairias parinktis su pavyzdžiais. Perduodant daugiau nei vieną CSV failą, svarbu perduoti failų pavadinimus su plėtiniais sąraše, atskirtame kableliu. Jei skaitote tik vieną CSV failą, sąraše failo pavadinimo nurodyti nereikia.

Sintaksė:







Vienas failas – spark_app.read.csv('file.csv', galimybės …)

Keli failai – spark_app.read.csv(['failas1.csv','file2.csv',...],parinktys...)



Taip pat galima atskirti parinktis ir failų pavadinimus.



Vienas failas – spark_app.read.options(options…).csv('failas.csv')





Keli failai – spark_app.read.options(options…).csv(['failas1.csv','file2.csv',...])

Prieš įgyvendindami šiuos pavyzdžius, įdiekite PySpark biblioteką.



pip įdiegti pyspark

Sėkmingai įdiegę išvestį galite pamatyti taip:

1 scenarijus: CSV failo antraštės skaitymas

Sukurkime CSV failą pavadinimu „person_skill.csv“ su 5 įrašais, kurie rodomi toliau, ir įkelkime jį į PySpark DataFrame:

Antraštės parametras naudojamas PySpark DataFrame stulpelių pavadinimams nurodyti. Tam reikia Būlio vertės. Jei „True“, tikrieji stulpelių pavadinimai, esantys CSV faile, yra nurodyti „DataFrame“, kitu atveju nurodomi c0, c1, c2… ir tikrieji stulpelių pavadinimai bus eilutė. Geriausia antraštės parametrą nustatyti į „true“.

1 pavyzdys: Antraštė = Tiesa

importuoti pyspark

iš pyspark.sql importuoti SparkSession

linuxhint_spark_app = SparkSession.builder.appName( 'Linux Hint' ).getOrCreate()

# Įkelkite csv pavadinimu - person_skill.csv į įgūdžius su stulpelių etiketėmis su antrašte

įgūdžiai = linuxhint_spark_app.read.csv( „person_skill.csv“ , antraštę =Tiesa)

# Rodyti DataFrame

skill.show()

Išvestis:

Paaiškinimas:

Matome, kad PySpark DataFrame sukurtas iš CSV failo su nurodytais stulpeliais ir eilutėmis.

Norėdami patikrinti stulpelius, naudokite šią komandą:

įgūdžių.stulpeliai

2 pavyzdys: antraštė = klaidinga

importuoti pyspark

iš pyspark.sql importuoti SparkSession

linuxhint_spark_app = SparkSession.builder.appName( 'Linux Hint' ).getOrCreate()

# Įkelkite csv pavadinimu - person_skill.csv į įgūdžius su stulpelių etiketėmis be antraštės

įgūdžiai = linuxhint_spark_app.read.csv( „person_skill.csv“ , antraštę = Netiesa)

# Rodyti DataFrame

skill.show()

Išvestis:

Paaiškinimas:

Matome, kad PySpark DataFrame sukurtas iš CSV failo be esamų stulpelių.

Be to, esami stulpeliai saugomi kaip eilutės PySpark DataFrame.

įgūdžių.stulpeliai

Naudojant Read.options.csv()

Dabar skaitome CSV failą naudodami read.options.csv() metodą. Čia turime perduoti tokias parinktis kaip skyriklis, antraštė ir kt. kaip argumentus ir failo pavadinimą csv (). Perduokime antraštės parametrą nustatydami jį į „True“.

1 scenarijus:

importuoti pyspark

iš pyspark.sql importuoti SparkSession

linuxhint_spark_app = SparkSession.builder.appName( 'Linux Hint' ).getOrCreate()

# Naudojant read.options.csv()

įgūdžiai = linuxhint_spark_app.read. galimybės ( antraštę =Tiesa).csv( „person_skill.csv“ )

# Rodyti DataFrame

skill.show()

Išvestis:

2 scenarijus: CSV failo skyriklio skaitymas

Skirituvo parametras paima simbolį, kuris naudojamas atskirti kiekvieną lauką. Pagal numatytuosius nustatymus reikia rašyti kablelį (,). Naudokime tą patį CSV failą, kuris naudojamas pirmame scenarijuje, ir kaip skirtuką palikime kablelį (',').

importuoti pyspark

iš pyspark.sql importuoti SparkSession

linuxhint_spark_app = SparkSession.builder.appName( „Linux patarimas“ ).getOrCreate()

# Naudojant read.options.csv() su skyrikliu kartu su antrašte

įgūdžiai = linuxhint_spark_app.read. galimybės ( antraštę =Tiesa, skyriklis= ',' .csv( „person_skill.csv“ )

# Rodyti DataFrame

skill.show()

Išvestis:

Kelių failų skaitymas

Iki šiol skaitėme vieną CSV failą. Pažiūrėkime, kaip skaityti daugiau nei vieną CSV failą. Pagal šį scenarijų kelių failų eilutės pridedamos prie vieno PySpark DataFrame. Mes tiesiog turime perduoti failų pavadinimus metodo sąraše.

Pavyzdys:

Turėkime šiuos CSV failus, pavadintus „person_skill.csv“ ir „person_skill2.csv“ su šiais duomenimis:


Perskaitykite šiuos du CSV failus ir saugokite juos viename PySpark DataFrame.

importuoti pyspark

iš pyspark.sql importuoti SparkSession

linuxhint_spark_app = SparkSession.builder.appName( 'Linux Hint' ).getOrCreate()

# Įkelkite 2 csv failus pavadinimu - person_skill.csv ir person_skill2.csv į įgūdžius naudodami stulpelių etiketes su antrašte

įgūdžiai = linuxhint_spark_app.read.csv([ „person_skill.csv“ , „person_skill2.csv“ ],rugsėjis= ',' , antraštę =Tiesa)

skill.show()

Išvestis:

Paaiškinimas:

Pirmajame CSV yra 6 įrašai, o antrajame CSV – 3 įrašai. Matome, kad pirmasis CSV įkeliamas į „DataFrame“. Tada įkeliamas antrasis CSV. Galiausiai PySpark DataFrame turi 9 įrašus.

Išvada

CSV nuskaitymas į PySpark DataFrame yra gana paprastas naudojant pyspark.sql.DataFrameReader.csv() metodą. Šiam metodui galima perduoti antraštės ir skyriklio parametrus, kad būtų galima nurodyti stulpelius ir formatą. „PySpark“ taip pat palaiko kelių CSV failų skaitymą vienu metu, naudojant pateiktus metodus ir jų parinktis. Šiame straipsnyje mes matėme pavyzdžius, svarstydami įvairias galimybes. Be to, matėme du būdus, kaip parinktis perkelti į metodą.