MRJobクイックスタートチュートリアル、Pythonを使用してHadoopを再生する



Mrjob Quick Start Tutorial



画像

HadoopでPythonプログラムを巧みに実行したい場合は、mrjobの学習がおそらく最も簡単で簡単な方法であり、インストールによってHadoopクラスターをデプロイする必要さえありません。 Mrjobには、次のような多くの優れた機能があります。



  • マルチステップのMapReduceタスクワークフローをサポートする

  • インライン、ローカル、リモートのAmazonおよびHadoopのサポート



  • タスク環境のサポートなしで簡単にデバッグできます

このチュートリアルでは、hadoopを呼び出して、Pythonのmrjobモジュールを介してデータを処理します。この実験を通じて、mrjobを開始し、hadoopを使用するようにmrを簡単に作成できます。 主な知識ポイント:

  • PythonMRJobモジュールのインストール



  • Hadoop-Pythonモジュールの概要

  • MRJobを使用してテキスト統計を実装する

  • PythonMRJobのしくみ

  • 複雑なデータ処理を実装するためにMRJob関数を書き直します

結果を示す 。表示データの意味は、各ユーザー(cuid)がmrjobで見た映画(vid)をカウントして出力することです。

画像

Mrjobはpython2とpython3をサポートしています。 Mrjobは、pipを介して直接インストールすることも、ソースコードをダウンロードしてsetup.pyを介してインストールすることもできます。 mrjobのインストール手順を参照してください。この実験では、shiyanlouアカウントを使用して、sudo特権を介してインストールします。ピップのインストール手順:

画像

現在の一般的なPythonフレームワークには次のものがあります。ここでは、各フレームワークの一般的な特性について簡単に紹介します。ブログについてもっと知りたいです。 Hadoopストリーミング 。他の実行可能ファイルをMapperまたはHadoopのreduceとして使用する方法を提供するには、指定されたセマンティクスを使用して標準入力からデータを読み取り、その結果を標準出力に出力する必要があります。ストリーミングを直接使用することの欠点の1つは、reduceの入力がキーごとにグループ化されている場合でも、それが連続して繰り返され、キーとキーの境界をユーザーが認識しなければならないことです。

mrjob 。オープンソースのPythonフレームワークは、Hadoopのデータストリームをカプセル化し、Yelpを積極的に開発します。 Yelpは完全にAmazonWeb Servicesで動作するため、mrjobとEMRの統合は非常にスムーズで簡単です(botoパッケージを使用)。

画像

ダンボ 。また、Hadoopストリームラッパーフレームワークを使用します。ダンボは以前に登場しましたが、ドキュメントが不足しているため、開発が困難です。これもmrjobほど良くありません。 Dumboはtypedbytesを介してシリアル化を実行し、JavaInputFormatを指定することで、より簡潔なデータ転送、またはSequenceFilesやその他の形式のより自然な読み取りを可能にします。

ハドゥーピー 。ダンボと互換性のあるストリーミングパッケージです。また、typedbytesを使用してデータをシリアル化し、typedbytesデータをHDFSに直接書き込みます。優れたデバッグメカニズムを備えており、ストリーミングプロセスに干渉することなく、メッセージを標準出力に直接書き込むことができます。ダンボと非常に似ていますが、ドキュメントの方がはるかに優れています。

pydoop 。他のフレームワークと比較して、pydoopはHadoopのC ++ APIであるHadoopのパイプライン(Pipes)をカプセル化します。このため、プロジェクトは、より豊富なHadoopおよびHDFSインターフェースと、同じ優れたパフォーマンスを提供できると主張しています。すべての入力と出力は文字列でなければならないことに注意してください。

その他-ハッピー、ディスコ、オクトピー、モルタル、ルイージなど。

以下は、フレーズ統計とmrjobの複数の操作モードを実現するためのmrjobの使用の概要です。完全なチュートリアルには、ラボビルのメインステーションで学習できる演習が付属しています。

説明:このチュートリアルは、研究メンバーのみを対象としています。ちょうど新しいクラスなので、まだ1日の自由時間があり、興味のある学生は誰でも次のことができることを学ぶことができます。 勉強するように私を指してください

関連する提案:

MyBatisフレームワークの使用を開始する

Python3は列車の切符照会ツールを実装しています

エロ画像認識のためのPython3

Gaode API + Pythonはレンタルの問題を解決します

Pythonクラック検証コード

その他の無料チュートリアル、入力してください shiyanlou.com

画像