このページには、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.engine
が mr
に設定されている場合)、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 からデータベースへの接続を作成する手順は次のとおりです。
- Looker の [管理者] セクションで [接続] を選択し、[新しい接続] をクリックします。
[言語] プルダウン メニューから [Apache Hive 2.3 以降] または [Apache Hive 3.1.2 以降] を選択します。
接続の詳細を入力します。設定の大部分は、ほとんどのデータベース言語に共通するものです。詳細については、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 の事前キャッシュのセクションをご覧ください。
- データベースのタイムゾーン: データベースで使用されるタイムゾーンを指定します。タイムゾーン変換を希望しない場合は、このフィールドを空白のままにします。詳しくは、タイムゾーンの設定の使用のドキュメント ページをご覧ください。
接続が成功したことを確認するには、[テスト] をクリックします。トラブルシューティング情報については、データベース接続のテストのドキュメント ページをご覧ください。
これらの設定を保存するには、[接続] をクリックします。
機能のサポート
一部の機能については、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 に接続した後、ユーザーのログイン オプションを構成します。