sparksql 指定输出的文件名

这是sparksql写入hive表指定输出文件名的自定义方式。

版本:spark-2.3.2

实现目的
在目前的业务需求中,需要实现场景为:

当往一个hive表中不断以Append的方式写入数据,需要知道哪些文件是哪一次运行后追加的文件,所以最好的方法是往输出的文件名前添加前缀,如日期,或者调度编号等。但是spark未提供相应参数接口,需要更改一丢丢源码来实现。

实现方式sparksql 指定输出的文件名

只需要更新 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")


 

上一篇:Spark期末复习--SparkSQL


下一篇:SparkSQL相关