Apache Hive

このページには、Looker を Apache Hive 2.3 以降および Apache Hive 3.1.2 以降に接続するための情報が記載されています。

Apache Hive のさまざまなバージョンに対する Looker のサポートについては、次の点に注意してください。

  • Looker は、Apache Hive 2.3 以降と Apache Hive 3.1.2 以降への接続をサポートしています。
  • Apache Hive 3.1.2 以降では、Looker は Apache Hive 3 データベースと完全に統合できます(バージョン 3.1.2 以降のみ)。これは、Hive バージョン 2.4.0~3.1.2 のクエリ解析の問題が原因で、Looker が生成した SQL の解析に非常に長い時間がかかっていたためです。
  • Looker は Apache Hive 2 への接続をサポートしていません。Apache Hive 2 への接続に対するクエリではエラーが返されます。

ネットワークトラフィックの暗号化

Looker アプリケーションとデータベース間のネットワーク トラフィックを暗号化することをおすすめします。セキュアなデータベースアクセスを可能にするドキュメント ページに記載されているオプションのいずれかを検討してください。

はじめに

Looker は、JDBC を使用してデータベース サーバーに接続するように設計されています。Hive の場合、この JDBC は thrift サーバー(HiveServer2)です。詳細については、Apache のドキュメントをご覧ください。

デフォルトでは、このサーバーはポート 10000 をリッスンします。

Looker はインタラクティブなクエリツールであるため、インタラクティブな SQL エンジンで動作することを想定しています。Hive が MapReduce で実行されている場合(hive.execution.enginemr に設定されている場合)、Hive はクエリ結果を返すのが遅すぎて実用的ではありません。

Looker は Hive on Tez(hive.execution.engine=tez)でテストされていますが、Looker を Hive on Spark で実行することも可能です。Spark のサポートは Hive バージョン 1.1 で追加されました(Looker は Hive 1.2.1 以降をサポートしています。)

永続的な派生テーブル(PDT)

Hive 接続を使用して Looker で永続的な派生テーブル(PDT)を有効にするには、Looker が使用するスクラッチ スキーマを作成します。looker_scratch スキーマの作成に使用できるコマンドの例を次に示します。

 CREATE SCHEMA looker_scratch;

Looker が Hive への接続に使用するユーザー アカウント(認証を使用しない場合は匿名でも可)は、スクラッチ スキーマで次の操作ができる必要があります。

  • テーブルの作成
  • テーブルを変更する
  • テーブルを削除する

Hive で PDT を作成する前に、JDBC クライアントでこのテストをします。

キュー

Looker からのクエリを特定のキューに入れる場合は、[接続設定] ページの [その他の JDBC パラメータ] フィールドにキュー名パラメータを入力します。:

?tez.queue.name=the_bi_queue

その他の Hive パラメータは、接続設定ページの [その他の JDBC パラメータ] フィールドで設定できます。

ユーザー属性を使用すると、異なるユーザーやユーザー グループからのクエリがさまざまなキューに入る可能性があります。これを行うには、queue_name のようなユーザー属性を作成し、[その他の JDBC パラメータ] フィールドに以下を追加します。

?tez.queue.name={{ _user_attributes['queue_name'] }}

これにより、他の hive-site.xml パラメータをユーザー単位またはグループ単位でカスタマイズすることもできます。

データベースへの Looker 接続の作成

