scala—在spark中将dataframe转换为dataset

wfsdck30  于 2021-05-29  发布在  Spark
关注(0)|答案(0)|浏览(271)

我正在读取Parquet数据并将其存储为Dataframe。

val flightsDF = spark.read.parquet("2010-summary.parquet")

我假设Parquet会自动推断数据的模式

scala> flightsDF.schema
res4: org.apache.spark.sql.types.StructType = StructType(StructField(DEST_COUNTRY_NAME,StringType,true), StructField(ORIGIN_COUNTRY_NAME,StringType,true), StructField(count,LongType,true))

创建数据集&将dataframe转换为数据集

case class Flight(Dest_Country_Name: String, Origin_Country_Name: String, Count: String)
val flights = flightsDF.as[Flight]

数据集架构

scala> flights.schema
res5: org.apache.spark.sql.types.StructType = StructType(StructField(DEST_COUNTRY_NAME,StringType,true), StructField(ORIGIN_COUNTRY_NAME,StringType,true), StructField(count,LongType,true))

尽管我在数据集中提到了count字段作为字符串,但它仍然显示为longtype。有人能解释一下这种行为吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题