いつHadoop、HBase、Hive、Pigを使用するのですか?


185

HadoopまたはHBaseまたはHiveを使用する利点は何ですか?

私の理解では、HBaseはmap-reduceの使用を回避し、HDFSの上に列指向のストレージを備えています。Hiveは、HadoopおよびHBase用のSQLに似たインターフェースです。

また、HivePigの比較についても知りたいです。


Hadoop:Hadoop分散ファイルシステム+計算処理モデルMapReduce。HBase:Key-Valueストレージ。ほぼリアルタイムでの読み取りと書き込みに適しています。Hive:SQLに似た構文を使用してHDFSからデータを抽出するために使用されます。Pig:ETLを作成するためのデータフロー言語です。
dbustosp

回答:


348

MapReduceは単なるコンピューティングフレームワークです。HBaseはそれとは何の関係もありません。つまり、MapReduceジョブを作成することで、HBaseとの間でデータを効率的に配置またはフェッチできます。あるいは、Javaなどの他のHBase APIを使用して順次プログラムを作成し、データを書き込んだり、フェッチしたりすることもできます。しかし、Hadoop、HBaseなどを使用して膨大な量のデータを処理しているため、あまり意味がありません。データが大きすぎる場合、通常の順次プログラムの使用は非常に非効率的です。

質問の最初の部分に戻ると、Hadoopは基本的に2つのものです。分散ファイルシステム(HDFS) + 計算または処理フレームワーク(MapReduce)です。他のすべてのFSと同様に、HDFSもストレージを提供しますが、フォールトトレラントな方法で、スループットが高く、データ損失のリスクが低くなります(レプリケーションのため)。ただし、FSであるため、HDFSにはランダムな読み取りおよび書き込みアクセス権がありません。ここでHBaseが登場します。これは、GoogleのBigTableをモデルにした、分散型でスケーラブルなビッグデータストアです。データはキーと値のペアとして格納されます。

ハイブに来る。既存のHadoopクラスターの上にデータウェアハウジング機能を提供します。それに加えて、SQLのバックグラウンドから来ている場合に、作業を簡単にするSQLのようなインターフェイスを提供します。Hiveでテーブルを作成し、そこにデータを保存できます。それに加えて、既存のHBaseテーブルをHiveにマップして操作することもできます。

Pigは基本的にはデータフロー言語であり、膨大な量のデータを非常に簡単かつ迅速に処理することができます。Pigには基本的に2つの部分があります。Pig インタープリターと言語、PigLatinです。PigスクリプトをPigLatinで記述し、Pigインタープリターを使用してそれらを処理します。Pigは私たちの生活をはるかに簡単にします。実際、いくつかのケースでは、それは本当に痛みになる可能性があります。

少し前に、Hadoopエコシステムのさまざまなツールの簡単な比較に関する記事を書きました。これは詳細な比較ではありませんが、開始するのに役立つこれらの各ツールの簡単な紹介です。(私の答えに追加するだけです。自己宣伝は意図されていません)

HiveとPigの両方のクエリは、内部でMapReduceジョブに変換されます。

HTH


