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.8 の時点で、次の機能をサポートしています。

特徴 サポート対象
サポート レベル
統合
Looker(Google Cloud コア)
いいえ
対称集計
いいえ
派生テーブル
あり
永続的な SQL 派生テーブル
あり
永続的なネイティブ派生テーブル
あり
安定したビュー
あり
クエリの強制終了
あり
SQL ベースのピボット
いいえ
タイムゾーン
あり
SSL
あり
Subtotals
あり
JDBC の追加パラメータ
あり
Case Sensitive
あり
ロケーション タイプ
あり
リストのタイプ
あり
パーセンタイル
あり
個別のパーセンタイル
いいえ
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.8 の時点で、次の機能をサポートしています。

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

次のステップ

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