我正在使用scala和数据帧以火花的方式从parquet file
中读取一些数据,并且试图从maptype键中提取数据并将其用于groupby
函数中。
这里是一个例子:
val sh = StructType(Array(
StructField("sessionId", StringType, true),
StructField("productTypes", MapType(StringType, IntegerType, true)))
df.select(
col("productTypes"),
col("sessionId")
)
.withcolumn("output".select(explode(col("productTypes"))).select("key")
) 但这会引发异常
type mismatch;
[error] found : org.apache.spark.sql.DataFrame
[error] (which expands to) org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]
[error] required: org.apache.spark.sql.Column
[error] .withColumn("col4", df.select(explode((col("productTypes")))).select("key"))