ビデオ: Beeline Vs Hive CLI when using Ranger 2024
最初のHiveクライアントはHiveコマンドラインインターフェイス(CLI)です。 Hive CLIクライアントの細かい点をマスターするには、多少混雑しているHiveアーキテクチャを見直すことが役立ちます。
2番目の図では、アーキテクチャを合理化して、CLIを実行するときに必要なコンポーネントのみに焦点を当てています。
<! - 1 - >これらは、HadoopクラスタでCLIを実行する場合に必要となるHiveのコンポーネントです。ここでは、Hiveをローカルモードで実行します。このモードでは、データ用にHDFSではなくローカルストレージを使用します。
Hive CLIを実行するには、hiveコマンドを実行し、実行するサービスとしてCLIを指定します。次のリストでは、必要なコマンドと最初のHiveQLステートメントを見ることができます。 (キーコマンドに注意を向けるために、A-B-Cモデルを使用するステップ注釈がリストに含まれています。)
<! (H)> hive> binハイブ - サービスcli(B) ハイブを設定します。 cli。印刷します。現在。 db = true; (C) ハイブ(デフォルト)>データベースを作成します。 OK時間:3.756秒 (D) ハイブ(デフォルト)>最初のデータベースを使用します。 OK時間:0.039秒 (E) ハイブ(最初のデータベース)> CREATE TABLE our_first_table(>ファーストネームSTRING、>ファーストネームSTRING、> EmployeeId INT); OK撮影時間:0. 043秒ハイブ(私たちの最初のデータベース)>終了; (F)$ 9 / home / biadmin / Hive / warehouse / ourfirstdabase。 db our_first_table 最初のコマンド(ステップAを参照)は、$ HIVE_HOME環境変数を使用してHive CLIを開始します。 -service cliコマンドラインオプションは、他のサーバーを選択できたとしても、Hiveシステムにコマンドラインインターフェイスを開始するように指示します。 <! - 3 - > 次に、ステップBで、Hive CLIに現在の作業データベースを出力して、名前空間のどこにいるかを知るように指示します。 (このステートメントは、次のコマンドの使用方法を説明した後は意味がありますので、しっかりと固定してください。)
ステップCでは、HiveQLのデータ定義言語(DDL)を使用して最初のデータベースを作成します。 (Hiveのデータベースは、特定のテーブルが存在する名前空間であり、データベースやスキーマと考えることができるので、同じ結果を達成するためにDATABASEの代わりにSCHEMAという用語を使用することができます)。
より具体的には、DDLを使用して、ourfirstdatabaseという名前のデータベースを作成し、このデータベースを、ステップDでUSEコマンドを使用した後続のHiveQL DDLコマンドのデフォルトにするように指示します。ステップEでは、テーブルに入れ、それに(かなり適切な)our_first_tableという名前を付けます。(これまでは、SQLによく似ていると思われましたが、おそらくRDBMSに慣れている構文によって多少の違いがあります。ステップFでは、選択したHiveウェアハウスディレクトリのディレクトリリストを実行して、our_first_tableが実際にディスクに格納されていることを確認できます。
あなたはハイブを設定しました。 metastore。倉庫。 dir変数を使用して、適切なHadoopクラスタ上でHDFSを使用するのではなく、Linux仮想マシンの/ home / biadmin / Hive /ウェアハウスを指定します。
テーブルを作成したら、テーブルのメタデータを表示するのは面白いことです。実稼働環境では、数十台以上のテーブルがある可能性がありますので、時々テーブル構造を見直すと便利です。
c
は、HiveQLコマンドを使用してHive CLIを使用して行いますが、Hive Web Interface(HWI)サーバーはこのタイプの操作に役立つインターフェイスを提供します。 CLIの代わりにHWIサーバーを使用すると、より安全にすることもできます。運用環境でCLIを使用する場合は、CLIを実行しているマシンがHadoopクラスタ全体にアクセスできる必要があるため、慎重に検討する必要があります。 システム管理者は、通常、CLIを実行しているマシンへの制御された安全なアクセスとネットワーク暗号化を提供するために、セキュアシェル(ssh)のようなツールを導入しています。ただし、HWIサーバーを使用する場合、ユーザーは自分のWebブラウザーを介してHWIサーバーによって許可されたHiveデータにしかアクセスできません。