由于项目中开发用到sparksql ,将一个大表的数据查询后插入到另一种表中,此时数据令也不是太大,
但是产生了200多个小文件,占用namenode资源,为了改善该情况使用,
将hive中的表加载为一个df,然后重新分区+缓存+注册为临时表,在进行查询,插入操作,此时文件为20个
关键代码如下:
val aDF =hiveContext.table("info_user").repartition(2).persist()
aDF.registerTempTable("info_user")