問題タブ [apache-pig]
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 - hadoop/pig を使用してログから類似ユーザーを抽出する
スタートアップ製品の一部として、「類似ユーザー機能」を計算する必要があります。そして、豚を使うことにしました。私は数日間豚を学んでいて、それがどのように機能するかを理解しています。ここから始めるのは、ログファイルがどのように見えるかです。
ユーザーと URL の数が膨大になる可能性があるため、ここではブルートフォース アプローチを使用できません。まず、少なくとも共通の URL にアクセスできるユーザーを見つける必要があります。
アルゴリズムは次のように分割できます。
- いくつかの一般的な URL にアクセスしたすべてのユーザーを検索します。
- アクセスされたリソースごとに、すべてのユーザーのペアごとの組み合わせを生成します。
- と URL の各ペアについて、それらのユーザーの類似性を計算します。類似性は、アクセス間の時間間隔に依存します (したがって、時間を追跡する必要があります)。
- 各ペア URL の類似度を合計します。
ここに私がこれまでに書いたものがあります:
まだそれほど多くはないことはわかっていますが、ペアを生成する方法やさらに先に進む方法がわかりません。そのため、どんな助けもいただければ幸いです。
ありがとう。
hadoop - Hadoop PIG の出力が PARALLEL 演算子で複数のファイルに分割されない
何かが足りないようです。データのレデューサーの数によって HDFS にその数のファイルが作成されますが、データは複数のファイルに分割されません。私が気付いたのは、group by
次のデータがキーに基づいて2つのファイルにうまく分割されているように、連続した順序でキーを実行すると正常に機能することです。
しかし、このデータは分割されません:
私が使用したコードは、一方では正常に機能し、他方では正常に機能しません
上記のコードは 2 つの出力パーツ ファイルを作成しますが、最初の入力ではデータを適切に分割し、 key 1
inpart-r-00000
と key 2
inを配置しpart-r-00001
ます。しかし、2 番目の入力では 2 つの部分ファイルが作成されますが、すべてのデータは最終的にpart-r-00000
. 何が足りないのですか? 一意のキーに基づいてデータを強制的に複数の出力ファイルに分割するにはどうすればよいですか?
注: 2 番目の入力PARALLEL 3
(3 つのレデューサー) を使用する場合、3 つの部分ファイルが作成され、キー入力のすべてのデータとキー入力ファイルのすべてのデータが追加1
さpart-0
れ3
ますpart-3
。この振る舞いは奇妙だと思いました。ところで、Cloudera CDH3B4 を使用しています。
cassandra - カサンドラのコマンドライン
Cassandra PIG Script でコマンド ライン引数として値を渡す方法を教えてください。
PIGスクリプトを実行するための構文の行の下
{apache-cassandra-0.4.0-src パス}/contrib/pig/bin/pig_cassandra –param 引数 = 値 script.pig
次に、以下のエラーが発生しました [main] INFO org.apache.pig.Main - Logging error messages to: /home/ec2-user/apache-cassandra-0.7.4-src/contrib/pig/pig_1302092850679.log [main]エラー org.apache.pig.Main - エラー 2999: 予期しない内部エラー。コマンド ラインで予期しない引数が見つかりました - コマンド ラインを確認してください。ログファイルの詳細: /home/ec2-user/apache-cassandra-0.7.4-src/contrib/pig/pig_1302092850679.log
前もって感謝します
hadoop - 大規模な動的データ セットに対する分析クエリの実行
私が所有するシステムに大量の受信データ セットがあるという要件があります。
このセット内のデータの 1 つの単位には、不変の属性と状態のセットが関連付けられています。状態は動的で、いつでも変更できます。
要件は次のとおりです-
- 大規模なデータ セットでは、状態が変化する可能性があります。更新は高速である必要があります。
- さまざまな属性にピボットされたデータを集約できるはずです。
- 理想的には、個々のデータ ユニットを集計結果に関連付ける方法が必要です。つまり、特定の集計を生成した特定のトランザクションにドリルダウンしたいと考えています。(集約が実行された後にデータユニットの状態が変化するなど、ここでの競合状態は認識していますが、これは予想されることです)。
- すべての集計は時間ベースです。つまり、1 日、2 日、1 週間、1 か月などのピボット y での x の合計です。
これらのユースケースを満たすためにさまざまなテクノロジーを評価しており、あなたの提案を聞きたいと思っています。分析/集計のユース ケースに適合する Hive/Pig を調べました。ただし、いつでもシステムに大量の更新が入る可能性があることを懸念しています。インデックス付きデータベース (sql または nosql) と比較した場合、これが HDFS ファイルでどのように機能するかはわかりません。
java - piggybank をビルドできません -> /home/build/ivy/lib が存在しません
ここの手順に従いました: http://wiki.apache.org/pig/PiggyBank で piggybank jar をビルドしましたが、以下の出力が得られます。また、ソースから pig プロジェクトをビルドし、.bash_profile でそれを参照しました。
ここに私のbash_profileがあります:
** 更新 ** Wiki ページのドキュメントは間違っていましたが、現在は正しいようです: http://wiki.apache.org/pig/PiggyBank
新しい指示に従えば大丈夫です
apache-pig - strsplit の問題 - 豚
次のタプル H1 があり、その $0 をタプルに strsplit したいのですが、常にエラー メッセージが表示されます。
エラー 1000: 解析中にエラーが発生しました。行 1、列 40 に字句エラーがあります。検出: after : "\";"
スクリプトの何が問題なのか知っている人はいますか?
apache-pig - ブタ:配列を分割する方法
私はこのようなタプルを持っています:
最後の数字はアイテムの頻度であるため、item114には頻度があります。1の場合、アイテム81には周波数があります。2の場合、これを次の形式のタプルに分割したい:(item#、freq。)、結果は次のようになります。
どうやってやるの?ありがとう。
hadoop - Pigのリレーションからカスタムスキーマを生成するには?
さまざまな記事の単語の tf-idf 値を記述したスキーマがあります。その説明は次のようになります。
以下は、そのようなデータの例です。
cat article_one 0.13515503603605478、article_two 0.4054651081081644 などの形式で出力を取得したい。問題は、単語フィールドと id および tfidf フィールドのタプルを含むこれからの関係をどのように作成するかです。このようなもの:
動作しません。これの正しい構文は何ですか?
apache-pig - PIG: 2 つの関係を 1 つに結合する方法
私には2つの関係があります:
これら2つを次のように1つに結合するにはどうすればよいですか:
ありがとう!