part.write java_java – 更改DataFrame.write()的输出文件名前缀

通过Spark SQL DataFrame.write()方法生成的输出文件以“part”basename前缀开头.例如

DataFrame sample_07 = hiveContext.table("sample_07");

sample_07.write().parquet("sample_07_parquet");

结果是:

hdfs dfs -ls sample_07_parquet/

Found 4 items

-rw-r--r-- 1 rob rob 0 2016-03-19 16:40 sample_07_parquet/_SUCCESS

-rw-r--r-- 1 rob rob 491 2016-03-19 16:40 sample_07_parquet/_common_metadata

-rw-r--r-- 1 rob rob 1025 2016-03-19 16:40 sample_07_parquet/_metadata

-rw-r--r-- 1 rob rob 17194 2016-03-19 16:40 sample_07_parquet/part-r-00000-cefb2ac6-9f44-4ce4-93d9-8e7de3f2cb92.gz.parquet

我想更改使用Spark SQL DataFrame.write()创建文件时使用的输出文件名前缀.我尝试在Spark上下文的hadoop配置上设置“mapreduce.output.basename”属性.例如

public class MyJavaSparkSQL {

public static void main(String[] args) throws Exception {

SparkConf sparkConf = new SparkConf().setAppName("MyJavaSparkSQL");

JavaSparkContext ctx = new JavaSparkContext(sparkConf);

ctx.hadoopConfiguration().set("mapreduce.output.basename", "myprefix");

HiveContext hiveContext = new org.apache.spark.sql.hive.HiveContext(ctx.sc());

DataFrame sample_07 = hiveContext.table("sample_07");

sample_07.write().parquet("sample_07_parquet");

ctx.stop();

}

这并没有改变生成文件的输出文件名前缀.

有没有办法在使用DataFrame.write()方法时覆盖输出文件名前缀?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值