我无法在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中获取它。
答案 0 :(得分:1)
我不知道我是否理解你的问题。
我们需要在Spark流媒体作业中访问一些本地文件。
我们使用了这个选项: -
时间spark-submit --files /user/dirLoc/log4j.properties#log4j.properties'休息其他选项'
我们尝试的另一种方法是: - SparkContext.addFile()