DataSunrise Obtient le Statut Compétence DevOps AWS dans AWS DevSecOps et Surveillance, Journalisation, Performance

Intégration de Snowflake avec Looker

Intégration de Snowflake avec Looker

Image de contenu Snowflake Looker

Introduction

Snowflake, une plateforme de stockage de données basée sur le cloud, et Looker, un outil moderne d’intelligence d’affaires et de visualisation de données, sont deux des outils les plus populaires pour l’analytique des données aujourd’hui. Intégrer Snowflake et Looker permet aux organisations de tirer parti de la capacité de stockage de données évolutive et flexible de Snowflake avec les capacités intuitives d’exploration de données et de création de tableaux de bord de Looker.

Dans cet article, nous couvrirons les bases de l’utilisation de Snowflake avec Looker, y compris comment configurer l’intégration, gérer les utilisateurs et les rôles, mettre en œuvre la sécurité au niveau des lignes, utiliser la couche de modélisation LookML de Looker avec Snowflake, et appliquer les meilleures pratiques de gouvernance des données. À la fin, vous aurez une base solide pour construire une pile d’analytique moderne avec Snowflake et Looker.

Configurer l’intégration Snowflake Looker

La première étape consiste à connecter votre compte Snowflake à Looker.

Voici comment procéder :

  1. Dans Looker, allez dans Admin > Connections et cliquez sur “New Connection”.
  2. Sélectionnez “Snowflake” comme dialecte.
  3. Entrez l’URL de votre compte Snowflake, le nom d’utilisateur et le mot de passe.
  4. Sélectionnez la base de données, le schéma et l’entrepôt par défaut à utiliser.
  5. Testez la connexion et enregistrez.

Par exemple :


Nom de la connexion : Ma connexion Snowflake 
Dialecte : snowflake
Hôte : moncompte.snowflakecomputing.com
Base de données : MYDB
Schéma : PUBLIC
Entrepôt : MYWH

Une fois la connexion configurée, Looker peut maintenant interroger les données stockées dans votre compte Snowflake. L’étape suivante consiste à créer un projet LookML pour modéliser et explorer ces données.

Modéliser les données Snowflake dans Looker en utilisant LookML

LookML est le langage de modélisation de Looker pour décrire le schéma de votre base de données de manière contrôlable par version. Au lieu d’écrire des requêtes SQL, vous définissez votre modèle de données en LookML et laissez Looker générer le SQL optimisé pour vous. Cela favorise la réutilisabilité et la cohérence au sein de votre équipe de données.

Architecture Snowflake Looker

Voici un exemple de vue LookML simple pour une table d’utilisateurs dans Snowflake :


view: users {
  sql_table_name: MYDB.PUBLIC.USERS ;;
  dimension: user_id {
    primary_key: yes
    type: number
    sql: ${TABLE}.ID ;;
  }

  dimension: name {
    type: string 
    sql: ${TABLE}.NAME ;;
  }

  dimension: email {
    type: string
    sql: ${TABLE}.EMAIL ;;
  }

  measure: count {
    type: count
  }
}

Cette vue correspond à la table USERS dans Snowflake et définit des dimensions et des mesures qui peuvent être utilisées dans la section Explore de Looker pour construire des graphiques et des tableaux de bord.

Quelques concepts clés de LookML à comprendre lors de la modélisation des données Snowflake dans Looker :

  • Les vues correspondent à des tables ou à des tables dérivées
  • Les dimensions correspondent aux colonnes et peuvent être utilisées pour le groupement et le filtrage
  • Les mesures sont des agrégations comme COUNT, SUM, AVG
  • Vous pouvez définir des relations entre les vues que Looker utilisera pour joindre automatiquement les tables

Looker gère automatiquement la génération du dialecte SQL optimal pour la base de données Snowflake à laquelle il est connecté. Cela permet d’abstraire les complexités de la base de données sous-jacente et permet aux analystes de se concentrer sur les questions et l’obtention d’informations.

Gérer les rôles et les utilisateurs dans Snowflake et Looker

Lors de la configuration de Snowflake dans Looker pour votre organisation, il est crucial de bien gérer les rôles et les utilisateurs pour assurer un accès approprié aux données. Snowflake offre un large contrôle d’accès basé sur les rôles, et Looker vous permet d’assigner des rôles et des privilèges Snowflake aux groupes Looker.

Rôles Snowflake

Dans Snowflake, les rôles sont la base des privilèges et du contrôle d’accès. Quelques concepts clés :

  • Les rôles peuvent être assignés à des privilèges spécifiques sur des bases de données, des schémas, des tables et des vues
  • Les rôles peuvent être assignés à des utilisateurs et à d’autres rôles
  • Snowflake possède plusieurs rôles système définis comme ACCOUNTADMIN, SYSADMIN, SECURITYADMIN
  • Il est préférable de créer des rôles personnalisés spécifiques aux besoins de votre organisation

