mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-12 09:23:52 +00:00
36 lines
969 B
Python
36 lines
969 B
Python
# metadata-ingestion/examples/library/dataflow_search.py
|
|
from datahub.ingestion.graph.client import DatahubClientConfig, DataHubGraph
|
|
from datahub.sdk import DataHubClient
|
|
from datahub.sdk.search_filters import FilterDsl as F
|
|
|
|
graph = DataHubGraph(DatahubClientConfig(server="http://localhost:8080"))
|
|
|
|
# Search for DataFlows by name using get_urns_by_filter
|
|
results = list(
|
|
graph.get_urns_by_filter(
|
|
entity_types=["dataFlow"],
|
|
query="sales",
|
|
)
|
|
)
|
|
|
|
print(f"Found {len(results)} DataFlows matching 'sales':\n")
|
|
for urn in results[:10]: # Show first 10
|
|
print(f"URN: {urn}")
|
|
print("-" * 80)
|
|
|
|
# Search with filters using FilterDsl
|
|
|
|
client = DataHubClient.from_env()
|
|
|
|
# Search for DataFlows with specific platform
|
|
filtered_results = list(
|
|
client.search.get_urns(
|
|
filter=F.and_(
|
|
F.entity_type("dataFlow"),
|
|
F.platform("airflow"),
|
|
)
|
|
)
|
|
)
|
|
|
|
print(f"\nFound {len(filtered_results)} Airflow DataFlows")
|