豚の詳細



このブログ投稿は、Pigとその機能について深く掘り下げています。 Javaに依存せずにPigを使用してHadoopで作業する方法のデモがあります。

最近Hadoopの人気が急上昇した最大の理由の1つは、PigやHiveなどの機能がその上で実行され、以前はJavaプログラマー専用だった機能をプログラマー以外の人が利用できるようになったという事実です。これらの機能は、Hadoopプロフェッショナルに対する需要の高まりの結果でした。 Java以外のバックグラウンドを持つHadoopプロフェッショナルが使用するその他の機能は、Flume、Sqoop、HBase、およびOozieです。





Hadoopを学習するためにJavaが必要ない理由を理解するには、チェックアウトしてください このブログ

1豚の歴史



これらの機能がどのように機能するかを理解しましょう。

MapReduceコードを書くには、プログラミングの知識が必要であることは誰もが知っています。しかし、詳細を提供するだけでコーディングを実行できるツールがある場合はどうなりますか?それは豚がその筋力を発揮するところです。 Pigは、Java MapReduceイディオムからのプログラミングをRDBMSシステムのSQLと同様に、MapReduceプログラミングを高レベルにする表記に抽象化するPigLatinと呼ばれるプラットフォームを使用します。 Pig Latin MapReduceで記述されたコードは、同等のMapReduce関数に自動的に変換されます。すごいじゃないですか?もう1つの驚異的な事実は、200行のJavaを置き換えるのに必要なのは10行のPigだけであるということです。



10行のPig = 200行のJava

これは、Java以外の専門家がHadoopを使用していることを意味するだけでなく、Pigが同数の技術開発者によって使用されているという事実を証明しています。

さらに、独自のMapReduceコードを記述したい場合は、Perl、Python、Ruby、Cなどの任意の言語でそれを行うことができます。Pigを使用して任意のデータセットで実行できる基本的な操作には、グループ化、結合、フィルター、並べ替えがあります。 。これらの操作は、構造化データ、非構造化データ、および半構造化データに対して実行できます。これらは、非常に大きなデータセットでMapReduceジョブを作成および実行するためのアドホックな方法を提供します。

次は、Hiveについて理解しましょう。これは、データの要約、クエリ、分析のためのHadoopに基づくオープンソースのペタバイト規模のデータウェアハウジングフレームワークです。 Hiveは、HadoopにSQLのようなインターフェースを提供します。 Hiveを使用して、Hadoopでファイルの読み取りと書き込みを行い、BIツールからレポートを実行できます。 Hadoopの典型的な機能は次のとおりです。

ClickstreamデータセットでPigを使用したデモを紹介します
このクリックストリームデータを使用して、変換、結合、およびグループ化を実行します。

ClickStreamは、インターネットにアクセスしているときにユーザーが行う一連のマウスクリックであり、特にマーケティング目的で個人の興味を評価するために監視されます。これは主に、FlipkartやAmazonなどのオンライン小売Webサイトで使用され、アクティビティを追跡して推奨事項を生成します。使用したClickstreamデータセットには、次のフィールドがあります。

1.Webアプリケーションでサポートされている言語の種類

2.ブラウザの種類

Javaでのメソッドオーバーロードの利点

3.接続タイプ

4.国ID

5.タイムスタンプ

6.URL

7.ユーザーステータス

8.ユーザーのタイプ

適切なフィールドがあると、次のようになります。

以下は、特定のWebサイトでネットサーフィンをするときにさまざまな人々が使用しているブラウザの種類のリストです。リストの中には、Internet Explorer、Google Chrome、Lynxなどのブラウザがあります。

インターネット接続の種類は、LAN /モデム/ Wifiです。完全なリストについては、以下の画像を参照してください。

次の画像では、ウェブサイトがオーディエンスを引き付けた国のリストとそのIDを示しています。

配列c ++のソート

すべてのデータセットを収集したら、Pigコマンドを実行するために起動されるPigのGruntシェルを起動する必要があります。

Gruntシェルを起動するときに最初に行う必要があるのは、ClickstreamデータをPigのリレーションにロードすることです。リレーションはテーブルに他なりません。以下は、HDFSにあるファイルをPigのリレーションにロードするために使用するコマンドです。

コマンドdescribeclick_streamを使用して、リレーションのスキーマを確認できます。

次に、IDを持つ国のリスト、およびIDとともにさまざまなブラウザタイプに関する詳細を含む参照ファイルを追加する必要があります。

これで2つの参照ファイルができましたが、関係を形成するにはそれらを接続する必要があります。
connection_refコマンドを実行して、接続のタイプを示します。

apachehadoopのcloudera認定開発者

動作する接続と確立された関係ができたので、そのデータを変換する方法を示します。
Clickstreamのレコードごとに、異なる形式で新しいレコード、つまり変換されたデータを生成します。新しい形式には、TimeStamp、ブラウザタイプ、国IDなどのフィールドが含まれます。

フィルタ操作を実行して、ビッグデータを削減できます。さまざまなタイプのユーザーは、管理者、ゲスト、またはボットです。デモでは、ゲストのリストをフィルタリングしました。

覚えているかと思いますが、国IDはClickstreamに存在し、国の名前とそのIDを含むcountry_refファイルをロードしました。したがって、2つのファイル間で結合操作を実行し、データをマージして洞察を引き出すことができます。

データに参加している場合は、グループ化することで、ユーザーがいる国を見つけることができます。このデータを取得したら、カウント操作を実行して、特定の国のユーザー数を特定できます。

ビッグデータから洞察を引き出すことはロケット科学ではありません。これらは私が実装した多くの機能のほんの一部であり、Hive、Hbase、Oozie、Sqoop、Flumeなどのツールを使用すると、まだ調査されていないデータの宝があります。ですから、Hadoopの学習を控えている方は、今こそ変革の時です。

質問がありますか?コメント欄にご記入ください。折り返しご連絡いたします。

関連記事:

RとHadoopを一緒に使用する4つの方法

ApacheHadoop用のCloudera認定開発者に関するすべて