個人財務 Hadoopとの統合R - Dummiesとの統合

Hadoopとの統合R - Dummiesとの統合

目次:

ビデオ: Scale R to Big Data with Hadoop & Spark 2024

ビデオ: Scale R to Big Data with Hadoop & Spark 2024
Anonim

当初、大きなデータとRは自然な友人ではありませんでした。 Rプログラミングでは、すべてのオブジェクトを1台のマシンのメインメモリにロードする必要があります。このアーキテクチャの限界は、大きなデータが方程式の一部になるとすぐに実現されます。一方、Hadoopなどの分散ファイルシステムでは、強力な統計手法が欠如していますが、複雑な操作やタスクのスケーリングには理想的です。コストのかかるスーパーコンピューティングハードウェアへの投資を必要とする垂直スケーリングソリューションは、分散した汎用ハードウェアクラスタによって提供されるコスト価値のリターンと競合することができません。

<! - 1 - >

R言語のメモリ内の単一マシンの制限に準拠するために、データ科学者は、分析を利用可能なサンプルデータのサブセットのみに限定しなければならないことがよくありました。 Hadoopとのより深い統合に先立ち、R言語のプログラマは、大規模なデータセットによって引き起こされるメモリ内の課題を1台のマシンで克服するためのスケールアウト戦略を提案しました。

これは、メッセージパッシングシステムとページングを使用して実現されました。この技術は、メインメモリに同時に格納するには大きすぎるデータセットに対して作業を容易にすることができます。しかし、その低レベルのプログラミング手法は、並列プログラミングのパラダイムに慣れていない人にとっては、習得が急であることを示しています。

<! - 2 - >

Rの統計機能とHadoopの分散クラスタの統合には、SQLクエリ言語とのインタフェースとHadoop Streamingとの統合の2つの方法があります。前者の目的は、HiveやPigなどの既存のSQLデータウェアハウスプラットフォームを活用することです。これらのスキーマは、Hadoopデータを使用して統計ジョブを実行するための高度なプログラミングを提供するために、SQLスタイルの文を使用してHadoopジョブプログラミングを単純化します。

<! - 3 - >

MapReduceジョブをJava以外の言語(Rを含む)でプログラムしたいプログラマの場合、2番目の選択肢は、HadoopのStreaming APIを使用することです。ユーザが提出したMapReduceジョブは、UNIXの標準ストリームとシリアライゼーションの助けを借りてデータ変換を行い、プログラマが最初に入力した言語にかかわらず、HadoopへのJava準拠の入力を保証します。

開発者は、MapReduceの分散コンピューティング機能と、Rによって悪用されるような方法でHDFSのほぼ無制限のストレージ容量を活用するためのさまざまな戦略を探求し続けています。

HadoopとRの統合は進行中であり、 (BigInsightsの一環としてのBig R)とRevolution Analytics(Revolution R Enterprise)があります。 RHiveやRHadoopなど、Hadoopと高度なプログラミング言語とクエリ言語を統合するブリッジングソリューションも利用できます。

基本的に、各システムは、より大きなデータセットにR言語の深い分析能力を提供することを目指しています。

RHive

RHiveフレームワークは、R言語とHiveの間のブリッジとして機能します。 RHiveは、R固有の関数でHiveのSQLライクなクエリ言語(HiveQL)を拡張することにより、Hadoopに格納されたデータにRの豊富な統計ライブラリとアルゴリズムを提供します。 RHive関数を使用すると、HiveQLを使用して、Hiveを使用してカタログ化したHadoopクラスタのデータにR統計モデルを適用できます。

RHadoop

Rプログラマが利用できるもう1つのオープンソースフレームワークは、Hadoopでのデータの配布と分析の管理を支援するパッケージの集まりであるRHadoopです。

rmr2:

  • rmr2パッケージは、Hadoop準拠のMapReduceジョブへのR言語の変換をサポートしています(効率的な低レベルのMapReduceコードを生成します)より高いレベルのRコードから)。 rhdfs:

  • rhdfsパッケージは、HDFSストアを介してファイルを管理するためのR言語APIを提供します。 rhdfsを使用すると、ユーザーはHDFSストアからRデータフレーム(マトリックス)に読み込むことができ、同様にこれらのRマトリックスのデータをHDFSストレージに書き戻すことができます。 rhbase:

  • rhbaseパッケージもR言語APIを提供しますが、人生の目標はHDFSファイルではなくHBaseストアのデータベース管理です。 Revolution R

Revolution R(Revolution Analyticsによる)は、Hadoop分散システムでのR統合をサポートする商用R製品です。 Revolution Rは、HadoopのRのパフォーマンス、機能性、使いやすさを向上させることを約束します。 Rに似た深い分析を提供するために、Revolution Rは企業規模の大規模データ収集用に特別に開発された統計分析アルゴリズムのコレクションである同社のScaleRライブラリを利用しています。

ScaleRは、RプログラムコードをHadoopクラスタ上で高速に実行することを目的としており、R開発者はMapReduceではなく統計アルゴリズムに専念することができます。さらに、データ準備、ビジュアライゼーション、統計テストなど、数多くの分析タスクを処理します。

