La puissance combinée de Domo Cloud Amplifier et de Snowflake est actuellement le secret le mieux gardé en matière de gestion des données, et nous atteignons de nouveaux sommets chaque jour. Dans ce guide pratique, nous vous présenterons les API et montrerons aux ingénieurs de Snowflake comment Cloud Amplifier et Snowflake peuvent travailler ensemble pour vous aider à accomplir cinq tâches pratiques, mais puissantes :
- Préparer et enrichir les données
- Créez une nouvelle table dans Snowflake et insérez des données
- Intégrer et enrichir les données
- Configurer et utiliser plusieurs entrepôts
- Créer une source de vérité unifiée
S'orienter
Présentation des éléments clés
Ce guide présente la configuration Cloud Amplifier avec Snowflake. Pour commencer, apprenez à connaître quelques termes clés :
- Flocon de neige: La source centralisée de vérité pour nos données initiales
- ETL magique : L'outil de Domo pour combiner et préparer des tableaux de données
- ERP : Une source de données supplémentaire de Salesforce
- Géographique: Une source de données supplémentaire (c'est-à-dire un tableau de concordance) dans Domo, comprenant un ensemble de données démographiques par code postal
- Réseaux sociaux: Raccourci pour les données des plateformes de médias sociaux (par exemple, Instagram)
Pourquoi Flocon de neige ? Nous nous concentrons sur la plate-forme de données cloud de Snowflake en raison de sa capacité à gérer des ensembles de données diversifiés à grande échelle avec facilité et efficacité. Pour l'analyse des données et le reporting en temps réel, c'est un choix idéal.
Préparer et enrichir les données
avec Cloud Amplifier et Magic ETL
Cloud Amplifier avec Magic ETL vous aidera à garantir que vos données sont prêtes pour une analyse plus approfondie. Ici, nous avons utilisé Magic ETL pour préparer et enrichir nos données Snowflake. Ensuite, nous avons réécrit les données enrichies dans Snowflake. Ces données peuvent désormais être utilisées dans Domo et d'autres produits pris en charge par Snowflake.
Créez une nouvelle table dans Snowflake et insérez des données
avec amplificateur Cloud
Les API Snowflake en Python vous permettent de manipuler et d'intégrer vos données de manière sophistiquée et utile. Voici comment nous avons créé la table des transactions dans Snowflake dans notre Jupyter Notebook :
import snowflake.connector
"from snowflake.connector.pandas_tools import write_pandas\n",
#Connect to Snowflake
conn = snowflake.connector.connect(
user=’USER’,
password=’PASSWORD’,
account=’ACCOUNT’,
)
# Create the ‘transactions’ table
create_transactions_table = “””
CREATE OR REPLACE TABLE transactions (
tx_id STRING
tx_datetime STRING,
tx_date DATE,
customer_id NUMBER(10, 0),
terminal_id NUMBER (10, 0),
tx_amount FLOAT,
tx_fraud NUMBER(3, 0),
tx_fraud_scenario NUMBER(3, 0),
…
)
“””
cur = conn.cursor()
cur.execute(create_transactions_table)
# Assuming ‘transactions’ is a Pandas DataFrame with data ready for upload
success, nchunks, nrows, _ = write_pandas(conn, transactions, ‘TRANSACTIONS’)
Ensuite, nous avons généré la table Customers en utilisant ce code :
import snowflake.connector
from snowflake.connector.pandas_tools import write_pandas
# Connect to Snowflake
conn = snowflake.connector.connect(
user=’USER’,
password=’PASSWORD’,
account=’ACCOUNT’,
)
create_customers_table = “””
CREATE OR REPLACE TABLE customers (
customer_id NUMBER(10, 0)
customer_region STRING,
customer_segment STRING,
PRIMARY KEY (customer_id)
)
“””
customers.columns = (col.upper() for col in customers.columns)
cur = conn.cursor()
cur.execute(create_customers_table)
success, nchunks, nrows, _ = write_pandas(conn, customers, ‘CUSTOMERS’)
Ces extraits illustrent la création d'une nouvelle table dans Snowflake, puis l'insertion de données à partir d'un Pandas DataFrame. Très habile, si l'on peut dire. Vous pouvez visiter l'API de Snowflake Documentation pour des exemples plus détaillés et une assistance supplémentaire.
Intégrez et enrichissez les données pour des analyses améliorées
avec amplificateur Cloud
Enrichir Snowflake avec Salesforce, les réseaux sociaux et les données financières est une autre demande courante que nous entendons encore et encore. Voici comment nous avons procédé : Nous avons utilisé Python pour extraire les données de ces sources dans un dataframe. Ensuite, nous avons utilisé le API Domo pour charger ces dataframes dans des ensembles de données dans Domo. Notez que les SDK Domo sont utiles pour interagir par programmation avec Domo afin de charger des données et de créer des applications. Voici le code que nous avons utilisé :
from pydomo import Domo
domo = Domo(‘CLIENT_ID’, ‘SECRET_KEY’,api_host=’API_HOST’)
# Extract unique customer_ids from the primary dataset
unique_customer_ids = df(‘customer_id’).unique()
unique_customer_id_count = df(‘customer_id’).nunique()
# Define a data range for the synthetic data
# Generate synthetic ERP data
erp_data = pd.DataFrame({
‘customer_id’: np.random.choice(unique_customer_ids,
size=unique_customer_id_count, replace=False),
‘account_status’: np.random.choice((‘Active’, ‘Closed’, ‘Delinquent’),
size=unique_customer_id_count),
‘credit_limit’: np.random.uniform(1000, 10000, size=unique_customer_id_count),
‘current_balance’: np.random.uniform(o, 10000, size=unique_customer_id_count),
‘last_payment_date’: np.random.choice(date_range,
size=unique_customer_id_count),
‘payment_frequency’: np.random.choice((‘Monthly’, ‘Quarterly’, ‘Yearly’),
size=unique_customer_id_count),
})
domo.ds_create(erp_data, ‘CCFD ERP Data Salesforce’)
Configurer et utiliser plusieurs entrepôts
avec amplificateur Cloud
Une autre chose qui nous passionne avec Cloud Amplifier : vous pouvez interagir avec Snowflake au niveau macro tout en passant au niveau micro en quelques clics seulement. Dans cette démonstration, nous avons provisionné cinq tables principales, toutes dans la même base de données. Lors de la configuration de ces tables dans Domo, vous pouvez voir ci-dessous à quel point il est facile de passer de l'entrepôt à une multi-sélection sur ces tables en trois clics (les chiffres bleus).
Créer une source de vérité unifiée
avec amplificateur Cloud
Celui-ci est simple : en réécrivant les données enrichies dans Snowflake, nous avons créé une source de vérité unique et unifiée. Cela garantit que les données de votre organisation sont cohérentes et fiables. Il n’y a pas de véritable étape d’action ici ; en préparant vos données dans Domo, vous créez automatiquement cette source unifiée.
Explorez nos ressources et copiez notre code
Notre objectif est d'aider les ingénieurs de données à découvrir par eux-mêmes les moyens pratiques par lesquels Snowflake et Domo Cloud Amplifier via l'API/SDK peuvent amplifier leurs activités. Nous aidons des centaines d'entreprises à créer leurs propres solutions d'analyse complètes qui combinent les capacités de base de données cloud de Snowflake avec les capacités ETL et de préparation de données de Domo.
Dans la prochaine étape, nous vous encourageons à explorer Cloud Amplifier par vous-même. Visite Documentation de l'API Snowflake et Ressources de l'amplificateur cloud de Domo. Ou voyez par vous-même en utilisant notre code ci-dessus.