这是sparksql写入hive表指定输出文件名的自定义方式。
版本:spark-2.3.2
实现目的
在目前的业务需求中,需要实现场景为:
当往一个hive表中不断以Append的方式写入数据,需要知道哪些文件是哪一次运行后追加的文件,所以最好的方法是往输出的文件名前添加前缀,如日期,或者调度编号等。但是spark未提供相应参数接口,需要更改一丢丢源码来实现。
实现方式
只需要更新 org.apache.spark.internal.io.HadoopMapReduceCommitProtocol#getFilename 方法内容,添加如 spark.sql.hyren.outputfilename.preffix 配置项重新打包替换 spark-core_2.11-2.3.2.jar 即可。
使用时指定配置项如
spark.conf.set("spark.sql.hyren.outputfilename.preffix","20200101")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。