IBM BigInsights Big R

Big Rは、RとIBMのHadoop製品BigInsightsのエンドツーエンド統合を提供し、R開発者がHadoopデータを分析できるようにします。目的は、Rのプログラミング構文とコーディングのパラダイムを利用して、操作されたデータがHDFSにとどまることを保証することです。 Rデータ型はこれらのデータストアのプロキシとして機能します。つまり、R開発者は低レベルのMapReduce構文やHadoop固有のスクリプト言語(Pigなど)について考える必要はありません。

BigInsights Big Rテクノロジは、フラットファイル、HBase、およびHiveストレージ形式を含む複数のデータソースをサポートし、Hadoopクラスタ全体でRコードの並列およびパーティション実行を提供します。これは、基礎となるHDFSおよびMapReduceフレームワークの多くの複雑さを隠し、Big R機能が構造化データと非構造化データの両方で包括的なデータ分析を実行できるようにします。最後に、Big Rの統計エンジンのスケーラビリティにより、R開発者は事前定義された統計的手法と新しいアルゴリズムの作成者の両方を利用することができます。

Hadoopとの統合R - Dummiesとの統合

エディタの選択

自転車の点検チェックリスト - ダミー

自転車の点検チェックリスト - ダミー

すぐに自転車の点検をするために数分。あなたの自転車を一時的に与えることは、あなたの次の乗り心地の安全性、快適性、そして楽しさを高めることができます。乗車準備の一環として、次の手順に従ってください:車輪のクイックリリースレバーを開閉して、確認します。

必須サイクリング用具 - ダミー

必須サイクリング用具 - ダミー

あなたはバイクの乗り心地をさらに楽しくするために何百万ものものを買うことができます。自転車用に必要なアクセサリーをいくつかご紹介します。ヘルメット:ヘルメットを着用することはオーストラリアとニュージーランドの法律です。

自転車の範囲を閲覧可能 - ダミー

自転車の範囲を閲覧可能 - ダミー

あなたはサイクリングをすることに決めましたが、その重要なキットを欠いている - バイク!あなたが望む自転車のタイプを正確に知っていない限り、良いアドバイスは、あなたの時間を費やして、自転車で何をするのか、どこに乗るのかを本当に考えてみることです。

エディタの選択

アプリとプライバシー - ダミーを特定する

アプリとプライバシー - ダミーを特定する

Spotifyアプリケーションに登録すると、あなたの個人的な詳細の一部にアクセスする。たとえば、Top10アプリを使用してプレイリストを公開するには、既存のFacebookアカウントにリンクする必要があります。このプロセス中、Facebookはあなたに特定の種類の共有を許可するかどうか尋ねます。

モバイル対応携帯電話を識別する - ダミー

モバイル対応携帯電話を識別する - ダミー

SpotifyモバイルはiPhoneで最も人気がありますが、優れたAndroidバージョン(basks Androidマーケットの5つ星評価のうち5つの評価では5位に入っています)が急速に追いついています。

特集 - ダミー

特集 - ダミー

スポットメイキングは、モバイルでも、あらゆる音楽への普遍的な即時アクセスを可能にしますデバイスまたはデスクトップコンピュータ。 Facebookは人々が古い友達と再会して新しい友達を作るのを助け、Spotifyの助けを借りて青春の歌を再発見し、友人や検索を通じて新鮮な音楽を発見しました。

エディタの選択

IOSアプリケーションでオブジェクト指向設計を使用する方法 - ダミー

IOSアプリケーションでオブジェクト指向設計を使用する方法 - ダミー

IOSは、動作がオブジェクトに関連付けられているプログラムを設計するさまざまな方法です。説明するために、紅茶とスープの作り方を検討することを検討してください。しかし、即座に代わりに活動に飛び込んではいけません。探偵が犯罪現場に入るように行動してください。

IOSアプリケーションでハイレベル抽象化を使用してビデオを再生する方法 - ダミー

IOSアプリケーションでハイレベル抽象化を使用してビデオを再生する方法 - ダミー

このセクションでは、MPMoviePlayerViewControllerクラスの高レベル抽象化を使用してiOSアプリケーションでビデオを再生する方法を説明します。 - (IBAction)playVideo:(id)sender {MPMoviePlayerViewController * moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];このコードは、ビデオビューコントローラ内のTTTVideoViewControllerファイルからです。 [self presentMoviePlayerViewControllerAnimated:moviePlayer];}シンプルさ自体!必要なのはURLです。

IOSアプリケーションでJavaスクリプトオブジェクト表記を使用する方法 - ダミー

IOSアプリケーションでJavaスクリプトオブジェクト表記を使用する方法 - ダミー

JavaScript Object Notation (JSON)はiOSアプリのデータを表現する上で事実上の標準になっています。 JSONを使用して、Web上でデータを転送したり、長期保存データを保存および取得するためのフォーマットとして使用することができます。 JSONは、人間が読める形式であり、マシンが理解しやすい形式です。 JSONのデータは1つにまとめることができます...