Spaces:
Sleeping
Sleeping
File size: 1,168 Bytes
05e3517 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
def sample_data_retrieval_agent(state):
"""Retrieves sample data (3 rows) from each relevant table."""
relevant_tables = state.get("relevant_tables", [])
client = state["client"]
if not relevant_tables:
return {"sample_data": {}}
if client is None:
return {"sample_data": {"error": "Failed to connect to BigQuery."}}
sample_data = {}
for table in relevant_tables:
try:
# Clean table name if needed
clean_table = table.replace("`", "").strip()
# Query to get 3 sample rows
query = f"""
SELECT * FROM `{clean_table}`
LIMIT 3
"""
query_job = client.query(query)
results = query_job.result()
# Convert results to a list of dictionaries
rows = []
for row in results:
rows.append(dict(row.items()))
sample_data[clean_table] = rows
except Exception as e:
sample_data[clean_table] = {"error": str(e)}
return {"sample_data": sample_data} |