我正在读取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。有人能解释一下这种行为吗?
暂无答案!
目前还没有任何答案,快来回答吧!