問題タブ [distributed-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
caching - UDF での Hadoop 分散キャッシュへのアクセス
UDF の分散キャッシュからファイルを取得することはできますか?
さらに掘り下げる前に、この特定の質問 (StackOverflow など) に対する答えを見つけるのにかなりの時間を費やしましたが、見つけることができませんでした。
問題の主な核心は次のとおりです。すでに HDFS にあるファイルを取得し、それを Pig の分散キャッシュにコピーしてから、このファイルを Java UDF のキャッシュから読み取れるようにしたいと考えています。もう 1 つの問題は、プログラムの設計により、「EvalFunc」から拡張できないことです。これにより、問題が解決する可能性があります。
SET mapred.cache.files '$PATH_TO_FILE_ON_HDFS'
Pig スクリプトと同様に指定SET mapped.create.symlink 'yes'
し、ファイル パスをパラメーターとして UDF に渡し、FileSystem および FileReader クラスを使用してファイルにアクセスしようとしましたが、無駄でした。
これをさらに明確にすることができるかどうか、または関連する詳細を提供できるかどうかをお知らせください。
caching - Hadoop の分散キャッシュに関する混乱
分散キャッシュの実際の意味は何ですか? 分散キャッシュにファイルがあるということは、すべてのデータノードでファイルが利用可能であるため、そのデータのノード間通信がないことを意味しますか?それとも、ファイルがすべてのノードのメモリ内にあることを意味しますか? そうでない場合、どのような方法でジョブ全体のファイルをメモリに保持できますか? これは、map-reduce と UDF の両方で実行できますか?
(特に、UDFがハイブクエリに適用されるため、メモリに保持したい比較的小さい構成データがいくつかあります...?)
ありがとう、よろしく、Dhruv Kapur。
java - Hadoop DistributedCache を設定するには?
次のコードのように、hadoop コードを実行して 3 番目の jar を追加すると、次のようになります。
次の例外が発生します。
org.apache.hadoop.util.DiskChecker$DiskErrorException: taskTracker/hadoop/distcache/-7315515059647727905_-860888033_1107570546/nn.hadoop.dev/tmp/hadoop-hadoop/mapred/staging/hadoop/ の有効なローカル ディレクトリが見つかりませんでした。 staging/job_201405281453_0053/libjars/mahout-core-0.8-job.jar at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:381) at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator) .java:146) org.apache.hadoop.filecache.TrackerDistributedCacheManager.getLocalCache(TrackerDistributedCacheManager.java:173) org.apache.hadoop.filecache.TaskDistributedCacheManager.setupCache(TaskDistributedCacheManager.java:187) org.apache.hadoop. java.security.AccessController で mapred.TaskTracker$4.run(TaskTracker.java:1320)。doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) at org.apache.hadoop.mapred. org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1226) の TaskTracker.initializeJob(TaskTracker.java:1311) org.apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2603) のjava.lang.Thread.run(Thread.java:744)2603) java.lang.Thread.run(Thread.java:744) で2603) java.lang.Thread.run(Thread.java:744) で
any one who can tell how to solve this problem,thanks!
hadoop - 分散キャッシュのアクセス パス変数
Path
分散キャッシュの変数にアクセスしようとしています。
ドライバーで
DistributedCache.addCacheFile(new Path(MINMAX).toUri(),conf);
と
setup() で
しかし、示す
私は何か間違ったことをしていますか?
提案してください。
hadoop - DistributedCache.getCacheFiles() と DistributedCache.getLocalCacheFiles() の違いは何ですか?
私が理解したのは
分散モードの DistributedCache.getCacheFiles() および疑似分散モードのDistributedCache.getLocalCacheFiles()。
MapReduce コードで疑似モードまたは分散モードで実行しているかどうかを確認できますか
このようなことはできますか、それとももっと良い方法がありますか。
また、 DistributedCache.getCacheFiles()とDistributedCache.getLocalCacheFiles()を相対モードで使用しているにもかかわらず、DistributedCache はHDFS データとローカル データの両方を取得できます。