CSV v PySpark

Včerejší bojování s HDF5 a konverzí do CSV nese dnešní plody. Protože jde o skoro 3GB dataset, nejsem schopný s ním provést cokoliv v rámci klasického pythonu – natož skrze Pandas nebo Numpy. Cesty by byly, ale když už v zadání mám pracovat s Hadoopem a PySparkem, tak jak na to.

Prve:

nahrál jsem pomocí

hdfs dfs -copyFromLocal c:/datatools/csv/final/fin.csv /csv/fin.csv

výsledný CSV soubor do Hadoopu.

No, při načítání do prostředí PySparku jsem narazil na problém. Ukázalo se, že si nepamatuju nastavený porty, takže jsem načítal hdfs://chajim/csv/fin.csv namísto hdfs://chajim:19000/csv/fin.csv, ale to bylo snadný vyřešit, protože porty jsou nastavený v core-site.xml

Převést csv do dataframe je už věc snadná


from pyspark.sql import SQLContext
from pyspark.sql.types import *

sqlContext = SQLContext(sc)

df = sqlContext.read.format('com.databricks.spark.csv').options(header='true').load('hdfs://localhost:19000/csv/fin.csv')

nebo přehlednější:


df2 = sqlContext.read.load("hdfs://localhost:19000/csv/fin.csv",
format='com.databricks.spark.csv',
header='true',
inferSchema='true')

Dál se s tím už dá snadno pracovat a dělat vše, co je třeba.

Nějaký další čtení: https://www.nodalpoint.com/spark-dataframes-from-csv-files/

http://blog.madhukaraphatak.com/analysing-csv-data-in-spark/

http://www.sparktutorials.net/Opening+CSV+Files+in+Apache+Spark+-+The+Spark+Data+Sources+API+and+Spark-CSV

http://stackoverflow.com/questions/24299427/how-do-i-convert-csv-file-to-rdd

Advertisements

Zanechat Odpověď

Vyplňte detaily níže nebo klikněte na ikonu pro přihlášení:

WordPress.com Logo

Komentujete pomocí vašeho WordPress.com účtu. Odhlásit / Změnit )

Twitter picture

Komentujete pomocí vašeho Twitter účtu. Odhlásit / Změnit )

Facebook photo

Komentujete pomocí vašeho Facebook účtu. Odhlásit / Změnit )

Google+ photo

Komentujete pomocí vašeho Google+ účtu. Odhlásit / Změnit )

Připojování k %s