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 pysparkiš 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 pysparkiš 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 pysparkiš 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 pysparkiš 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 pysparkiš 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ą.