Comment Infutor utilise la fonction externe Placekey pour étendre la puissance de Snowflake

Comment Infutor utilise la fonction externe Placekey pour étendre la puissance de Snowflake

Le Snowflake Data Cloud offre la possibilité unique à quiconque de joindre ses propres ensembles de données à des milliers d’ensembles de données tiers en direct de manière quasi instantanée, sécurisée et sans déplacer de données. Les entreprises opérant dans le Data Cloud obtiennent un énorme avantage sur leurs concurrents qui sont coincés dans des silos de données et aux prises avec des ensembles de données obsolètes téléchargés depuis leurs anciens fournisseurs de données il y a des semaines, des mois ou des années.

Considérez comment cela changerait votre entreprise si vous pouviez analyser ou enrichir instantanément vos propres données avec tout autre ensemble de données en direct que vous pouvez imaginer.

Par exemple, l’intelligence de localisation est un segment en croissance rapide dans le monde de l’analyse, et il ne manque certainement pas de fournisseurs avec des données de localisation intéressantes, y compris des entreprises comme SafeGraph. Le partenariat avec ces fournisseurs vous permet d’ajouter une nouvelle dimension aux analyses de votre entreprise. Cependant, les données de localisation telles que les coordonnées et les adresses provenant de différentes sources peuvent présenter des différences mineures malgré la référence au même endroit. Placekey, un service tiers d’API de correspondance d’adresses et de résolution d’entités, résout ce problème en encodant les coordonnées et d’autres caractéristiques d’un lieu dans un identifiant unique. Cela vous donne un moyen simple et efficace de joindre des ensembles de données de localisation quelle que soit leur source. Le meilleur de tous, le API Placekey est gratuit, vous pouvez donc facilement l’utiliser pour enrichir vos propres données ou des données que vous obtenez d’ailleurs.

Snowflake a récemment amélioré la flexibilité de sa plate-forme avec l’introduction du Fonctions externes fonctionnalité, qui vous permet d’appeler en toute sécurité des applications tierces et du code personnalisé depuis Snowflake. Cette fonctionnalité simplifie l’accès aux services API tels que les géocodeurs, vos propres modèles d’apprentissage automatique et le code complexe qui peut être écrit dans n’importe quel langage. Les fonctions externes vous permettent de simplifier vos pipelines de données en éliminant le besoin d’exporter et de réimporter des données lors de l’utilisation de services tiers.

Ce billet de blog montre comment Infuteur, client de Snowflake et fournisseur de données sur Snowflake Data Marketplace, exploite Placekey en utilisant le framework des fonctions externes. Ce cas d’utilisation est un exemple de la façon de joindre des ensembles de données disparates dans le Data Cloud pour en tirer des informations commerciales utiles.

APERÇU DES CAS D’UTILISATION

Infutor est un service de résolution d’identité qui organise un graphique d’identité contenant plus de 260 millions d’enregistrements. Une partie importante de son processus de vente et d’intégration consiste à comparer les données d’identité d’Infutor aux données de clients potentiels pour déterminer la couverture des données et quantifier la valeur. Une façon d’y parvenir consiste à faire correspondre les adresses physiques dans les ensembles de données respectifs. Étant donné que les adresses ne sont pas standardisées, Infutor et les clients potentiels peuvent faire correspondre efficacement leurs données en utilisant le API Placekeyqui attribue un identifiant unique à chaque adresse et facilite la comparaison.

DÉMO DE LA FONCTION EXTERNE PLACEKEY SNOWFLAKE

La Fonction externe Placekey Snowflake permet à Infutor et aux autres utilisateurs de Snowflake d’exécuter des requêtes en masse sur l’API Placekey et d’ajouter directement des Placekeys à leurs tables de base de données à partir d’une feuille de calcul Snowflake. Pour plus d’informations, consultez le Fonctions externes Documentation.

Pour ajouter des Placekeys à vos données à l’aide de cette fonction externe Snowflake, procédez comme suit :

1. Obtenez un Clé API Placekey.

2. Connectez-vous avec un rôle ACCOUNTADMIN à votre instance Snowflake. Vous pouvez également vous connecter avec un rôle ayant accès au privilège CREATE INTEGRATION.

3. Créez l’objet d’intégration d’API :

CREATE OR REPLACE API INTEGRATION placekey_api_integrationrn  API_PROVIDER = aws_api_gatewayrn  API_AWS_ROLE_ARN = 'arn:aws:iam::886725170148:role/placekey-lambda-production'rn  ENABLED = truern  API_ALLOWED_PREFIXES = ('https://lbdl9njufi.execute-api.us-east-1.amazonaws.com/api/')rn;

4. Créez la fonction externe. Entrez votre clé API dans la chaîne indiquée ci-dessous :

CREATE OR REPLACE EXTERNAL FUNCTION get_placekeys(rn  id number, rn  name varchar, rn  street_address varchar, rn  city varchar, rn  state varchar, rn  postal_code varchar, rn  latitude varchar, rn  longitude varchar, rn  country varcharrn)rn  RETURNS variantrn  API_INTEGRATION = placekey_api_integrationrn  HEADERS = ('api-key' = '')rn  MAX_BATCH_ROWS = 1000rn  AS 'https://lbdl9njufi.execute-api.us-east-1.amazonaws.com/api/placekeys'rn;

À ce stade, vous pouvez appeler la fonction externe pour ajouter Placekeys à vos données.

5. Pour les besoins de cet exemple, créez des données de test dans une nouvelle table :

CREATE OR REPLACE TABLE test_addresses (rn  ID VARCHAR(16777216),rn  NAME VARCHAR(16777216),rn  STREETADDRESS VARCHAR(16777216),rn  CITY VARCHAR(16777216),rn  STATE VARCHAR(16777216),rn  ZIPCODE VARCHAR(16777216),rn  LATITUDE VARCHAR(16777216),rn  LONGITUDE VARCHAR(16777216),rn  COUNTRY VARCHAR(16777216),rn  OTHER_COLUMN VARCHAR(16777216)rn);rnrnINSERT INTO test_addressesrn    VALUES rn    ('0', 'Twin Peaks Petroleum', '598 Portola Dr', 'San Francisco', 'CA', '94131', '37.7371', '-122.44283', 'US', 'other_value_1'),rn    ('1', null, null, null, null, null, '37.7371', '-122.44283', 'US', 'other_value_2'),rn    ('2', 'Beretta', '1199 Valencia St', 'San Francisco', 'CA', '94110', null, null, 'US', 'other_value_3'),rn    ('3', 'Tasty Hand Pulled Noodle', '1 Doyers St', 'New York', 'ny', '10013', null, null, 'US', 'other_value_4'),rn    ('4', null, '1 Doyers St', 'New York', 'NY', '10013', null, null, null, null);

6. Pour utiliser directement la fonction externe, appelez-la comme indiqué ici :

SELECT get_placekeys(joined.*) AS resultrnFROM (rn  SELECT ID, NAME, STREETADDRESS, CITY, STATE, ZIPCODE, LATITUDE, LONGITUDE, COUNTRYrn  FROM test_addressesrn) AS joined;rn

La fonction renvoie ce qui suit :

image

Vous pouvez joindre ce résultat à la table d’origine en utilisant le premier élément du résultat comme clé de jointure.

Un exemple de travail complet et une procédure stockée qui permet l’ajout en masse de Placekey sont disponibles sur le Référentiel de fonctions externes Placekey Snowflake

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.