前言
前面学习总结了Hive分区表,现在学习总结一下Spark如何操作Hive分区表,包括利用Spark DataFrame创建Hive的分区表和Spark向已经存在Hive分区表里插入数据,并记录一下遇到的问题以及如何解决。
1、Spark创建分区表
只写主要代码,完整代码见附录1
2
3
4val data = Array(("001", "张三", 21, "2018"), ("002", "李四", 18, "2017"))
val df = spark.createDataFrame(data).toDF("id", "name", "age", "year")
//可以将append改为overwrite,这样如果表已存在会删掉之前的表,新建表
df.write.mode("append").partitionBy("year").saveAsTable("new_test_partition")