Looker からデータベースへの接続を作成する手順は次のとおりです。

  1. Looker の [管理者] セクションで [接続] を選択し、[新しい接続] をクリックします。
  2. [言語] プルダウン メニューから [Apache Hive 2.3 以降] または [Apache Hive 3.1.2 以降] を選択します。

  3. 接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。設定の一部を次に説明します。

    • Name: 接続の名前を指定します。LookML プロジェクトでこの接続を参照する際に使用します。
    • ホスト: ホスト名を指定します。
    • ポート: データベース ポートを指定します。
    • データベース: データベース名を指定します。
    • ユーザー名: データベースのユーザー名を指定します。
    • パスワード: データベース ユーザーのパスワードを指定します。
    • PDT を有効にする: 有効にするには、この切り替えボタンを使用して永続的な派生テーブルを有効にします。PDT が有効になると、追加の PDT 設定と [PDT オーバーライド]が [接続] ウィンドウに表示されます。
    • 一時データベース: このドキュメント ページの永続的な派生テーブル(PDT)で作成したスクラッチ スキーマの名前を指定します。
    • PDT ビルダーの最大接続数: この接続で同時に可能な PDT ビルドの数を指定します。この値を大きく設定しすぎると、クエリ時間に悪影響を及ぼす可能性があります。詳細については、Looker をデータベースに接続のドキュメント ページをご覧ください。
    • その他の JDBC パラメータ: 追加の JDBC 文字列パラメータを指定します。
    • データグループと PDT メンテナンス スケジュール: cron 式。Looker がいつデータグループと永続的な派生テーブルを確認するかを示します。データグループと PDT のメンテナンス スケジュールのドキュメントをご覧ください。
    • SSL: SSL 接続を使用する場合にオンにします。
    • SSL の検証: ホスト名の検証を確認します。
    • ノードあたりの最大接続数: この設定は、デフォルト値のままで問題ありません。詳細については、Looker をデータベースに接続するのドキュメント ページをご覧ください。
    • 接続プールのタイムアウト: この設定は、最初はデフォルト値のままにしておくことができます。この設定の詳細については、Looker をデータベースに接続するのドキュメント ページの接続プールのタイムアウトのセクションをご覧ください。
    • SQL Runner Precache: SQL Runner でテーブルの情報を事前に読み込まず、テーブルを選択したときにのみテーブルの情報が読み込まれるようにするには、このオプションをオフにします。この設定の詳細については、Looker をデータベースに接続するのドキュメント ページの SQL Runner の事前キャッシュのセクションをご覧ください。
    • データベースのタイムゾーン: データベースで使用されるタイムゾーンを指定します。タイムゾーンの変換を行わない場合は、このフィールドを空白のままにします。詳しくは、タイムゾーンの設定の使用のドキュメント ページをご覧ください。
  4. 接続が成功したことを確認するには、[テスト] をクリックします。トラブルシューティング情報については、データベース接続のテストのドキュメント ページをご覧ください。

  5. これらの設定を保存するには、[接続] をクリックします。

機能のサポート

一部の機能については、Looker でサポートするには、データベース言語が同じ機能に対応している必要があります。

Apache Hive 2.3+

Apache Hive 2.3 以降では、Looker 24.20 の時点で、次の機能をサポートしています。

特徴 サポート対象
サポート レベル
統合
Looker(Google Cloud コア)
×
対称集計
×
派生テーブル
永続的な SQL 派生テーブル
永続的なネイティブ派生テーブル
安定したビュー
クエリの強制終了
SQL ベースのピボット
×
タイムゾーン
SSL
Subtotals
JDBC の追加パラメータ
大文字と小文字を区別
ロケーション タイプ
リストのタイプ
パーセンタイル
個別のパーセンタイル
×
SQL Runner の表示プロセス
×
SQL Runner の説明テーブル
SQL Runner 表示インデックス
SQL Runner Select 10
SQL ランナーの数
SQL の説明
Oauth 認証情報
×
コンテキスト コメント
接続プーリング
×
HLL スケッチ
×
集計認識
増分PDT
×
ミリ秒
マイクロ秒
マテリアライズド ビュー
×
Approximate Count Distinct
いいえ

Apache Hive 3.1.2+

Apache Hive 3.1.2 以降では、Looker 24.20 の時点で、次の機能をサポートしています。

特徴 サポート対象
サポート レベル
サポート対象
Looker(Google Cloud コア)
対称集計
×
派生テーブル
永続的な SQL 派生テーブル
永続的なネイティブ派生テーブル
安定したビュー
クエリの強制終了
SQL ベースのピボット
×
タイムゾーン
SSL
Subtotals
JDBC の追加パラメータ
大文字と小文字を区別
ロケーション タイプ
リストのタイプ
パーセンタイル
個別のパーセンタイル
×
SQL Runner の表示プロセス
×
SQL Runner の説明テーブル
SQL Runner 表示インデックス
×
SQL Runner Select 10
SQL ランナーの数
SQL の説明
Oauth 認証情報
×
コンテキスト コメント
接続プーリング
×
HLL スケッチ
×
集計認識
増分PDT
×
ミリ秒
マイクロ秒
マテリアライズド ビュー
×
Approximate Count Distinct
×

次のステップ

データベースを Looker に接続した後、ユーザーのログイン オプションを構成します