問題タブ [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.
hadoop - Clojure Hadoop-300行のPIGに相当する5行のCascalog?
スライド36と37のこのプレゼンテーションで、Cascalogの作成者は、次のような名前と年齢のデータセットが与えられた場合、平均年齢よりも大きいすべての結果を返すクエリは300行のPIGであると主張します。
これは有効なアサーションですか?本当に何行のPIGですか?
それとも、彼が説明している問題は、私が説明した問題よりも大きいのでしょうか。
(免責事項-私はネイサンの作品、ClojureとCascalogの大ファンです-私はいくつかの事実をまっすぐにしようとしています)。
hadoop - Cascalog first-n - 述語を結合できません
私は、 cascalog projectのクローンの lein repl で次の例に取り組んでいます。私は実行しました:
しかし、これを試してみると:
私は得る
これは、クエリの作成と実行のようです。このクエリを実行するクエリを作成することはできますか?
clojure - Cascalog の述語でシンボルを解決できません
私はこのクエリを持っています:
クエリは CSV ファイルを 1 行ずつ読み取り、有効なデータ条件 ( ) を満たす行をチェックしますdata-line?
- この部分は機能します。次に、行をカンマで分割し、ベクトルをfilter-out-data
関数に渡します。関数は、そのベクトルから抽出された 2 つの項目を返します。クエリを実行すると、次のエラーが表示されます: Unable to resolve symbol: ?line
in this context.
分割の結果を渡すさまざまな方法を試してきました(分割のサイズが異なるため、柔軟にしたいと思います)。私は Clojure と Cascalog から始めたばかりです。正しい方向に向けていただければ幸いです。ありがとう!
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行目です。
ありがとう
hadoop - Cascalog/カスケードによる XML の読み取り
Mahout のXMLInputFormatを使用して Hadoop で XML を効率的に処理できることを示す Web 上の情報がありますが、これを機能させる方法の例を見つけることができませんでした。誰かが私を正しい方向に向けることができますか?
Cascalog/Clojure を使用しています。
hadoop - Cascalog は外部の Hadoop クラスターにリンクできますか?
私は Eclipse で Cascalog を使用しています。以下のように、プロジェクトの project.clj ファイルに Hadoop への依存関係が提供されているようです。
ローカルにインストールされた Hadoop 単一ノード クラスタまたは外部 Hadoop クラスタへの依存関係を含める必要がある場合、どのようにすればよいですか? ローカルの場合、「org.apache.hadoop」の代わりに「hadoop へのパス」を単に配置する必要がありますか? あなたのアイデアをいただければ幸いです。
敬具、 シンドゥ
clojure - 左外部結合のデフォルト値の指定
null になる可能性のあるフィールドに対してカスカログで外部結合を行うときに、デフォルト値を指定する最良の方法は何だろうと思っていました。
この例では、users と active は以前に定義されたクエリであり、アクティブなユーザー情報 (?fname ?lname !days-active) と通常のユーザー情報 (?id ?fname ?lname) を関連付けようとしています。
そのため、!days-active に対応する情報がない場合に結合が発生すると、nil ではなく 0 が出力されます。
それ以外の
更新された例
出力例はおおよそ次のようになります
私が興味を持っているフィルタリングを使用すると、!!engaged-users および !!user-clicks になるフィールドを null ではなく 0 に変更できます。複数のOr述語を使用すると機能しますか?