Il s'agit d'un sujet avancé qui suppose que le lecteur possède une connaissance approfondie de LookML et des tables dérivées persistantes (PDT). Pour en savoir plus sur LookML, consultez la page de documentation Préparer le développement. Pour en savoir plus sur les tables dérivées persistantes, consultez la page Tables dérivées dans Looker.
Utilisation
derived_table: {
publish_as_db_view: oui
...
}
}
Hiérarchie
publish_as_db_view |
Valeur par défaut
no Acceptation
Une valeur booléenne (yes ou no )Règles spéciales
|
Définition
Le paramètre
publish_as_db_view
n'est compatible qu'avec les PDT qui utilisent la mise en cache datagroup ousql_trigger_value
. Les PDT utilisantpersist_for
ne sont pas compatibles.En outre, le compte utilisé par Looker pour se connecter à votre base de données doit disposer des autorisations
CREATE VIEW
pour le schéma temporaire sur votre base de données. Pour en savoir plus, consultez la section La connexion à la base de données doit disposer des autorisationsCREATE VIEW
sur cette page.
Le paramètre publish_as_db_view
vous permet de signaler un PDT pour les requêtes en dehors de Looker. Pour les PDT dont le paramètre publish_as_db_view
est défini sur yes
, Looker crée une vue de base de données stable sur la base de données pour le PDT. La vue de la base de données stable est créée sur la base de données elle-même, de sorte qu'elle puisse être interrogée en dehors de Looker. Le concept de vue de base de données stable est différent d'une vue LookML, car les vues LookML existent sur votre instance Looker et non sur votre base de données.
La vue de la base de données stable sera publiée (créée) lors du prochain cycle du regénérateur Looker une fois que le LookML du disque persistant sera déployé en production avec publish_as_db_view: yes
.
Une fois que Looker a créé la vue de base de données stable sur la base de données, vous devez créer le PDT pour pouvoir interroger la vue de base de données stable sur la base de données.
Exemple
Créez le disque persistant e_flights_pdt
pour lequel une vue de base de données stable est créée sur la base de données:
view: e_flights_pdt {
derived_table: {
publish_as_db_view: yes
datagroup_trigger: e_flights_default_datagroup
explore_source: ontime {
timezone: "America/Los_Angeles"
column: flight_num {}
column: carrier {}
column: arr_date {}
}
}
dimension: flight_num {}
dimension: carrier {}
dimension: arr_date {
type: date
}
}
La vue de base de données stable pour e_flights_pdt
sera publiée lors du prochain cycle du générateur de Looker, une fois que le LookML de PDT sera déployé en production. Une fois que Looker a créé le PDT, vous pouvez interroger la vue stable de la base de données.
Accéder à la vue de la base de données stable du disque persistant
Lorsque la vue de la base de données stable est publiée, vous pouvez l'interroger directement une fois que vous avez obtenu son nom. Il existe deux façons d'obtenir le nom de la vue stable pour le PDT:
- Panneau des informations sur le fuseau horaire du Pacifique
- Onglet SQL d'un panneau Explorer ### panneau des détails PDT
Les administrateurs ou les utilisateurs disposant de l'autorisation see_pdts
peuvent obtenir le nom de la vue de base de données stable sur la page Tables dérivées persistantes de la section Administration de Looker. Cliquez sur le menu à trois points du PDT et sélectionnez Détails du PDT :
Pour interroger directement cette table, il vous suffit d'ajouter le nom du schéma de travail avant le nom de la table. Par exemple, si le nom du schéma de travail est tmp
, vous pouvez interroger la vue de la base de données stable à l'aide d'une commande telle que celle-ci:
SELECT * from tmp.CL_e_redlook_e_redlook_inc_pdt
Onglet SQL d'une ressource Explorer
Si vous n'avez pas accès à la page d'administration Tables dérivées persistantes, vous pouvez utiliser les informations fournies dans l'onglet SQL d'une fonction Explorer pour déterminer le nom de la vue stable. Le nom de la vue stable utilise le format suivant:
[scratch schema name].[connection registration key]_[model_name]_[view_name]
Par exemple, si vous disposez d'un PDT dans le modèle nommé faa
et d'une vue nommée e_flights_pdt
, vous n'avez besoin que du nom du schéma de travail et de la clé d'enregistrement de connexion. Vous pouvez les trouver dans l'onglet SQL de la section Data (Données) d'une requête sur le disque persistant. Dans l'instruction CREATE TABLE
ou FROM
de l'onglet SQL:
- La clé d'enregistrement de la connexion est composée de deux caractères. Selon le dialecte de votre base de données, elle suit soit le signe dollar, soit le premier trait de soulignement dans le nom de la table du disque persistant.
- Le nom du schéma de travail se trouve au début de la chaîne après
CREATE TABLE
ouFROM
, avant ".
".
Dans tous les exemples suivants, la clé d'enregistrement de la connexion est LB
et le nom du schéma de travail est tmp
.
Voici un exemple d'instruction CREATE TABLE
pour un dialecte utilisant un signe dollar avant la clé d'enregistrement de la connexion:
Voici un exemple avec une instruction FROM
pour un dialecte qui utilise un trait de soulignement avant la clé d'enregistrement de la connexion:
Là encore, la vue de la base de données stable présente le format suivant:
[scratch schema name].[connection registration key]_[model_name]_[view_name]
Voici toutes les valeurs:
[scratch schema name]
correspond àtmp
.[connection registration key]
correspond àLB
.[model_name]
correspond àfaa
.[view_name]
correspond àe_flights_pdt
.
Il s'agit alors du nom de vue de base de données stable du disque persistant:
tmp.LB_faa_e_flights_pdt
Une fois que vous disposez du nom de la vue de base de données stable, vous pouvez l'interroger directement. Exemple :
SELECT * from tmp.LB_faa_e_flights_pdt
Éléments à prendre en compte
Certains dialectes nécessitent une syntaxe supplémentaire
Si la clé d'enregistrement de connexion commence par un nombre, certains dialectes nécessitent des guillemets doubles, des accents graves, des crochets ou une syntaxe similaire autour de la deuxième partie du nom de la vue de base de données stable. Par exemple, Amazon Redshift nécessite des guillemets doubles. Ainsi, si votre clé d'enregistrement de connexion commence par un nombre, voici le format:
[scratch schema name]."[connection registration key]_[model_name]_[view_name]"
Par exemple, si la clé d'enregistrement de connexion est 84
, vous devez placer des guillemets autour de la deuxième partie du nom de la table stable, après le point. Vos requêtes à la base de données ressembleraient donc à ceci:
SELECT * from tmp."84_faa_e_flights_pdt"
Consultez la documentation de votre dialecte pour en savoir plus sur la syntaxe spécifique requise.
La connexion à la base de données doit disposer des autorisations CREATE VIEW
Pour créer une vue de votre base de données, le compte que Looker utilise pour se connecter à votre base de données doit disposer des autorisations CREATE VIEW
pour le schéma temporaire de la base de données.
Le nom d'utilisateur, le mot de passe et le schéma temporaire de la base de données sont configurés lorsque vous associez Looker à votre base de données.
Vous pouvez tester votre connexion pour vérifier si elle est compatible avec les noms de vues stables. Si votre dialect est compatible avec les noms de vue stables et si les PDT sont activés sur la connexion, Looker va tester la connexion pour voir si elle autorise les vues stables:
- Si la connexion autorise des vues stables, le test de connexion renvoie un résultat tel que
Can use stable views in temp schema "docsexamples_scratch" in database "flightstats"
. - Si la connexion n'autorise pas les vues stables, le test de connexion renvoie un résultat tel que
Cannot use stable views in temp schema "docsexamples" in database "flightstats"
, ainsi que des informations supplémentaires telles queCREATE VIEW command denied to user 'docsexamples'
.
Dialecte compatible avec la vue de base de données stable PDT
La possibilité de créer une vue de base de données stable (PDT) dépend du dialecte de la base de données utilisé par votre connexion Looker. Dans la dernière version de Looker, les dialectes suivants sont compatibles avec la vue de base de données stable PDT: