初心者向けのApacheHiveUltimateチュートリアル:最初からHiveを学ぶ
公開: 2020-03-20Apacheハイブは、Hadoop上に構築されたオープンソースのデータウェアハウスシステムです。 これは、Hadoopファイルに保存されている大規模なデータセットのクエリと分析に使用されます。 このApacheHiveチュートリアルは、その基本、特性、および使用法を理解するのに役立ちます。
デジタル時代では、毎日約2.5兆バイトのデータが生成されます。 この爆発的なデータを封じ込めるには、革新的なテクノロジーが必要です。 また、Hiveは、業界をリードするHadoopエコシステムで構造化データと半構造化データを処理するツールの1つです。 ますます多くの雇用主がビッグデータの機能を活用しようとするにつれて、Hadoopツールに精通している人々を探しています。 したがって、 Hadoop Hiveチュートリアルは、初心者向けのビッグデータコースの重要なコンポーネントです。
目次
ハイブとは何ですか? 簡単に説明してください。
Apache Hiveを使用すると、開発者はデータを要約し、クエリを実行し、大規模なデータセットを分析できます。 Hadoop分散ファイルシステム(HDFS)の上に構築されており、データをテーブルに編成することで、データにより多くの構造をもたらします。 また、HiveはHiveQLまたはHQL言語を使用して、データに対してSQLのようなクエリを実行します。
SQLは従来のデータベースで実行されますが、HQLはクエリをMapReduceジョブに自動的に変換できます。 Hiveは、SQLクエリをHadoopクラスターで実行される一連のジョブに変換することにより、Hadoopの複雑さを抽象化します。 したがって、Apache Hiveを習得するには、SQLの基本的な知識が必要です。 しかし、Javaを学ぶ必要はありません。
Apache Hiveチュートリアルに進み、現代の職場環境での使用について説明しましょう。
なぜHiveを使用する必要があるのですか?
従来のデータベースシステムは、今日のビッグデータアプリケーションによって生成された大量のデータを処理するために装備されていません。 そして、Hadoopはこの問題を解決するフレームワークです。 さまざまなツールがHadoopモジュールを支援しますが、Hiveはその1つです。 Apache Hiveを使用すると、次のタスクを実行できます。

- テーブルは分割してバケット化できるため、Hadoop分散ファイルシステム(HDFS)に格納されているデータを処理できます。 テーブルはHDFSで直接定義されます
- JDBC / ODBCドライバーは、従来のテクノロジーとの統合に使用できます
- データの要約とともにスキーマの柔軟性と進化を提供し、分析を容易にします
- 複雑なHadoopMapReduceジョブを作成する手間を省きます
- パーティションとバケットの概念により、データの高速取得が可能になります
- SQL開発者にとって非常に簡単に習得および実装できます
- 高速でスケーラブルなシステム
- Hiveは、テキストファイル、シーケンスファイル、RCファイル、ORFファイル、Parquetファイル、AVROファイルなどのさまざまな種類のファイルをサポートします。
Hiveアーキテクチャの主要なコンポーネントは何ですか?
1.ユーザーインターフェイス:クエリを送信し、指示を処理し、管理することができます。 コマンドラインインターフェイス(CLI)とWeb UIにより、外部ユーザーはHiveに接続できます。
2.メタストア:名前が示すように、メタストアはデータベースのメタデータを保持します。 これには、テーブルのスキームと場所に関する情報が含まれています。 また、パーティションのメタデータも保存されます。 従来のリレーショナルデータベースに存在し、クラスター内の分散データを監視できます。 データを追跡し、複製し、バックアップを提供します。
3.ドライバー: HiveQLステートメントを受け取るのはプロセスエンジンのその部分です。 ドライバーは、ステートメントを実行するセッションを作成し、そのライフサイクルを監視します。 また、ステートメントの実行中に生成されたメタデータも保存されます。

4.コンパイラ: HiveQLプロセスエンジンのこの部分は、クエリを抽象構文木(AST)や有向非巡回グラフ(DAG)などのMapReduce入力に変換します
5.オプティマイザー: Hiveアーキテクチャのこのコンポーネントは、実行プランで変換を実行して、最適化されたDAGを提供します。 タスクを分割してパフォーマンスを向上させます。
6.エグゼキュータ:実行プロセスを完了するためにタスクをスケジュールまたはパイプラインします。 このために、Hadoopジョブトラッカーと相互作用します。
読む:初心者向けのHadoopチュートリアル
このApacheHiveチュートリアルは、これらのHiveコンポーネントがクエリを実行するために相互にどのように相互作用するかを説明せずに完了することはできません。 そこで、以下の手順をリストしました。
ステップ1:ユーザーがCLIまたはWeb UIにクエリを入力すると、クエリがドライバーに転送されます。
ステップ2:ドライバーは、チェックのためにクエリをコンパイラーに渡します。 コンパイラーは構文の正確さを保証します。
ステップ3:コンパイラーは、先に進むために必要なメタデータをメタストアに要求します。
ステップ4:メタデータを受け取った後、コンパイラーは実行プランをドライバーに再送信します。
ステップ5:ドライバーはこの計画を実行エンジンに転送します。
ステップ6:実行エンジンが最終段階を実行します。 タスクをHadoopのMapReduceモジュール内のJobTracker(名前ノード)に送信します。
ステップ7: JobTrackerはさらにタスクをTaskTracker(データノード)に割り当てます。
ステップ8:クエリが実行され、エグゼキュータに返送されます。
ステップ9:エグゼキュータは結果をドライバに送信します。
ステップ10:ドライバーは結果をHiveのユーザーインターフェイスに転送します。

読む:インドのHadoop開発者給与
ハイブシェルについて何を知っていますか?
Hive Shellを使用すると、ユーザーはHQLクエリを実行できます。 これはHiveのコマンドラインインターフェイスです。 HiveShellは次の2つのモードで実行できます。
- 非対話型:-fオプションを使用して、HQLクエリを含むファイルの場所を指定します。 たとえば、hive -f my-script.q
- インタラクティブ:Hive Shellに直接移動し、クエリを手動で送信して結果を取得します。 たとえば、$ bin / hive、ハイブシェルに移動します
Hiveの制限をいくつか挙げてください
- 限定的なサブクエリサポートを提供します
- Hiveクエリはレイテンシが高い
- マテリアライズドビューはApacheHiveでは許可されていません
- リアルタイムクエリ、行レベルの更新、更新および削除操作は提供しません
- Apache Hiveは、オンライン移行プロセスまたはOLTPには適していません
まとめ
このHadoopHiveチュートリアルでは、Hiveのさまざまな側面、その使用法、およびアーキテクチャーについて説明しました。 また、その動作について詳しく調べ、その制限について説明しました。 このすべての情報は、Hiveの学習の旅を始めるのに役立ちます。 結局のところ、これは最も広く使用され、信頼されているビッグデータフレームワークの1つです。
ビッグデータについて詳しく知りたい場合は、ビッグデータプログラムのソフトウェア開発スペシャライゼーションのPGディプロマをチェックしてください。このプログラムは、働く専門家向けに設計されており、7つ以上のケーススタディとプロジェクトを提供し、14のプログラミング言語とツール、実践的なハンズオンをカバーしています。ワークショップ、トップ企業との400時間以上の厳格な学習と就職支援。
世界のトップ大学からオンラインでソフトウェア開発コースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。