Par exemple, pour créer un rôle ANALYSTE qui peut lire des données dans la base de données MYDB :


USE ROLE SECURITYADMIN;
CREATE ROLE ANALYST;
GRANT USAGE ON DATABASE MYDB TO ROLE ANALYST;
GRANT USAGE ON ALL SCHEMAS IN DATABASE MYDB TO ROLE ANALYST;
GRANT SELECT ON ALL TABLES IN DATABASE MYDB TO ROLE ANALYST;
GRANT SELECT ON FUTURE TABLES IN DATABASE MYDB TO ROLE ANALYST;

Ce rôle peut maintenant être assigné aux utilisateurs ou groupes Snowflake qui ont besoin d’un accès en lecture seule aux données de MYDB à des fins d’analyse.

Rôles et groupes Looker

Dans Looker, vous assignez des rôles et des privilèges à des groupes, qui sont des collections d’utilisateurs Looker. Les rôles Snowflake peuvent être mappés à des groupes Looker pour étendre le contrôle d’accès de Snowflake à la couche Looker.

Pour mapper un rôle Snowflake à un groupe Looker :

  1. Allez dans Admin > Groups dans Looker
  2. Créez un nouveau groupe ou modifiez-en un existant
  3. Sous Rôles, sélectionnez la connexion Snowflake et choisissez le rôle Snowflake à assigner
  4. Tous les utilisateurs ajoutés à ce groupe Looker auront maintenant les privilèges du rôle Snowflake assigné lorsqu’ils explorent des données via Looker

Par exemple, vous pourriez créer un groupe Looker appelé “Business Analysts”, lui attribuer le rôle Snowflake ANALYST précédemment créé et ajouter tous vos analystes Looker à ce groupe. Ils seront limités aux requêtes en lecture seule sur la base de données MYDB.

La combinaison des rôles Snowflake et des groupes Looker offre un moyen puissant de gérer l’accès aux données dans votre pile analytique Snowflake Looker. En adoptant une approche stratégique pour configurer ces permissions, vous pouvez vous assurer que les bonnes personnes ont accès aux bonnes données.

Implémenter la sécurité au niveau des lignes avec Snowflake et Looker

La sécurité au niveau des lignes restreint l’accès aux données au niveau de l’individu en fonction des attributs de l’utilisateur. Ceci est important pour s’assurer que les utilisateurs ne voient que les données qu’ils sont autorisés à voir. Snowflake Looker prend en charge la sécurité au niveau des lignes en utilisant des vues sécurisées dans Snowflake et des attributs d’utilisateur dans Looker.

Vues sécurisées dans Snowflake

Les vues sécurisées de Snowflake sont des vues qui font référence à d’autres objets de la base de données et appliquent des politiques de sécurité au niveau des lignes à l’aide de prédicats SQL.

Par exemple, supposons que nous ayons une table ORDERS et que nous ne voulons que les utilisateurs puissent voir leurs propres commandes. Nous pourrions créer une vue sécurisée comme :


CREATE SECURE VIEW MY_ORDERS AS
SELECT * 
FROM ORDERS
WHERE USER_ID = CURRENT_USER();

La fonction CURRENT_USER() renvoie le nom de l’utilisateur actuellement connecté à Snowflake. Cette vue sécurisée ne renverra que les lignes de la table ORDERS où la colonne USER_ID correspond à l’utilisateur actuel.

Attributs d’utilisateur dans Looker

Looker vous permet de définir des attributs d’utilisateur qui sont des paires clé-valeur associées aux comptes utilisateur. Ces attributs peuvent être passés dans des requêtes pour filtrer dynamiquement les données en fonction de l’utilisateur actuel.

Pour configurer un attribut d’utilisateur dans Looker :

  1. Allez dans Admin > User Attributes
  2. Définissez un nouvel attribut, par exemple “snowflake_user”
  3. Définissez la valeur de cet attribut pour chaque utilisateur Looker pour qu’elle corresponde à leur nom d’utilisateur Snowflake.

Maintenant, dans votre modèle LookML, vous pouvez référencer cet attribut utilisateur dans le SQL pour votre vue :


