問題タブ [cascalog]

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.

0 投票する
4 に答える
2290 参照

hadoop - Clojure Hadoop-300行のPIGに相当する5行のCascalog?

スライド36と37のこのプレゼンテーションで、Cascalogの作成者は、次のような名前と年齢のデータセットが与えられた場合、平均年齢よりも大きいすべての結果を返すクエリは300行のPIGであると主張します。

これは有効なアサーションですか?本当に何行のPIGですか?

それとも、彼が説明している問題は、私が説明した問題よりも大きいのでしょうか。

(免責事項-私はネイサンの作品、ClojureとCascalogの大ファンです-私はいくつかの事実をまっすぐにしようとしています)。

0 投票する
1 に答える
258 参照

hadoop - Cascalog first-n - 述語を結合できません

私は、 cascalog projectのクローンの lein repl で次の例に取り組んでいます。私は実行しました:

しかし、これを試してみると:

私は得る

これは、クエリの作成と実行のようです。このクエリを実行するクエリを作成することはできますか?

0 投票する
1 に答える
405 参照

clojure - Cascalog の述語でシンボルを解決できません

私はこのクエリを持っています:

クエリは CSV ファイルを 1 行ずつ読み取り、有効なデータ条件 ( ) を満たす行をチェックしますdata-line?- この部分は機能します。次に、行をカンマで分割し、ベクトルをfilter-out-data関数に渡します。関数は、そのベクトルから抽出された 2 つの項目を返します。クエリを実行すると、次のエラーが表示されます: Unable to resolve symbol: ?linein this context.

分割の結果を渡すさまざまな方法を試してきました(分割のサイズが異なるため、柔軟にしたいと思います)。私は Clojure と Cascalog から始めたばかりです。正しい方向に向けていただければ幸いです。ありがとう!

0 投票する
1 に答える
238 参照

hadoop - Clojure + キツネザル

キツネザル+クロージュアを使用して、マルチステップジョブを実行しようとしています。

複数の入力を引数として clojure+lemur に渡すことに問題があります。

私の仕事の最初のステップとして、私は emr Streaming Job を実行しようとしています

lemur run ${CONF_DIR}/run-pipeline.clj --master-instance-type ${MASTER_INSTANCE_TYPE} --slave-instance-type ${SLAVE_INSTANCE_TYPE} --num-instances ${NUM_INSTANCES} --ami-version ${ AMI_VERSION} --hadoop-version ${HADOOP_VERSION}--bucket ${BUCKET} --jar-src-path ${CONF_DIR}/run-pipeline.clj --input_folder "${input_folder}" --output-folder " ${output_folder}" --reduce-tasks "${REDUCE_TASKS}" --map-tasks "${MAP_TASKS}"

単一の入力ファイルで、私のコードは次のようになります

これはうまくいきますが、入力ファイルのリストを渡そうとするとエラーが発生します

lemur run ${CONF_DIR}/run-pipeline.clj --master-instance-type ${MASTER_INSTANCE_TYPE} --slave-instance-type ${SLAVE_INSTANCE_TYPE} --num-instances ${NUM_INSTANCES} --ami-version ${ AMI_VERSION} --hadoop-version ${HADOOP_VERSION}--bucket ${BUCKET} --jar-src-path ${CONF_DIR}/run-pipeline.clj --input_folder "${input_folder1}" --input_folder "${ input_folder2}" --input_folder "${input_folder3}" --input_folder "${input_folder}" --output-folder "${output_folder}" --reduce-tasks "${REDUCE_TASKS}" --map-tasks "$ {MAP_TASKS}"

ここに私が得ているエラーがあります

追加したコードは17行目から19行目です。

ありがとう

0 投票する
1 に答える
191 参照

hadoop - Cascalog/カスケードによる XML の読み取り

Mahout のXMLInputFormatを使用して Hadoop で XML を効率的に処理できることを示す Web 上の情報がありますが、これを機能させる方法の例を見つけることができませんでした。誰かが私を正しい方向に向けることができますか?

Cascalog/Clojure を使用しています。

0 投票する
2 に答える
274 参照

hadoop - Cascalog は外部の Hadoop クラスターにリンクできますか?

私は Eclipse で Cascalog を使用しています。以下のように、プロジェクトの project.clj ファイルに Hadoop への依存関係が提供されているようです。

ローカルにインストールされた Hadoop 単一ノード クラスタまたは外部 Hadoop クラスタへの依存関係を含める必要がある場合、どのようにすればよいですか? ローカルの場合、「org.apache.hadoop」の代わりに「hadoop へのパス」を単に配置する必要がありますか? あなたのアイデアをいただければ幸いです。

敬具、 シンドゥ

0 投票する
1 に答える
192 参照

clojure - 左外部結合のデフォルト値の指定

null になる可能性のあるフィールドに対してカスカログで外部結合を行うときに、デフォルト値を指定する最良の方法は何だろうと思っていました。

この例では、users と active は以前に定義されたクエリであり、アクティブなユーザー情報 (?fname ?lname !days-active) と通常のユーザー情報 (?id ?fname ?lname) を関連付けようとしています。

そのため、!days-active に対応する情報がない場合に結合が発生すると、nil ではなく 0 が出力されます。

それ以外の

更新された例

出力例はおおよそ次のようになります

私が興味を持っているフィルタリングを使用すると、!!engaged-users および !!user-clicks になるフィールドを null ではなく 0 に変更できます。複数のOr述語を使用すると機能しますか?