問題タブ [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.
apache-pig - Pig でハイブを使用する
ハイブ クエリに複数の外部結合があり、実行に非常に時間がかかります。それを複数の小さなクエリに分割し、豚を使用して変換を行うことが理にかなっているのだろうかと思っていました。
Pig スクリプト内でハイブ テーブルにクエリを実行したり、ハイブ テーブル データを読み取ったりする方法はありますか?
ありがとう
php - PHP による Pig のストリーム
カテゴリのリストを含む巨大なファイルを処理する Pig スクリプト (現在ローカル モードで実行中) があります。
ストアド プロシージャを呼び出して、これらをそれぞれ既存のデータベースに挿入する必要があります。私は Pig を初めて使用し、UDF インターフェイスは少し難しいので、PHP スクリプトを介してファイルのコンテンツをストリーミングすることで何かを成し遂げようとしています。
ただし、PHP スクリプトは、通過しているカテゴリ行の半分しか認識していないことがわかりました。より正確には、 に対して返されたレコードが表示されceil( pig_categories/2 )
ます。15 の制限では、PHP スクリプトを介したストリーミング後に 8 つのエントリが生成されます。最後のエントリは空になります。
私が欠けているものについての考え。しばらくの間、Pig のリファレンス マニュアルを調べましたが、PHP スクリプトによるストリーミングに関する情報はあまりないようです。また、IRC で #hadoop チャネルを試しましたが、役に立ちませんでした。どんなガイダンスでも大歓迎です。
ありがとう。
アップデート
これが EOL 関連であることが明らかになりつつあります。PHP スクリプトを usingfgets()
からに変更するstream_get_line()
と、10 個のアイテムが返されますが、最初にあるはずのレコードがスキップされ、末尾に空のレコードが表示されます。
その結果セットには、 の最初の項目があるはずです(Arts)
。近づいていますが、まだ埋めなければならないギャップがあります。
syntax - Apache Pigでマップデータ型を使用するにはどうすればよいですか?
Apache Pigを使用して、大きなキー->値のマッピングを作成し、マップで検索して、キーを反復処理したいと思います。ただし、これらのことを行うための構文すら存在しないようです。マニュアル、ウィキ、サンプルコード、エレファントブック、グーグルをチェックし、パーサーソースの解析も試みました。すべての例は、ファイルからマップリテラルをロードします...そしてそれらを使用することはありません。Pigのマップをどのように使用できますか?
まず、2列のCSVファイルをマップに直接ロードする方法はないようです。私が単純なものを持っている場合map.csv
:
そして、私はそれを地図としてロードしようとします:
空のタプルが3つあります。
そこで、タプルをロードしてからマップを生成しようとします。
構文の多くのバリエーションも失敗します(例:)generate [$0#$1]
。
OK、それで私は自分の地図をPigの地図リテラル形式に次のように変更しますmap.pig
:
そしてそれをロードします:
次に、いくつかのキーをロードして、ルックアップを試してみましょう。
うーん、わかりました。おそらく2つの関係があるため、参加する必要があります。
失敗。マップのキー(または値)を参照するにはどうすればよいですか?マップスキーマの構文では、キーと値に名前を付けることさえできないようです(メーリングリストには、タイプを割り当てる方法がないと書かれています)。
最後に、マップですべてのキーを見つけられるようにしたいと思います。
Pigのマップタイプは中途半端ですか?私は何が欠けていますか?
amazon-web-services - Elastic MapReduce(PIG)を使用したCloudFrontログの処理
AmazonCloudFrontがAmazonElasticMapReduceで作成するアクセスログを処理したいと思います。
クラウドフロントからさまざまなファイルがロードされた回数に関する簡単な統計が必要なので、このための簡単なPIGスクリプトを作成する必要があると思いました。
私が抱えている最初の問題は、cloudfrontがgzipで圧縮されたログを書き込むことです。私が知る限り、pigで.gzを読み取ることはできませんか?
これをどのように行うべきかについての提案はありますか?私はelasticmapreduceに非常に慣れていないので、この種のジョブを構成する方法に関するヒントを歓迎します。
ubuntu - チュートリアルスクリプトを実行するためのApachePigおよびHadoopConnectionの環境設定は何ですか?
Ubuntuでpigチュートリアルスクリプトを2日間実行しようとしていますが、pigをhadoopファイルシステムに接続させることができません。それはまだ言っています:「hadoopファイルシステムへの接続:file:///」
実際、hadoopとpigはどちらも機能しており、私はそれらを使用できます。また、pigインストール中のpigスクリプトもhadoopに接続できます。"hadoopファイルシステムへの接続:hdfs:// localhost:54310"私のhadoopディレクトリは/ home / hadoop / Clusterの下にあり、pigのインストールは/ usr / share / pigの下にあり、pigチュートリアルはhome / hadoop/pigとhadoopのインストールです/ home / someuser/hadoopです。
私はウェブ上のほぼすべての解決策を試しましたが、それでも助けが必要です。任意のアイデアをいただければ幸いです。
前もって感謝します。
hadoop - やりたいのに必要な豚のHadoop?
私はあなたに質問があります、よく説明...
データセット(csvファイル)から列だけを取得し、このデータをいくつかの関数で処理するhadoop map reduceを使用するプログラムを開発したので、このプログラムは終了しましたが、本当の問題は、Pigでこのプログラムを開発することをお勧めします。 ?ファイルの処理では、FILTERSCOUNTSまたはPigの組み込み関数を使用しないことに注意してください...
このHadoopマップリデュースプログラムをPigに渡すのは意味がないと言ったら、私は正しいですか?すべての関数をPigユーザー定義関数UDFとして書き直す必要があるためです。
hadoop - Hadoop Pig: コマンドライン引数を渡す
これを行う方法はありますか?たとえば、処理するファイルの名前を渡しますか?
hadoop - Hadoop MapReduce - Pig/Cassandra - 入力分割を作成できない
Pig と Cassandra で MapReduce ジョブを実行しようとすると、常に次のエラーが表示されます: ERROR 2118: Unable to create input splits for: cassandra://constellation/logs
[解決しよう] 設定し忘れた環境変数がいくつかありました:
PIG_RPC_PORT、PIG_INITIAL_ADDRESS、PIG_PARTITIONER
アイデアをお持ちの方 -> 解決済み 設定し忘れた環境変数がいくつかありました。
環境:Ubuntu Server 10.4
バージョン: hadoop: 0.20 pig: 0.7 cassandra: 0.7.0 beta3
csv - PigLatin で「3」を 3 に変換する
「3」のような数字のフィールドを含むcsvファイルを読みました。PigLatin でこのフィールドを「3」から 3 に変換できますか? SUM() - 関数を使用するために必要です。
ご協力いただきありがとうございます!
java - Pigからフィールドスキーマの名前を取得する
私はPig用のJsonStorageに取り組んでいます。すべて正常に動作しますが、少なくとも、pigスキーマからフィールドの名前(つまり、crdate、name、positions)を取得する必要があります。
実際、フィールドの名前を取得する関数を提供しないStoreFuncによってクラスを拡張しています。
誰かが私を助けることができますか:)