view: orders {
  sql_table_name: MYDB.PUBLIC.ORDERS ;;

  dimension: user_id {
    type: number
    sql: ${TABLE}.USER_ID ;; 
  }

  dimension: order_id {
    primary_key: yes
    type: number
    sql: ${TABLE}.ORDER_ID ;;
  }

  dimension: total_amount {
    type: number
    sql: ${TABLE}.TOTAL_AMOUNT ;;
  }

  dimension: order_date {
    type: date
    sql: ${TABLE}.ORDER_DATE ;;
  }

  measure: count {
    type: count
  }

  measure: total_sales {
    type: sum
    sql: ${total_amount} ;;
  }

  # Ici, nous ajoutons un filtre basé sur l'attribut utilisateur "snowflake_user"
  filter: user_filter {
    type: string
    sql: {% condition user_id %} ${user_id} {% endcondition %} ;;
  }
}

Avec cette configuration, Looker ajoutera automatiquement une clause WHERE à toute requête contre la vue ORDERS pour filtrer les résultats en fonction de la valeur de l’attribut utilisateur “snowflake_user” actuel. Le résultat final est que les utilisateurs ne peuvent voir que leurs propres données de commande lorsqu’ils explorent ces données dans Looker.

En combinant des vues sécurisées dans Snowflake avec des attributs d’utilisateur dans Looker, vous pouvez implémenter des politiques de sécurité au niveau des lignes granulaires et dynamiques sur vos données. C’est un moyen puissant de garantir la conformité avec les réglementations sur la confidentialité des données et de protéger les informations sensibles.

Conclusion

Intégrer Snowflake et Looker permet aux organisations de construire une plateforme analytique moderne et évolutive. En tirant parti des capacités puissantes de stockage de données de Snowflake avec la flexibilité de la modélisation de données et de l’exploration de Looker, les équipes de données peuvent fournir un accès en libre-service sécurisé aux données à travers l’organisation.

Dans cet article, nous avons couvert les aspects clés de l’utilisation de Snowflake avec Looker :

  • Configurer la connexion Snowflake dans Looker
  • Modéliser les données Snowflake en utilisant LookML de Looker
  • Gérer les utilisateurs et les rôles à travers Snowflake
  • Implémenter la sécurité au niveau des lignes avec des vues sécurisées et des attributs d’utilisateur

Les exemples fournis servent de référence pour implémenter ces concepts dans votre propre environnement Snowflake Looker. En configurant correctement les rôles, les privilèges et la sécurité au niveau des lignes, vous pouvez garantir que les données sont accessibles de manière sécurisée et appropriée à travers l’organisation.

Il existe de nombreuses autres capacités avancées de l’intégration Snowflake Looker, telles que l’utilisation des PDTs (tables dérivées persistantes) de Looker, l’exploitation des clonages sans copie de Snowflake pour les workflows de développement, et l’optimisation des performances des requêtes. Je vous encourage à explorer ces sujets plus en détail au fur et à mesure que vous construisez votre pile analytique.

La combinaison de Snowflake et Looker constitue une base puissante pour toute organisation axée sur les données. En suivant les meilleures pratiques en matière de modélisation de données, de sécurité et de gouvernance, vous pouvez permettre à votre équipe d’obtenir des informations précieuses rapidement et en toute sécurité.

Suivant

Capacités de gestion des données de Snowflake

Capacités de gestion des données de Snowflake

En savoir plus

Besoin de l'aide de notre équipe de support ?

Nos experts seront ravis de répondre à vos questions.

Countryx
United States
United Kingdom
France
Germany
Australia
Afghanistan
Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua and Barbuda
Argentina
Armenia
Aruba
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Bouvet
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos (Keeling) Islands
Colombia
Comoros
Congo, Republic of the
Congo, The Democratic Republic of the
Cook Islands
Costa Rica
Cote D'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands (Malvinas)
Faroe Islands
Fiji
Finland
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard Island and Mcdonald Islands
Holy See (Vatican City State)
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran, Islamic Republic Of
Iraq
Ireland
Isle of Man
Israel
Italy
Jamaica
Japan
Jersey
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Republic of
Korea, Republic of
Kuwait
Kyrgyzstan
Lao People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macao
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia, Federated States of
Moldova, Republic of
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
North Macedonia, Republic of
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory, Occupied
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Helena
Saint Kitts and Nevis
Saint Lucia
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia and Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia and the South Sandwich Islands
Spain
Sri Lanka
Sudan
Suriname
Svalbard and Jan Mayen
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan, Province of China
Tajikistan
Tanzania, United Republic of
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
Venezuela
Viet Nam
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Yemen
Zambia
Zimbabwe
Choose a topicx
Informations générales
Ventes
Service clientèle et support technique
Demandes de partenariat et d'alliance
Informations générales :
info@datasunrise.com
Service clientèle et support technique :
support.datasunrise.com
Demandes de partenariat et d'alliance :
partner@datasunrise.com