윈도우 환경에서 임시 테스트 해봄. spark 2.3.0

 

#Parquet 파일에서 data frame 읽기

 

val df = spark.read.parquet("d:\\test.parquet")
df.createOrReplaceTempView("TestView")
var namesdf = spark.sql("SELECT RoundX FROM TestView WHERE Col = 31 AND Row = 40")
namesdf.count()
namesdf.map(attributes => "Name: " + attributes(0)).show()

 

 

#csv 파일에서 data frame 읽기

import org.apache.spark.sql.types._

val schema= StructType(Array(
    StructField("PosX",        FloatType,false),
    StructField("PosY",        FloatType,false),
    StructField("Col",             ShortType,true),
    StructField("Row",         ShortType,true),
    StructField("Id",    IntegerType,true),
    StructField("Label",            StringType,true)))

val df = spark.read.format("csv").option("header", "false").option("delimiter", ",").schema(schema).load("test001.csv")

 

 

#dataframe을 하나의 Parquet 파일로 저장하기. 

df.coalesce(1).write.format("parquet").mode("append").save("d:\\tmp\\test003.parquet")

 

 

 

#dataset을 하나의 Parquet 파일로 저장하기

tiny = spark.sql("SELECT * FROM db.big_table LIMIT 500")
tiny.repartition(1).write.parquet("d:\\tmp\db.tiny_table.parquet")

 

 

#scala script 읽기

spark-shell에서

:load test.scala

+ Recent posts