纱线分布式缓存,没有映射器/缩减器

时间:2018-04-11 14:14:58

标签: java spark-streaming yarn hadoop2 distributed-cache

我无法在Hadoop 2.6中访问分布式缓存中的文件。以下是代码段。我正在尝试将文件pattern.properties放在Yarn的分布式缓存中的args[0]

Configuration conf1 = new Configuration();
Job job = Job.getInstance(conf1);
DistributedCache.addCacheFile(new URI(args[0]), conf1);

另外,我正在尝试使用以下内容访问缓存中的文件:

Context context =null;
URI[] cacheFiles = context.getCacheFiles();  //Error at this line
System.out.println(cacheFiles);

但我在上述行中得到以下错误:

java.lang.NullPointerException

我没有使用Mapper类。它只是一个访问集群中文件的火花流代码。我希望文件在群集中分发。但我无法从HDFS中获取它。

1 个答案:

答案 0 :(得分:1)

我不知道我是否理解你的问题。

我们需要在Spark流媒体作业中访问一些本地文件。

我们使用了这个选项: -

  

时间spark-submit --files   /user/dirLoc/log4j.properties#log4j.properties'休息其他选项'

我们尝试的另一种方法是: - SparkContext.addFile()