Apache Hiveは、Hadoop上に構築されたデータウェアハウスパッケージであり、データ分析に使用されます。 Hiveは、SQLに慣れているユーザーを対象としています。これはSQLに似ており、HiveQLと呼ばれ、構造化データの管理とクエリに使用されます。 Apache Hiveは、Hadoopの複雑さを抽象化するために使用されます。この言語により、従来のmap / reduceプログラマーはカスタムマッパーとレデューサーをプラグインすることもできます。 Hiveの人気のある機能は、Javaを学ぶ必要がないことです。
Hadoopに基づくオープンソースのペタバイトスケールの日付ウェアハウジングフレームワークであるHiveは、Facebookのデータインフラストラクチャチームによって開発されました。 Hiveは、Facebookの要件に対応するために使用されているテクノロジーの1つでもあります。 Hiveは、Facebookの内部のすべてのユーザーに非常に人気があり、さまざまなアプリケーションで、数百人のユーザーがいるクラスターで数千のジョブを実行するために使用されています。 FacebookのHive-Hadoopクラスターは、2PBを超える生データを保存し、毎日15TBのデータを定期的にロードします。
人気がありユーザーフレンドリーになる機能のいくつかを見てみましょう。
- プログラマーがカスタムマッパーとレデューサーをプラグインできるようにします。
- データウェアハウスインフラストラクチャがあります。
- 簡単なデータETLを有効にするツールを提供します。
- QLと呼ばれるSQLのようなクエリ言語を定義します。
Apache Hiveのユースケース– Facebook:
Hiveを実装する前は、生成されるデータのサイズが大きくなるか、むしろ爆発するため、Facebookは多くの課題に直面し、それらを処理することが非常に困難になりました。従来のRDBMSはプレッシャーに対処できず、その結果、Facebookはより良いオプションを探していました。この差し迫った問題を解決するために、Facebookは最初にHadoop MapReduceを使用しようとしましたが、プログラミングが難しく、SQLの必須知識があるため、実用的ではありませんでした。ハイブは彼らが直面していた課題を克服することを可能にしました。
インスタンス変数はJavaでどこで宣言する必要がありますか
Hiveを使用すると、次のことを実行できるようになります。
- テーブルは分割してバケット化できます
- スキーマの柔軟性と進化
- JDBC / ODBCドライバーが利用可能です
- ハイブテーブルはHDFSで直接定義できます
- 拡張可能–タイプ、フォーマット、関数、およびスクリプト
ヘルスケアにおけるハイブのユースケース:
ハイブはどこで使用しますか?
Apache Hiveは、次の場所で使用できます。
- データマイニング
- ログ処理
- ドキュメントの索引付け
- 顧客向けビジネスインテリジェンス
- 予測モデリング
- 仮説検定
Hiveアーキテクチャ:
ハイブは、次の主要なコンポーネントで構成されています。
- Metastore –メタデータを保存します。
- JDBC / ODBC –SQLクエリをMapReduceのシーケンスに変換するクエリコンパイラおよび実行エンジン。
- SerDeおよびObjectInspectors–データ形式およびタイプ用。
- UDF / UDAF-ユーザー定義関数用。
- クライアント–MySQLコマンドラインおよびWebUIに似ています。
Hiveのコンポーネント:
メタストア:
ec2スナップショットからインスタンスを作成
メタストアは、テーブル、パーティション、テーブル内の列に関する情報を格納します。メタストアに保存するには、埋め込みメタストア、ローカルメタストア、リモートメタストアの3つの方法があります。ほとんどの場合、リモートメタストアは本番モードで使用されます。
Hiveの制限:
Hiveには次の制限があり、そのような状況では使用できません。
- オンライントランザクション処理用には設計されていません。
- インタラクティブなデータブラウジングに許容可能なレイテンシを提供します。
- リアルタイムのクエリと行レベルの更新は提供しません。
- Hiveクエリのレイテンシーは一般的に非常に高くなります。
質問がありますか?コメントセクションでそれらに言及してください。折り返しご連絡いたします。
アトムPythonを実行する方法
関連記事: