Examples#
Basic Example#
from wxdi.data_product_recommender.platforms import SnowflakeQueryParser
from wxdi.data_product_recommender.recommender import DataProductRecommender
# Initialize with Snowflake parser
parser = SnowflakeQueryParser()
recommender = DataProductRecommender(parser)
# Load and analyze query logs
recommender.load_query_logs_from_csv_file('query_logs.csv')
recommender.calculate_metrics()
# Get top 20 recommendations
recommendations = recommender.recommend_data_products(num_recommendations=20)
# Export to Markdown
recommender.export_recommendations_markdown(recommendations, 'output/recommendations.md')
# Export to JSON
recommender.export_recommendations_json(recommendations, 'output/recommendations.json')
Multi-Platform Example#
from wxdi.data_product_recommender.platforms import (
SnowflakeQueryParser,
DatabricksQueryParser,
BigQueryQueryParser
)
from wxdi.data_product_recommender.recommender import DataProductRecommender
# Snowflake
snowflake_parser = SnowflakeQueryParser()
snowflake_recommender = DataProductRecommender(snowflake_parser)
snowflake_recommender.load_query_logs_from_csv_file('snowflake_logs.csv')
# Databricks
databricks_parser = DatabricksQueryParser()
databricks_recommender = DataProductRecommender(databricks_parser)
databricks_recommender.load_query_logs_from_csv_file('databricks_logs.csv')
# BigQuery
bigquery_parser = BigQueryQueryParser()
bigquery_recommender = DataProductRecommender(bigquery_parser)
bigquery_recommender.load_query_logs_from_csv_file('bigquery_logs.csv')
Custom Scoring Weights#
from wxdi.data_product_recommender.platforms import SnowflakeQueryParser
from wxdi.data_product_recommender.recommender import DataProductRecommender
parser = SnowflakeQueryParser()
recommender = DataProductRecommender(parser)
# Customize scoring weights
recommender.weights = {
'query_count': 0.5, # Emphasize query volume
'user_diversity': 0.3, # Moderate user diversity
'recency': 0.1, # Less emphasis on recency
'consistency': 0.1 # Less emphasis on consistency
}
recommender.load_query_logs_from_csv_file('query_logs.csv')
recommender.calculate_metrics()
recommendations = recommender.recommend_data_products(num_recommendations=20)
See Also#
Usage Guide - Usage guide
Data Product Recommender Reference - API reference