問題タブ [oozie]
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.
date - oozie で日付に応じて出力ファイルを作成する
map-reduce ジョブを実行するために oozie を使用しています。日付に従って出力ファイルを作成したい。しかし、日付を文字列として取り、日付を値として取る代わりに出力してしまいます:
Oozie プロパティ ファイルは次のとおりです。
私の評判が1500未満なので、どういうわけかタグとしてoozieを持つことはできません
java - oozie を使用して mapreduce ジョブの複数の出力ストリームに書き込む正しい方法は何ですか?
新しい Hadoop API を使用して一連の map-reduce ジョブを作成しています。Oozieを使用してこれらすべてを一緒にパイプライン処理する予定ですmap-reduce
が、ワークフロー内のノードから複数の出力ストリームを実行する方法が見つからないようです。
通常、複数の出力を書き込むには、 MultipleOutputs javadocで指定されているコードと同様のコードを使用しますが、oozie はすべての構成をworkflow.xml
ファイルから取得するため、名前付き出力を例のように構成することはできません。
Oozie で複数の出力を使用することについて議論しているスレッドに遭遇しましたが、Java タスクを作成して Oozie パイプラインに直接追加する以上の解決策はありませんでした。
map-reduce
のノードを介してこれを行う方法はありworkflow.xml
ますか?
編集:
クリスの解決策はうまくいきましたが、もっと良い方法があればいいのにと思います。これが私が行った正確な変更です。
以下を workflow.xml ファイルに追加しました。
起動時に oozie に供給される job.properties ファイルに以下を追加しました。
次に、レデューサーで、名前付き出力totals
とに書き込みましたuniques
。
serialization - Avro Map-Reduce on oozie
私は、oozie で Avro map-reduce を実行しようとしています。Workflow.xml でマッパーとリデューサー クラスを指定し、他の構成も提供します。しかし、それは
(oozie 経由ではなく) Hadoop クラスターで直接実行すると、同じジョブが完了し、目的の出力が得られます。そのため、いくつかの oozie 構成が欠落している可能性が高いようです。例外から私が推測するのは、oozie ではマッパーをサブクラスにする必要があるorg.apache.hadoop.mapred.Mapper
が、Avro マッパーには異なる署名があるということです。それらは org.apache.avro.mapred.AvroMapper を拡張しており、これがエラーの原因である可能性があります。
私の質問は、oozie ワークフロー/プロパティ ファイルを構成して、Avro map-reduce ジョブを実行できるようにする方法です。
hadoop - MapReduceタスクを永久に実行するためにoozieを使用する必要がありますか?
フォルダー内のファイルを読み取り、zipに追加するmapReduceタスク(https://github.com/flopezluis/testing-hadoop)があります。このタスクは永久に実行する必要があるため、処理が終了したら、再度実行する必要があります。私はoozieについて読んでいますが、それが私の問題には大きすぎるので、それが最適かどうかはわかりません。
oozieが最善の解決策である場合。10分ごとに実行するコーディネーターを作成した場合、タスクに10分以上かかると、コーディネーターはタスクの再実行を待機します。
タスクの説明
フォルダは常に同じです。zipファイルには違いがあります。1つはキー用です。アイデアは、zipファイルを段階的に作成することです。これは、すべてのファイルが処理された後にzipファイルを作成するよりも速いと思います。ファイルには次のようなものが含まれています。
したがって、zipは次のようになります。
key1.zip-> data1、data2
key3.zip-> data3
ありがとう
hadoop - ワークフローツールの比較:Oozieとカスケード
複雑なmap-reduceジョブを実行するためのワークフローツールを探しています。私はOozieを念頭に置いていますが、カスケードについても調べたいと思っています。カスケードAPIを使用して既存のM/Rジョブをチェーンするサンプルコードまたは例はありますか?また、OozieとCascadingの比較を教えてください。
hadoop - Oozie は不足している入力ファイルを無視できますか?
私の oozie coordinator.xml ファイルでは、入力ディレクトリとして次のように定義されています。
これは、ファイル名が「Pattern1」または「Pattern2」のいずれかに一致するディレクトリ内のファイルに一致します。ディレクトリにファイル Pattern1 ファイルと Pattern2 ファイルが含まれている場合、私のジョブは問題なく実行されます。ただし、ディレクトリに Pattern1 ファイルまたは Pattern2 ファイルのみが含まれている場合、ジョブは失敗し、次のようなエラーが発生します。
Oozie Launcher の失敗、メイン クラス [org.apache.oozie.action.hadoop.MapReduceMain]、main() が例外をスロー、入力パターン hdfs://hdfsPath/logs/2012/07/09/02/パターン1 は 0 ファイル org に一致します。 apache.hadoop.mapreduce.lib.input.InvalidInputException: 入力パターン hdfs://hdfsPath/logs/2012/07/09/02/ Pattern1は 0 ファイルに一致します
ジョブ全体が失敗するのではなく、パターン 2 に一致するファイルに対して MapReduce ジョブが実行されるように、Oozie にこのエラーを無視するように指示する方法はありますか?
アップデート:
私は自分でこれに対する解決策を見つけました。後で他の誰かがこの問題に遭遇した場合に備えて、私がしたことを文書化します.
PathFilter と Configurable を実装する RegexPathFilter というクラスを作成しました。oozie の workflow.xml でmapred.input.pathFilter.classプロパティを指定して、このフィルターを Hadoop ジョブに渡します。これが私のクラスと私の構成スニペットです:
ワークフロー.xml:
hadoop - Oozie による sqoop エクスポートの失敗
mysq
からlにデータをエクスポートしようとしhdfs
ていsqoop
ます。シェルを介して sqoop を実行でき、正常に動作しています。しかし、私が呼び出しているときoozie
。次のエラーが発生し、失敗します。瓶も入れました。説明的なログはありません
スクープスクリプト:
エラー:
hadoop - Oozieワークフローとコーディネーターの使用-E0302:無効なパラメーターエラー
コーディネーターを使用してワークフローを実行しようとしていますが、ワークフローとコーディネーターのXMLファイルパスを一緒に設定しようとすると、エラーが発生します。これは私のjobs.propertiesファイルがどのように見えるかです:
コマンドラインでワークフローを実行すると、次のようになります。
次のエラーが発生します:
私は何が間違っているのですか?
ありがとう!
hadoop - ローカル モードで実行されている Hadoop ジョブ。ただし、分散モードで実行されている Oozie ジョブ
私たちのクラスターでは、最も単純なジョブ「wordcount」でさえローカル モードで実行されています。しかし、oozie を使用して実行された以前のジョブがあり、クラスター モードで実行されていることがわかります。oozie を使用して実行される Hadoop ジョブとネイティブ Hadoop ジョブの競合はありますか? エラースタックトレースは次のとおりです-
原因: java.io.FileNotFoundException: ファイル _partition.lst が存在しません。org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:408) で org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251) で org.apache.hadoop.fs.FileSystem.getLength (FileSystem.java:825) at org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1480) at org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1475) at org. org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:82) の apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.readPartitions(TotalOrderPartitioner.java:296)
私たちのジョブは、Oozie がインストールされていないテスト クラスターで正常に実行されています。したがって、2つのことが関連しているかどうかはわかりません。前もって感謝します。
Cloudera ディストリビューションを使用しています。