From 3c8b8071b6d357a288cf1fdd5f3f6eb580de0b59 Mon Sep 17 00:00:00 2001 From: Theodore Meynard Date: Mon, 22 Apr 2024 09:19:43 +0200 Subject: [PATCH] fix documentation (#26) Co-authored-by: theodore.meynard --- README.md | 2 +- ddataflow.png | Bin 163415 -> 0 bytes docs/index.md | 114 +++++++++++++++++++++++++++++++++++++- docs/integrator_manual.md | 112 ------------------------------------- mkdocs.yml | 12 +++- 5 files changed, 123 insertions(+), 117 deletions(-) delete mode 100644 ddataflow.png delete mode 100644 docs/integrator_manual.md diff --git a/README.md b/README.md index 8f75e5e..651cf81 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Check out this blogpost if you want to [understand deeper its design motivation] ![ddataflow overview](docs/ddataflow.png) -You can find our documentation in the [docs folder](https://github.com/getyourguide/DDataFlow/tree/main/docs). And see the complete code reference [here](https://code.getyourguide.com/DDataFlow/ddataflow/ddataflow.html). +You can find our documentation under this [link](https://code.getyourguide.com/DDataFlow/). ## Features diff --git a/ddataflow.png b/ddataflow.png deleted file mode 100644 index a5afd07c51694c58e398dff77e655221bdc5c1d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163415 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 VQ#x6satQuOiOY#)-oF3ze*sM+ydwYr diff --git a/docs/index.md b/docs/index.md index ad6d234..3473c18 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,8 +2,118 @@ DDataFlow is an end2end tests and local development solution for machine learning and data pipelines using pyspark. -## Features - +It allows you to: - Read a subset of our data so to speed up the running of the pipelines during tests - Write to a test location our artifacts so you don't pollute production - Download data for enabling local machine development + +Below is the DDataFlow integration manual. +If you want to know how to use DDataFlow in the local machine, jump to [this section](local_development.md). + +## Install Ddataflow + +```sh +pip install ddataflow +``` + +## Mapping your data sources + +DDataflow is declarative and is completely configurable a single configuration in DDataflow startup. To create a configuration for you project simply run: + +```shell +ddataflow setup_project +``` + +You can use this config also in in a notebook, or using databricks-connect or in the repository with db-rocket. Example config below: + +```python +#later save this script as ddataflow_config.py to follow our convention +from ddataflow import DDataflow +import pyspark.sql.functions as F + +start_time = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d") +end_time = datetime.now().strftime("%Y-%m-%d") + +config = { + "data_sources": { + # data sources define how to access data + "events": { + "source": lambda spark: spark.table("events"), + # here we define the spark query to reduce the size of the data + # the filtering strategy will most likely dependend on the domain. + "filter": lambda df: + df.filter(F.col("date") >= start_time) + .filter(F.col("date") <= end_time) + .filter(F.col("event_name").isin(["BookAction", "ActivityCardImpression"])), + }, + "ActivityCardImpression": { + # source can also be partquet files + "source": lambda spark: spark.read.parquet( + f"dbfs:/events/eventname/date={start_time}/" + ) + }, + }, + "project_folder_name": "myproject", +} + +# initialize the application and validate the configuration +ddataflow_client = DDataflow(**config) +``` + +## Replace the sources + +Replace in your code the calls to the original data sources for the ones provided by ddataflow. + +```py +spark.table('events') #... +spark.read.parquet("dbfs:/mnt/analytics/cleaned/v1/ActivityCardImpression") # ... +``` + +Replace with the following: + +```py +from ddataflow_config import ddataflow_client + +ddataflow_client.source('events') +ddataflow_client.source("ActivityCardImpression") +``` + +Its not a problem if you dont map all data sources if you dont map one it will keep going to production tables and +might be slower. From this point you can use dddataflow to run your pipelines on the sample data instead of the full data. + +**Note: BY DEFAULT ddataflow is DISABLED, so the calls will attempt to go to production, which if done wrong can +lead to writing trash data**. + +To enable DDataFlow you can either export an environment variable without changing the code. + +```shell +# in shell or in the CICD pipeline +export ENABLE_DDATAFLOW=true +# run your pipeline as normal +python conduction_time_predictor/train.py +``` + +Or you can enable it programmatically in python + +```shell +ddataflow_client.enable() +``` + +At any point in time you can check if the tool is enabled or disabled by running: + +```py +ddataflow_client.print_status() +``` + +## Writing data + +To write data we adivse you use the same code as production just write to a different destination. +DDataflow provides the path function that will return a staging path when ddataflow is enabled. + +```py +final_path = ddataflow.path('/mnt/my/production/path') +# final_path=/mnt/my/production/path when ddataflow is DISABLED +# final path=$DDATAFLOW_FOLDER/project_name/mnt/my/production/path when ddataflow is ENABLED +``` + +And you are good to go! \ No newline at end of file diff --git a/docs/integrator_manual.md b/docs/integrator_manual.md deleted file mode 100644 index c7fde31..0000000 --- a/docs/integrator_manual.md +++ /dev/null @@ -1,112 +0,0 @@ -# DDataFlow - -This is the DDataFlow integration manual. -If you want to know how to use DDataFlow in the local machine, see [this section](local_development.md). - -## Install Ddataflow - -```sh -pip install ddataflow -``` - -## Mapping your data sources - -DDataflow is declarative and is completely configurable a single configuration in DDataflow startup. To create a configuration for you project simply run: - -```shell -ddataflow setup_project -``` - -You can use this config also in in a notebook, or using databricks-connect or in the repository with db-rocket. Example config below: - -```python -#later save this script as ddataflow_config.py to follow our convention -from ddataflow import DDataflow -import pyspark.sql.functions as F - -start_time = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d") -end_time = datetime.now().strftime("%Y-%m-%d") - -config = { - "data_sources": { - # data sources define how to access data - "events": { - "source": lambda spark: spark.table("events"), - # here we define the spark query to reduce the size of the data - # the filtering strategy will most likely dependend on the domain. - "filter": lambda df: - df.filter(F.col("date") >= start_time) - .filter(F.col("date") <= end_time) - .filter(F.col("event_name").isin(["BookAction", "ActivityCardImpression"])), - }, - "ActivityCardImpression": { - # source can also be partquet files - "source": lambda spark: spark.read.parquet( - f"dbfs:/events/eventname/date={start_time}/" - ) - }, - }, - "project_folder_name": "myproject", -} - -# initialize the application and validate the configuration -ddataflow_client = DDataflow(**config) -``` - -## Replace the sources - -Replace in your code the calls to the original data sources for the ones provided by ddataflow. - -```py -spark.table('events') #... -spark.read.parquet("dbfs:/mnt/analytics/cleaned/v1/ActivityCardImpression") # ... -``` - -Replace with the following: - -```py -from ddataflow_config import ddataflow_client - -ddataflow_client.source('events') -ddataflow_client.source("ActivityCardImpression") -``` - -Its not a problem if you dont map all data sources if you dont map one it will keep going to production tables and -might be slower. From this point you can use dddataflow to run your pipelines on the sample data instead of the full data. - -**Note: BY DEFAULT ddataflow is DISABLED, so the calls will attempt to go to production, which if done wrong can -lead to writing trash data**. - -To enable DDataFlow you can either export an environment variable without changing the code. - -```shell -# in shell or in the CICD pipeline -export ENABLE_DDATAFLOW=true -# run your pipeline as normal -python conduction_time_predictor/train.py -``` - -Or you can enable it programmatically in python - -```shell -ddataflow_client.enable() -``` - -At any point in time you can check if the tool is enabled or disabled by running: - -```py -ddataflow_client.print_status() -``` - -## Writing data - -To write data we adivse you use the same code as production just write to a different destination. -DDataflow provides the path function that will return a staging path when ddataflow is enabled. - -```py -final_path = ddataflow.path('/mnt/my/production/path') -# final_path=/mnt/my/production/path when ddataflow is DISABLED -# final path=$DDATAFLOW_FOLDER/project_name/mnt/my/production/path when ddataflow is ENABLED -``` - -And you are good to go! diff --git a/mkdocs.yml b/mkdocs.yml index bed70e9..b24af1b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,15 +1,23 @@ site_name: DDataflow -site_url: https://example.com/ +site_url: https://code.getyourguide.com/DDataFlow/ +repo_url: https://github.com/getyourguide/DDataFlow/ +edit_uri: edit/main/docs/ theme: name: material + icon: + edit: material/pencil + repo: fontawesome/brands/github + features: + - content.action.edit + + markdown_extensions: - pymdownx.superfences nav: - 'index.md' - - 'integrator_manual.md' - 'local_development.md' - 'sampling.md' - API Reference: