| { |
| "cells": [ |
| { |
| "cell_type": "code", |
| "execution_count": null, |
| "metadata": {}, |
| "outputs": [], |
| "source": [ |
| "# Execute this cell to install dependencies\n", |
| "%pip install sf-hamilton[visualization]" |
| ] |
| }, |
| { |
| "cell_type": "markdown", |
| "metadata": {}, |
| "source": [ |
| "# Hamilton UI Adapter [](https://colab.research.google.com/github/dagworks-inc/hamilton/blob/main/examples/ray/ray_Hamilton_UI_tracking/hamilton_notebook.ipynb) [](https://github.com/dagworks-inc/hamilton/blob/main/examples/ray/ray_Hamilton_UI_tracking/hamilton_notebook.ipynb)\n", |
| "\n", |
| "\n", |
| "Needs a running instance of Hamilton UI: https://hamilton.dagworks.io/en/latest/concepts/ui/" |
| ] |
| }, |
| { |
| "cell_type": "code", |
| "execution_count": null, |
| "metadata": {}, |
| "outputs": [], |
| "source": [ |
| "from hamilton_sdk.adapters import HamiltonTracker\n", |
| "\n", |
| "# Inputs required to track into correct project in the UI\n", |
| "project_id = 2\n", |
| "username = \"admin\"\n", |
| "\n", |
| "tracker_ray = HamiltonTracker(\n", |
| " project_id=project_id,\n", |
| " username=username,\n", |
| " dag_name=\"telemetry_with_ray\",)\n", |
| "\n", |
| "tracker_without_ray = HamiltonTracker(\n", |
| " project_id=project_id,\n", |
| " username=username,\n", |
| " dag_name=\"telemetry_without_ray\",\n", |
| " )" |
| ] |
| }, |
| { |
| "cell_type": "markdown", |
| "metadata": {}, |
| "source": [ |
| "# Ray adapter\n", |
| "\n", |
| "https://hamilton.dagworks.io/en/latest/reference/graph-adapters/RayGraphAdapter/" |
| ] |
| }, |
| { |
| "cell_type": "code", |
| "execution_count": null, |
| "metadata": {}, |
| "outputs": [], |
| "source": [ |
| "from hamilton import base\n", |
| "from hamilton.plugins.h_ray import RayGraphAdapter\n", |
| "\n", |
| "rga = RayGraphAdapter(result_builder=base.PandasDataFrameResult())" |
| ] |
| }, |
| { |
| "cell_type": "markdown", |
| "metadata": {}, |
| "source": [ |
| "# Importing Hamilton and the DAG modules" |
| ] |
| }, |
| { |
| "cell_type": "code", |
| "execution_count": null, |
| "metadata": {}, |
| "outputs": [], |
| "source": [ |
| "from hamilton import driver\n", |
| "import ray_lineage" |
| ] |
| }, |
| { |
| "cell_type": "code", |
| "execution_count": null, |
| "metadata": {}, |
| "outputs": [], |
| "source": [ |
| "try:\n", |
| " dr_ray = driver.Builder().with_modules(ray_lineage).with_adapters(rga, tracker_ray).build()\n", |
| " result_ray = dr_ray.execute(\n", |
| " final_vars=[\n", |
| " \"node_5s\",\n", |
| " \"node_1s_error\",\n", |
| " \"add_1_to_previous\",\n", |
| " ]\n", |
| " )\n", |
| " print(result_ray)\n", |
| "\n", |
| "except ValueError:\n", |
| " print(\"UI should display failure.\")\n", |
| "finally:\n", |
| " dr_without_ray = driver.Builder().with_modules(ray_lineage).with_adapters(tracker).build()\n", |
| " result_without_ray = dr_without_ray.execute(final_vars=[\"node_5s\", \"add_1_to_previous\"])\n", |
| " print(result_without_ray) \n" |
| ] |
| } |
| ], |
| "metadata": { |
| "language_info": { |
| "name": "python" |
| } |
| }, |
| "nbformat": 4, |
| "nbformat_minor": 2 |
| } |