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 文字列パラメータを指定します。
    • メンテナンス スケジュール: cron 式。Looker がいつデータグループと永続的な派生テーブルを確認するかを示します。この設定の詳細については、メンテナンス スケジュールのドキュメントをご覧ください。
    • 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 25.18 の時点で、次の機能をサポートしています。

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

Apache Hive 3.1.2+

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

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

次のステップ

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