基本的なハイブインタビューの質問と回答2022
公開: 2021-01-08ビッグデータのインタビューは、一般的なラインで行われる場合があります(ここでは、人気のあるビッグデータのフレームワークとツールについての一般的なアイデアが必要です)。または、特定のフレームワークまたはツールに焦点を当てることができます。 今日は、広く使用されているビッグデータフレームワークの1つであるApacheHiveに焦点を当てます。
このApacheHiveインタビューの質問のリストは、Hiveに関連するHadoopインタビュー中に雇用主が通常尋ねる種類の質問についてより良いアイデアを得るのに役立つように作成されています。
だから、あなたがハイブのインタビューを釘付けにしたい人なら、最後まで読み続けてください!
- Apache Hiveとは何ですか?
Apache Hiveは、Hadoop上に構築されたデータウェアハウジングフレームワークです。 これは主に、構造化データと半構造化データの分析に使用されます。 Hiveは、SQLステートメントと同様に、データに構造を投影し、HQL(Hiveクエリ言語)で記述されたクエリを実行するように設計されています。 さらに、Hiveコンパイラはこれらのクエリをmap-reduceジョブに変換します。
- Hiveはどのようなアプリケーションをサポートできますか?
Hiveは、Python、Java、C ++、Ruby、およびPHPで記述されたすべてのアプリケーションをサポートできます。
- メタストアとはどういう意味ですか? HiveがメタデータをHDFSに保存しないのはなぜですか?
Metastoreは、メタデータ情報を格納するHiveのリポジトリです。 これは、RDBMSと、オブジェクト表現をリレーショナルスキーマに、またはその逆に変換するData Nucleusと呼ばれるオープンソースORM(オブジェクトリレーショナルモデル)レイヤーを活用することで実現されます。

HDFSを使用した読み取り/書き込み操作は時間のかかるプロセスであるため、HiveはHDFSではなくRDBMSを使用してメタデータ情報を格納します。 RDBMSは、低遅延を実現するのに役立つため、RDBMSよりも優れています。
- ローカルメタストアとリモートメタストアを区別します。
ローカルメタストアは、Hiveサービスが実行されているのと同じJVMで実行されます。 同じマシンまたはリモートマシン上の別のJVMで実行されているデータベースに接続できます。 それどころか、リモートメタストアは、Hiveサービスが実行されているJVMではなく、別のJVMで実行されます。
- Hiveのパーティションとはどういう意味ですか? その重要性は何ですか?
Hiveでは、テーブルはパーティションに分類および編成され、列またはパーティションキーに従って、同様のタイプのデータをまとめて編成します。 したがって、パーティションは実際にはテーブルディレクトリのサブディレクトリです。 テーブルには、特定のパーティションに対して複数のパーティションキーが含まれる場合があります。
パーティション化により、Hiveテーブルの粒度を実現できます。 これは、データセット全体ではなく、関連するパーティション化されたデータのみをスキャンするため、クエリの待ち時間を短縮するのに役立ちます。
- ハイブ変数とは何ですか?
Hive変数は、Hiveスクリプト言語によって開発されたHive環境で作成されます。 sourceコマンドを使用すると、クエリの実行が開始されたときに値がハイブクエリに転送されます。
- Hiveはどのような種類のデータウェアハウスアプリケーションに適していますか?
HadoopとHDFSの設計規則により、Hiveの機能に一定の制限が課せられています。 また、OLTP(オンライントランザクション処理)に必要な機能がありません。 Hiveは、以下を必要とする大規模なデータセットのデータウェアハウスアプリケーションに最適です。
- 比較的静的なデータの分析。
- 応答時間が短くなります。
- データに動的な変更はありません。
- ハイブインデックスとは何ですか?
Hiveインデックスは、Hiveクエリの最適化方法です。 これは、Hiveデータベース内の特定の列または列のセットへのアクセスを高速化するために使用されます。 Hiveインデックスを利用することにより、データベースシステムは、選択されたデータを見つけるためにテーブル内のすべての行を読み取る必要がありません。
- なぜHcatologが必要なのですか?
データ構造を外部システムと共有するには、Hcatalogが必要です。 Hiveメタストアへのアクセスを提供するため、Hiveデータウェアハウスへのデータの読み取り/書き込みが可能です。

