Apache Spark 에서 데이터 테스트를 위한 Scala 스크립트 몇가지
윈도우 환경에서 임시 테스트 해봄. 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