【发布时间】:2020-02-27 17:44:07
【问题描述】:
我有一个包含多列的数据框,其中一列是 map(string,string) 类型。我可以打印这个数据框,其列作为地图,将数据作为地图(“PUN”->“Pune”)。我想将此数据帧写入 hive 表(存储为 avro),该表具有与 map 类型相同的列。
Df.withcolumn("cname", lit("Pune"))
withcolumn("city_code_name", map(lit("PUN"), col("cname"))
Df.show(false)
//table - created external hive table..stored as avro..with avro schema
删除此地图类型列后,我可以将数据框保存到 hive avro 表。
保存到hive表的方式:
- spark.save - 保存 avro 文件
- spark.sql - 使用 avro 文件位置在 hive 表上创建分区
【问题讨论】:
标签: apache-spark hadoop hive apache-spark-sql complextype