- Hiveクエリプロセッサのコンポーネントに名前を付けますか?
Hiveクエリプロセッサのコンポーネントは次のとおりです。
- 生成の論理計画。
- 世代の物理的計画。
- 実行エンジン。
- UDFとUDAF。
- 演算子。
- オプティマイザ。
- パーサー。
- セマンティックアナライザー。
- タイプチェック。
- ORCフォーマットテーブルは、Hiveがパフォーマンスを向上させるのにどのように役立ちますか?
ORC(Optimized Row Columnar)ファイル形式を使用すると、Hiveファイル形式のさまざまな制限を簡素化するのに役立つため、Hiveデータを効率的に保存できます。
- Object-Inspectorの機能は何ですか?
Hiveでは、Object-Inspectorは、行オブジェクトの内部構造と列の個々の構造を分析するのに役立ちます。 さらに、メモリにさまざまな形式で保存できる複雑なオブジェクトにアクセスする方法も提供します。
- HiveとHBaseの違いは何ですか?
HiveとHBaseの主な違いは次のとおりです。

- Hiveはデータウェアハウスフレームワークですが、HBaseはNoSQLデータベースです。
- HiveはほとんどのSQLクエリを実行できますが、HBaseはSQLクエリを許可しません。
- Hiveは、テーブルに対するレコードレベルの挿入、更新、および削除操作をサポートしていませんが、HBaseはこれらの機能をサポートしています。
- HiveはMapReduce上で実行されますが、HBaseはHDFS上で実行されます。
- 管理対象テーブルと外部テーブルとは何ですか?
管理対象テーブルでは、管理対象テーブルを終了/終了すると、メタデータ情報とテーブルデータの両方がHiveウェアハウスディレクトリから削除されます。 ただし、外部テーブルでは、テーブルに関連付けられているメタデータ情報のみが削除され、テーブルデータはHDFSに保持されます。
- Hiveアーキテクチャのさまざまなコンポーネントに名前を付けます。
Hiveアーキテクチャには5つのコンポーネントがあります。
- ユーザーインターフェイス–ユーザーがクエリやその他の操作をHiveシステムに送信できるようにします。 ユーザーインターフェイスは、Hive Web UI、Hiveコマンドライン、およびHiveHDInsightをサポートします。
- ドライバ–クエリのセッションハンドルを作成し、クエリをコンパイラに送信して、同じ実行プランを作成します。
- メタストア–構造化データと、ウェアハウス内のさまざまなテーブルおよびパーティションに関するすべての情報(属性付き)が含まれています。 メタデータリクエストを受信すると、メタデータをコンパイラに送信してクエリを実行します。
- コンパイラ–クエリを解析し、さまざまなクエリブロックでセマンティック分析を実行し、クエリ式を生成するための実行プランを生成します。
- 実行エンジン–コンパイラが実行計画を作成している間、実行エンジンはそれを実装します。 計画のさまざまな段階の依存関係を管理します。
明らかに、Hiveにはこれらの15の質問以上のものがあります。 これらは、Hiveについて簡単に学ぶのに役立つ基本的な概念にすぎません。
ビッグデータについて詳しく知りたい場合は、ビッグデータプログラムのソフトウェア開発スペシャライゼーションのPGディプロマをチェックしてください。このプログラムは、働く専門家向けに設計されており、7つ以上のケーススタディとプロジェクトを提供し、14のプログラミング言語とツール、実践的なハンズオンをカバーしています。ワークショップ、トップ企業との400時間以上の厳格な学習と就職支援。
幸せな学習!