あなたの話を忘れyarnたHadoopエコシステムに:(。
Kenryサンチェス

53

私は最近会社にHive Dataプラットフォームを実装しました。私は一人のチームだったので、一人称でそれを話すことができます。

目的

  1. 350を超えるサーバーから収集された毎日のWebログファイルを、SQLのような言語を介して毎日クエリ可能にする
  2. MySQLで生成された日次集計データをHiveで置き換えるには
  3. Hiveでクエリを介してカスタムレポートを作成する

アーキテクチャオプション

次のオプションをベンチマークしました。

  1. ハイブ+ HDFS
  2. Hive + HBase-クエリが遅すぎたため、このオプションをダンプしました

設計

  1. 日次ログファイルがHDFSに転送されました
  2. MRジョブは、これらのログファイルと出力ファイルをHDFSで解析しました
  3. HDFSの場所を指すパーティションと場所を含むHiveテーブルを作成する
  4. Hiveクエリスクリプトを作成し(SQLとは異なる場合はHQLと呼びます)、MRジョブをバックグラウンドで実行し、集計データを生成します。
  5. これらすべてのステップをOozieワークフローに組み込みます-Daily Oozie Coordinatorでスケジュール

概要

HBaseはマップのようなものです。キーを知っていれば、すぐに値を取得できます。しかし、Hbaseの整数キーの数が1000000から2000000の範囲にあることを知りたい場合は、Hbaseだけには適していません。

行全体で集計、ロールアップ、分析する必要があるデータがある場合は、Hiveを検討してください。

うまくいけば、これが役立ちます。

Hiveは実際に揺れています...わかっています。今から12か月間住んでいます... HBaseもそうです...


1
HBaseは、データをHDFSに格納するNonSQLデータベースです。ビッグデータへのランダムなリアルタイムの読み取り/書き込みアクセスが必要な場合に使用されます。
ルートループ

28

Hadoopは、単純なプログラミングモデルを使用して、コンピューターのクラスター全体で大規模なデータセットの分散処理を可能にするフレームワークです。

Hadoopには4つのメインモジュールがあります。

  1. Hadoop Common:他のHadoopモジュールをサポートする一般的なユーティリティ。

  2. Hadoop分散ファイルシステム(HDFS™):アプリケーションデータへの高スループットアクセスを提供する分散ファイルシステム。

  3. Hadoop YARN:ジョブスケジューリングとクラスターリソース管理のためのフレームワーク。

  4. Hadoop MapReduce:大きなデータセットを並列処理するためのYARNベースのシステム。

先に進む前に、3つの異なるタイプのデータがあることに注意してください。

  • 構造化:構造化データには強力なスキーマがあり、スキーマは書き込みおよび読み取り操作中にチェックされます。たとえば、Oracle、MySQLサーバーなどのRDBMSシステム内のデータ。

  • 非構造化:データには構造がなく、Webサーバーログ、電子メール、画像など、どのような形式でもかまいません。

  • 半構造化:データは厳密に構造化されていませんが、構造化されています。例:XMLファイル。

処理するデータの種類に応じて、適切なテクノロジを選択する必要があります。

Hadoopの一部であるさらにいくつかのプロジェクト:

  • HBase™:大きなテーブルの構造化データストレージをサポートするスケーラブルな分散データベース。

  • Hive ™:データの要約とアドホッククエリを提供するデータウェアハウスインフラストラクチャ。

  • Pig™:並列計算のための高水準データフロー言語および実行フレームワーク。

HiveとPIGの比較については、この記事と、このSEの質問に関する他の投稿を参照してください

HBASEはMap Reduceに置き換わるものではありません。HBaseはスケーラブルな分散データベースであり、Map Reduceはデータの分散処理のためのプログラミングモデルです。Map Reduceは、処理中にHBASEのデータに作用する場合があります。

あなたは使用することができますHIVE / HBaseのを構造化/半構造化データのためにとHadoopの地図でそれを処理削減します

SQOOPを使用して、従来のRDBMSデータベースOracle、SQL Serverなどから構造化データをインポートし、Hadoop Map Reduceで処理できます。

FLUMEを使用して、構造化データを処理し、Hadoop Map Reduceで処理できます。

:見ていHadoopのユースケースを

Hiveは、一定期間に収集されたデータの分析クエリに使用する必要があります。例:傾向を計算し、ウェブサイトのログを要約しますが、リアルタイムのクエリには使用できません。

HBaseは、ビッグデータのリアルタイムクエリに適しています。Facebookはそれをメッセージングとリアルタイム分析に使用します。

PIGは、データフローの構築、スケジュールされたジョブの実行、大量のデータのクランチ、データの集約/要約、および関係データベースシステムへの格納に使用できます。アドホック分析に適しています。

Hiveはアドホックデータ分析に使用できますが、PIGとは異なり、すべての非構造化データ形式をサポートすることはできません。


Facebookは、リアルタイムメッセージングシステムにオープンソースHBaseを使用しなくなりました。彼らはそれを自社の[Myrocksデータベース]に置き換えました。(engineering.fb.com/core-data/...
PPK

23

RDBMSを使用していて、使用するもの(全表スキャン、または索引アクセス)を選択する必要があるが、そのうちの1つだけを選択することを検討してください。
全表スキャンを選択した場合-ハイブを使用します。インデックスアクセスの場合-HBase。


実際、HBaseでHiveを構築して、HQLを使用してhbaseをフルスキャンし、同時にhbaseでインデックス付きクエリを実行することができます。しかし、これではフルスキャンのパフォーマンスが低下するとは思えません。
FrostNovaZzz 2015年

HBaseは書き込み指向のシステムであり、データはソートされて保存されますが、スキャンには最適ではありません。したがって、一部の範囲をスキャンすることをお
勧めし

5

HadoopとCassandra / HBaseの比較については、この投稿を参照してください

基本的に、HBaseはスケーラビリティを備えた非常に高速な読み取りと書き込みを可能にします。どれほど高速でスケーラブルですか?Facebookはこれを使用して、ユーザーステータス、写真、チャットメッセージなどを管理します。HBaseは非常に高速で、Hive自体のデータストアとしてHBaseを使用するスタックがFacebookによって開発されている場合があります。

As As Hiveは、データウェアハウジングソリューションに似ています。SQLと同様の構文を使用して、Hiveコンテンツをクエリし、Map Reduceジョブを実行できます。高速なトランザクションシステムには理想的ではありません。


5

私は、ラムダアーキテクチャ処理のリアルタイムおよびバッチロードに取り組みました。センサーによる火災警報の送信の場合、または銀行取引の場合の詐欺検出の場合、迅速な決定を行う必要がある場合は、リアルタイム処理が必要です。バッチ処理は、BIシステムにフィードできるデータを要約するために必要です。

上記のアプリケーションにはHadoopエコシステムテクノロジーを使用しました。

リアルタイム処理

Apache Storm:ストリームデータ処理、ルールアプリケーション

HBase:リアルタイムダッシュボードを提供するためのデータストア

Hadoopのバッチ処理:大量のデータを処理します。360度の概要またはイベントへのコンテキストの追加。Pig、MR、Spark、Hive、Sharkなどのインターフェースまたはフレームワークがコンピューティングを支援します。このレイヤーには、Oozieが適切なオプションであるスケジューラが必要です。

イベント処理レイヤー

Apache Kafkaは、センサーからの高速イベントを消費する最初のレイヤーでした。Kafkaは、Linkedinコネクタを介して、リアルタイム分析とバッチ分析の両方のデータフローを提供します。


5

深く理解する

Hadoop

HadoopApache財団のオープンソースプロジェクトです。これはで書かれたフレームワークでJava、もともとは2005年にDoug Cutingによって開発されました。Nutchテキスト検索エンジンの配布をサポートするために作成されました。HadoopGoogle Map ReduceおよびGoogleファイルシステムテクノロジーを基盤として使用しています。

Hadoopの機能

  1. 市販のハードウェアを使用して、大量の構造化、半構造化、および非構造化データを処理するように最適化されています。
  2. アーキテクチャは何も共有していません。
  3. データが複数のコンピューターに複製されるため、1台がダウンしても、レプリカを格納している別のマシンからデータを処理できます。
  4. Hadoop低レイテンシではなく高スループット用です。これは、大量のデータを処理するバッチ操作です。したがって、応答時間は即時ではありません。
  5. オンライントランザクション処理とオンライン分析処理を補完します。ただし、の代わりにはなりませんRDBMS
  6. 作業を並列化できない場合や、データ内に依存関係がある場合は適切ではありません。
  7. 小さなファイルの処理には適していません。巨大なデータファイルとデータセットで最適に動作します。

Hadoopのバージョン

Hadoop利用可能なの2つのバージョンがあります:

  1. Hadoop 1.0
  2. Hadoop 2.0

Hadoop 1.0

2つの主要な部分があります。

1.データストレージフレームワーク

これは、Hadoop分散ファイルシステム(HDFS)と呼ばれる汎用ファイルシステムです。

HDFS スキーマレスです

データファイルを格納するだけで、これらのデータファイルはほぼすべての形式にすることができます。

考えられるのは、ファイルを元の形式にできるだけ近づけて保存することです。

これにより、ビジネスユニットと組織は、何を実装できるかについて過度に心配することなく、非常に必要な柔軟性と俊敏性を提供します。

2.データ処理フレームワーク

これは、当初Googleによってとして普及したシンプルな関数型プログラミングモデルMapReduceです。

それは本質的に2つの機能を使用します:MAPREDUCEデータを処理するため。

「マッパー」は、キーと値のペアのセットを受け取り、中間データ(キーと値のペアの別のリスト)を生成します。

「リデューサー」は、この入力に基づいて出力データを生成します。

2つの機能は互いに分離して機能しているように見えるため、処理を高度に並列化し、フォールトトレランスとスケーラブルな方法で高度に分散させることができます。

Hadoop 1.0の制限

  1. 最初の制限は、MapReduceプログラミングの専門知識の要件でした。

  2. ログ分析、大規模データマイニングプロジェクトなどのタスクには適していますが、他の種類のプロジェクトにはほとんど適していません。

  3. 主要な制限の1つは、Hadoop 1.0と緊密に計算的に結合されることでしたMapReduce。これは、確立されたデータ管理ベンダーが2つの意見を残したことを意味します。

    1. またはMapReduceで実行できるように、機能を書き直します。Hadoop

    2. からデータを抽出するHDFSか、外部で処理しHadoopます。

データがHadoopクラスターに出入りすることによりプロセスの非効率性が発生するため、実行可能なオプションはありませんでした。

Hadoop 2.0

Hadoop 2.0HDFS引き続きデータストレージフレームワークです。

ただし、Y et A nother R esource N egotiater(YARN)と呼ばれる別個の新しいリソース管理フレームワークが追加されています。

自身を並列タスクに分割できるアプリケーションは、YARNでサポートされています。

YARNは、送信されたアプリケーションのサブタスクの割り当てを調整することで、アプリケーションの柔軟性、スケーラビリティ、および効率をさらに向上させます。

これは、ジョブトラッカーの代わりにアプリケーションマスターを配置し、新しいノードマネージャーによって管理されるリソースでアプリケーションを実行することで機能します。

ApplicationMasterは、あらゆるアプリケーションを実行できます。 MapReduce

つまり、バッチ処理だけでなく、リアルタイム処理もサポートしています。MapReduceは唯一のデータ処理オプションではなくなりました。

Hadoopの利点

ネイティブのデータを格納します。データのキー入力またはデータの保存中に課される構造はありません。HDFSスキーマレスです。構造が生データに課されるのは、後でデータを処理する必要があるときだけです。

スケーラブルです。Hadoopは、並列に動作する数百の安価なサーバー全体に非常に大きなデータセットを格納して配布できます。

障害に対して回復力があります。Hadoop耐障害性です。これは、データの複製をこまめに実行することを意味します。つまり、データが任意のノードに送信されるたびに、同じデータがクラスター内の他のノードにも複製されるため、ノードに障害が発生した場合でも、常に使用可能なデータの別のコピーが確実に存在します。

柔軟です。の主な利点の1つはHadoop、構造化データ、非構造化データ、半構造化データなど、あらゆる種類のデータを処理できることです。また、Hadoop「コードをデータに移動する」パラダイムにより、処理は非常に高速です。

Hadoopエコシステム

Hadoopエコシステムのコンポーネントは次のとおりです。

HDFSHadoop分散ファイルシステム。データファイルをできるだけ元のフォームにできるだけ近づけて保存するだけです。

HBase:これはHadoopのデータベースであり、とよく比較されますRDBMS。大きなテーブルの構造化データストレージをサポートします。

Hive:standard ANSI SQLと非常によく似た言語を使用して大規模なデータセットの分析を可能SQLにしHadoopます。つまり、使い慣れた人なら誰でもクラスター上のデータにアクセスできるはずです。

Pig:理解しやすいデータフロー言語です。大規模なデータセットの分析に役立ちますHadoopPigスクリプトはインタープリターMapReduceによって自動的にジョブに変換されPigます。

ZooKeeper:分散アプリケーションの調整サービスです。

OozieschedularApache Hadoopジョブを管理するワークフローシステムです。

Mahout:スケーラブルな機械学習およびデータマイニングライブラリです。

Chukwa:大規模分散システムを管理するためのデータ収集システムです。

SqoopHadoopリレーショナルデータベースなどの構造化データストアとの間でバルクデータを転送するために使用されます。

Ambari:これは、Hadoopクラスターのプロビジョニング、管理、監視のためのWebベースのツールです。

ハイブ

Hiveは、で構造化データを処理するためのデータウェアハウスインフラストラクチャツールですHadoopHadoopビッグデータをまとめるために上に常駐し、クエリと分析を容易にします。

ハイブは

  1. リレーショナルデータベース

  2. オンライントランザクション処理の設計(OLTP)。

  3. リアルタイムクエリと行レベルの更新のための言語。

Hiveの機能

  1. データベースにスキーマを保存し、データを処理しますHDFS

  2. それはのために設計されていOLAPます。

  3. orをSQL呼び出すための型言語を提供します。HiveQLHQL

  4. 使いやすく、高速で、スケーラブルで拡張可能です。

Hiveアーキテクチャ

次のコンポーネントがHiveアーキテクチャに含まれています。

  1. ユーザーインターフェイスはHiveあるdata warehouseユーザーとの間の相互作用を作成することができますインフラHDFSHiveサポートするユーザーインターフェイスは、Hive Web UI、Hiveコマンドライン、およびHive HD Insight(Windows Serverの場合)です。

  2. MetaStore:スキーマまたはテーブル、データベース、テーブル内の列、それらのデータ型、およびマッピングを格納するためにHiveそれぞれdatabase serversを選択します。MetadataHDFS

  3. HiveQLプロセスエンジン:のスキーマ情報のクエリにHiveQL似てSQLいますMetastore。これは、MapReduceプログラムの従来のアプローチの置き換えの1つです。代わりに書き込むのMapReduceではJava、我々はのためのクエリを書くことができますMapReduceし、それを処理します。

  4. 実行エンジンHiveQLプロセスエンジンの結合部分でMapReduceあり、Hive実行エンジンです。実行エンジンはクエリを処理し、と同じ結果を生成しますMapReduce results。の味を使用していますMapReduce

  5. HDFSまたはHBaseHadoop分散ファイルシステム、またはHBaseデータをファイルシステムに格納するデータストレージ技術。


1

まず、HadoopRDBMSのより高速な代替として作成されたことを明確にする必要があります。以前はRDBMSで多くの時間を要した非常に高速なレートで大量のデータを処理するため。

ここで、2つの用語を知っておく必要があります。

  1. 構造化データ:これは、従来のRDBMSで使用したデータであり、明確に定義された構造に分割されています。

  2. 非構造化データ:理解することが重要です。世界のデータの約80%が非構造化または半構造化されています。これらは生の形式であり、RDMSを使用して処理できないデータです。例:Facebook、Twitterデータ。(http://www.dummies.com/how-to/content/unstructured-data-in-a-big-data-environment.html)。

そのため、過去数年間に大量のデータが生成され、そのデータはほとんど構造化されておらず、HADOOPが誕生しました。これは主に、RDBMSを使用すると実行不可能な時間がかかる非常に大量のデータに使用されていました。比較的小さなデータにはリアルタイムで使用できないという多くの欠点がありましたが、新しいバージョンでは欠点を取り除くことに成功しました。

先に進む前に、以前のツールで障害が発生したときに新しいビッグデータツールが作成されることをお伝えします。したがって、作成されたツールは、以前のツールの問題を克服するために作成されたものです。

Hadoopは、MapreduceHDFSの 2つと簡単に言えます。Mapreduceは処理が行われる場所であり、HDFSはデータが格納されるデータベースです。この構造はWORMプリンシパルに従いました。したがって、HDFSにデータを保存すると、変更を加えることはできません。これは、の創出につながっHBaseの、我々はまた、一度それを書いた後、データの変更を行うことができますNOSQL製品。

しかし、時間の経過とともに、Hadoopには多くの障害があり、そのためにHadoop構造上に異なる環境を作成したことがわかりました。PIGとHIVEは2つの人気のある例です。

HIVEは、SQLのバックグラウンドを持つ人々のために作成されました。作成されたクエリは、HIVEQLという名前のSQLに似ています。HIVEは完全に構造化されたデータを処理するために開発されました。ustructuredデータには使用されません。

一方、PIGには独自のクエリ言語、つまりPIG LATINがあります。これは、両方のために使用することができる構造だけでなく、非構造化データ

HIVEを使用する場合とPIGを使用する場合の違いに移ると、PIGのアーキテクト以外の誰も言うことができないと思います。リンクをたどる:https : //developer.yahoo.com/blogs/hadoop/comparing-pig-latin-sql-constructing-data-processing-pipelines-444.html


1

Hadoop:

HDFSは、計算処理モデルMap-Reduceを使用するHadoop分散ファイルシステムの略です。

HBase:

HBaseはKey-Valueストレージであり、ほぼリアルタイムでの読み取りと書き込みに適しています。

ハイブ:

Hiveは、SQLに似た構文を使用してHDFSからデータを抽出するために使用されます。HiveはHQL言語を使用します。

豚:

Pigは、ETLを作成するためのデータフロー言語です。それはスクリプト言語です。


0

少しお答えします。

Hadoopは、他のすべてのツールで構成されるエコシステムです。したがって、Hadoopは比較できませんが、MapReduceは比較できます。

これが私の数セントです:

  1. Hive: SQLishを必要とする場合、問題のステートメントをSQLで処理できるので、Hiveを使用するのが最も簡単です。ハイブを使用するもう1つのケースは、サーバーに特定のデータ構造を持たせたい場合です。
  2. Pig: Pig Latinに慣れていて、さらに多くのデータパイプラインが必要な場合。また、データには構造がありません。そのような場合は、Pigを使用できます。正直なところ、使用例に関してHiveとPigの間に大きな違いはありません。
  3. MapReduce: SQLをそのまま使用しても問題を解決できない場合は、最初にHive&Pig用のUDFを作成してから、UDFが問題を解決していない場合はMapReduceを介してそれを実行するのが理にかなっています。

0

Pig:ファイルを処理してデータをクリーニングする方が良い例:null値の削除、文字列の処理、不要な値Hive:クリーニングされたデータのクエリ用


0

1.Hadoopを使用して、txt、csvなどのフォームファイル形式で大きなデータ(つまり、構造化、非構造化、および半構造化データ)を保存しています。

2.データに円柱状の更新が必要な場合は、Hbaseツールを使用しています

3. Hiveの場合、構造化された形式のビッグデータを格納し、さらにそのデータの分析を提供します。

4.Pigは、Pigラテン語を使用して任意の形式(構造、半構造、非構造)のデータを分析するツールです。


0

Pigでのデータのクレンジングは非常に簡単です。適切なアプローチは、pigを介してデータをクレンジングしてから、ハイブを介してデータを処理し、後でhdfsにアップロードすることです。


0

Hive、Hbase、Pigを使用して、さまざまなプロジェクトでのリアルタイムの経験をしました。

ハイブは主に次の目的で使用されます。

  • 履歴データの分析が必要な分析目的

  • 特定の列に基づくビジネスレポートの生成

  • メタデータ情報とともにデータを効率的に管理する

  • バケットの概念を使用して頻繁に使用される特定の列のテーブルを結合する

  • パーティショニングの概念を使用した効率的な保存とクエリ

  • 更新、削除などのトランザクション/行レベルの操作には役立ちません。

豚は主に以下のために使用されます:

  • 膨大なデータの頻繁なデータ分析

  • 巨大なデータの集計値/カウントを生成する

  • エンタープライズレベルの主要業績評価指標を非常に頻繁に生成する

Hbaseは主に使用されます:

  • データのリアルタイム処理用

  • 複雑でネストされたスキーマを効率的に管理するため

  • リアルタイムのクエリとより高速な結果

  • カラムで簡単に拡張可能

  • 更新、削除などのトランザクション/行レベルの操作に役立ちます。


0

この質問への短い答えは-

Hadoop-巨大なサイズのデータ​​を格納し、従来のアプローチと比較して非常に少ない処理時間で非常に効率的に分散データを処理できるようにする分散ファイルシステムとプログラミングモデルを容易にするフレームワークです。

(HDFS-Hadoop分散ファイルシステム)(Map Reduce-分散処理のプログラミングモデル)

Hive-Hadoop分散ファイルシステムからデータを非常に人気のあるSQLのような方法で読み書きできるクエリ言語です。これにより、Hiveがサポートされていない非常に複雑なシナリオを除いて、Map-Reduceプログラムを作成する必要がなくなるため、プログラミングを行わない多くのバックグラウンドユーザーの生活が楽になります。

Hbase-カラムNoSQLデータベースです。Hbaseの基礎となるストレージレイヤーもHDFSです。このデータベースの最も重要なユースケースは、数百万の列を持つ数十億の行を格納できるようにすることです。Hbaseの低レイテンシー機能は、分散データを介したレコードへのより高速でランダムなアクセスに役立ちます。これは、Recommender Engineなどの複雑なプロジェクトで役立つようにするための非常に重要な機能です。また、レコードレベルのバージョン管理機能により、トランザクションデータを非常に効率的に保存できます(これにより、HDFSとHiveでレコードを更新する問題が解決されます)。

これが上記の3つの機能をすばやく理解するのに役立つことを願っています。


0

このスレッドは、特にHBaseとPigに対して特に正義を行っていないと思います。私はHadoopがビッグデータレイク実装のための分散型の復元力のあるファイルシステムの選択であると信じていますが、HBaseとHiveの間の選択は特によく分離されています。

同様に、多くのユースケースには、SQLに似たインターフェースまたはNo-SQLに似たインターフェースの特定の要件があります。HBaseの上にPhoenixがあれば、SQLのような機能は確かに実現可能ですが、パフォーマンス、サードパーティの統合、ダッシュボードの更新は一種の苦痛な体験です。ただし、水平スケーリングが必要なデータベースには最適です。

Pigは特に、計算やETLパイプライン処理などの非再帰的なバッチに適しています(どこかで、Sparkよりも快適な距離でパフォーマンスが向上します)。また、高レベルのデータフローの実装は、バッチクエリとスクリプトの優れた選択肢です。PigとHiveのどちらを選択するかは、クライアント側またはサーバー側のスクリプトの必要性、必要なファイル形式などにも影響します。Pigは、Hiveの場合には当てはまらないAvroファイル形式をサポートしています。「手続き型データフロー言語」と「宣言型データフロー言語」のどちらを選択するかも、豚と巣箱のどちらを選択するかを強く主張します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.