-
Notifications
You must be signed in to change notification settings - Fork 28
[FSTORE-1921] Improve documentation building process #532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 47 commits
Commits
Show all changes
52 commits
Select commit
Hold shift + click to select a range
787bba0
Attempt to use multirepo-mkdocs and mkdocstrings
aversey c57819b
Add dark theme
aversey bdb764e
Style fixes
aversey b921825
Import API nav
aversey 4e233fa
Fix spacing of nested nav items
aversey bd5b70f
Hide full paths
aversey 666b0c6
Prepare for multirepo builds
aversey efdbed0
Add markdownlint config and fixes
aversey 675bb2f
Fix
aversey 58386ba
Place a sentence per line
aversey 86ccc4c
Fix CSS
aversey d4c67d5
Fix macro
aversey 3eb9946
Fix dark theme CSS
aversey 215852b
More fixes
aversey a8d33ba
Upodate markdownlint action
aversey 21549cc
Fix tables
aversey de1052e
Fix release action
aversey 2815f81
Add repo
aversey 03798a5
Merge remote-tracking branch 'main/main' into branch-4.7
aversey b945952
Fix header z-index
aversey 8c6fb57
Fix mobile
aversey 0c121a4
Fix search overlay
aversey 3f4cf62
Fix sidebar overlay
aversey dc9b8fb
Fix branch
aversey 3e06c74
Update GitHub links
aversey 269007b
Start fixing {{{hopsworks_version}}} links
aversey 028e4c5
Fix local links
aversey 36ff8c2
Use https
aversey 9fd061e
Fix links
aversey 4d1c6f3
Update deps
aversey 61ff6da
Fix deps
aversey e9a7b0a
Fix mkdocs.yaml
aversey 48509f3
Copy CONTRIBUTING.md
aversey 2e94f0a
Fix style
aversey 28c08ad
Remove redandant code
aversey b1ef12c
Fix links
aversey 80c2955
Fix pydantic inv
aversey 05c8310
Fix more links
aversey 21b9375
Fix a link
aversey 7ffb342
Fix missing docs
aversey 4c6062c
Remove redundant, fix spine
aversey 5813978
Fix annotations and polars imports
aversey 1d5d94b
Final change
aversey 67d9ea5
Final fixes
aversey 1cdf78b
Fix z-index back
aversey e46de46
Pin versions
aversey 81a4ee2
Update deps
aversey fa114f7
Figure out the latest version automatically
aversey 1febfda
Hide databricks docs
aversey dd0268d
Deploy dev docs
aversey 0843559
Merge remote-tracking branch 'main/main' into multirepo-mkdocs
aversey 4777c60
Mention the development version
aversey File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -128,3 +128,4 @@ target/ | |
| # Mac | ||
| .DS_Store | ||
|
|
||
| /temp_dir | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| MD041: false | ||
| MD013: false | ||
| MD033: false | ||
| MD045: false | ||
| MD046: false | ||
| MD052: false | ||
| MD004: | ||
| style: dash |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,34 +1,46 @@ | ||
| Hopsworks provides a complete self-service development environment for feature engineering and model training. You can develop programs as Jupyter notebooks or jobs, customize the bundled FTI (feature, training and inference pipeline) python environments, you can manage your source code with Git, and you can orchestrate jobs with Airflow. | ||
|
|
||
| <img src="../../../assets/images/concepts/dev/dev-inside.svg"> | ||
| Hopsworks provides a complete self-service development environment for feature engineering and model training. | ||
| You can develop programs as Jupyter notebooks or jobs, customize the bundled FTI (feature, training and inference pipeline) python environments, you can manage your source code with Git, and you can orchestrate jobs with Airflow. | ||
|
|
||
| <img src="../../../assets/images/concepts/dev/dev-inside.svg" alt="Hopsworks Development Environment" /> | ||
|
|
||
| ### Jupyter Notebooks | ||
|
|
||
| Hopsworks provides a Jupyter notebook development environment for programs written in Python, Spark, Flink, and SparkSQL. You can also develop in your IDE (PyCharm, IntelliJ, etc), test locally, and then run your programs as Jobs in Hopsworks. Jupyter notebooks can also be run as Jobs. | ||
| Hopsworks provides a Jupyter notebook development environment for programs written in Python, Spark, Flink, and SparkSQL. | ||
| You can also develop in your IDE (PyCharm, IntelliJ, etc), test locally, and then run your programs as Jobs in Hopsworks. | ||
| Jupyter notebooks can also be run as Jobs. | ||
|
|
||
| ### Source Code Control | ||
|
|
||
| Hopsworks provides source code control support using Git (GitHub, GitLab or BitBucket). You can securely checkout code into your project and commit and push updates to your code to your source code repository. | ||
| Hopsworks provides source code control support using Git (GitHub, GitLab or BitBucket). | ||
| You can securely check out code into your project and commit and push updates to your code to your source code repository. | ||
|
|
||
| ### FTI Pipeline Environments | ||
|
|
||
| Hopsworks postulates that building ML systems following the FTI pipeline architecture is best practice. This architecture consists of three independently developed and operated ML pipelines: | ||
| Hopsworks postulates that building ML systems following the FTI pipeline architecture is best practice. | ||
| This architecture consists of three independently developed and operated ML pipelines: | ||
|
|
||
| * Feature pipeline: takes as input raw data that it transforms into features (and labels) | ||
| * Training pipeline: takes as input features (and labels) and outputs a trained model | ||
| * Inference pipeline: takes new feature data and a trained model and makes predictions | ||
| - Feature pipeline: takes as input raw data that it transforms into features (and labels) | ||
| - Training pipeline: takes as input features (and labels) and outputs a trained model | ||
| - Inference pipeline: takes new feature data and a trained model and makes predictions | ||
|
|
||
| In order to facilitate the development of these pipelines Hopsworks bundles several python environments containing necessary dependencies. Each of these environments may then also be customized further by cloning it and installing additional dependencies from PyPi, Conda channels, Wheel files, GitHub repos or a custom Dockerfile. Internal compute such as Jobs and Jupyter is run in one of these environments and changes are applied transparently when you install new libraries using our APIs. That is, there is no need to write a Dockerfile, users install libraries directly in one or more of the environments. You can setup custom development and production environments by creating separate projects or creating multiple clones of an environment within the same project. | ||
| In order to facilitate the development of these pipelines Hopsworks bundles several python environments containing necessary dependencies. | ||
| Each of these environments may then also be customized further by cloning it and installing additional dependencies from PyPi, Conda channels, Wheel files, GitHub repos or a custom Dockerfile. | ||
| Internal compute such as Jobs and Jupyter is run in one of these environments and changes are applied transparently when you install new libraries using our APIs. | ||
| That is, there is no need to write a Dockerfile, users install libraries directly in one or more of the environments. | ||
| You can setup custom development and production environments by creating separate projects or creating multiple clones of an environment within the same project. | ||
|
|
||
| ### Jobs | ||
|
|
||
| In Hopsworks, a Job is a schedulable program that is allocated compute and memory resources. You can run a Job in Hopsworks: | ||
| In Hopsworks, a Job is a schedulable program that is allocated compute and memory resources. | ||
| You can run a Job in Hopsworks: | ||
|
|
||
| * From the UI | ||
| * Programmatically with the Hopsworks SDK (Python, Java) or REST API | ||
| * From Airflow programs (either inside our outside Hopsworks) | ||
| * From your IDE using a plugin ([PyCharm/IntelliJ plugin](https://plugins.jetbrains.com/plugin/15537-hopsworks)) | ||
| - From the UI | ||
| - Programmatically with the Hopsworks SDK (Python, Java) or REST API | ||
| - From Airflow programs (either inside our outside Hopsworks) | ||
| - From your IDE using a plugin ([PyCharm/IntelliJ plugin](https://plugins.jetbrains.com/plugin/15537-hopsworks)) | ||
|
|
||
| ### Orchestration | ||
|
|
||
| Airflow comes out-of-the box with Hopsworks, but you can also use an external Airflow cluster (with the Hopsworks Job operator) if you have one. Airflow can be used to schedule the execution of Jobs, individually or as part of Airflow DAGs. | ||
| Airflow comes out-of-the box with Hopsworks, but you can also use an external Airflow cluster (with the Hopsworks Job operator) if you have one. | ||
| Airflow can be used to schedule the execution of Jobs, individually or as part of Airflow DAGs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,8 @@ | ||
| You can write programs that use Hopsworks in any [Python, Spark, PySpark, or Flink environment](../../user_guides/integrations/index.md). Hopsworks also running SQL queries to compute features in external data warehouses. The Feature Store can also be queried with SQL. | ||
| You can write programs that use Hopsworks in any [Python, Spark, PySpark, or Flink environment](../../user_guides/integrations/index.md). | ||
| Hopsworks also running SQL queries to compute features in external data warehouses. | ||
| The Feature Store can also be queried with SQL. | ||
|
|
||
| There is REST API for Hopsworks that can be used with a valid API key, generated in Hopsworks. However, it is often easier to develop your programs against SDKs available in Python and Java/Scala for HSFS, in Python for HSML, and in Python for the Hopsworks API. | ||
| There is REST API for Hopsworks that can be used with a valid API key, generated in Hopsworks. | ||
| However, it is often easier to develop your programs against SDKs available in Python and Java/Scala for HSFS, in Python for HSML, and in Python for the Hopsworks API. | ||
|
|
||
| <img src="../../../assets/images/concepts/dev/dev-outside.svg"> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,9 @@ | ||
| External feature groups are offline feature groups where their data is stored in an external table. An external table requires a data source, defined with the Connector API (or more typically in the user interface), to enable HSFS to retrieve data from the external table. An external feature group doesn't allow for offline data ingestion or modification; instead, it includes a user-defined SQL string for retrieving data. You can also perform SQL operations, including projections, aggregations, and so on. The SQL query is executed on-demand when HSFS retrieves data from the external Feature Group, for example, when creating training data using features in the external table. | ||
| External feature groups are offline feature groups where their data is stored in an external table. | ||
| An external table requires a data source, defined with the Connector API (or more typically in the user interface), to enable HSFS to retrieve data from the external table. | ||
| An external feature group doesn't allow for offline data ingestion or modification; instead, it includes a user-defined SQL string for retrieving data. | ||
| You can also perform SQL operations, including projections, aggregations, and so on. | ||
| The SQL query is executed on-demand when HSFS retrieves data from the external Feature Group, for example, when creating training data using features in the external table. | ||
|
|
||
| In the image below, we can see that HSFS currently supports a large number of data sources, including any JDBC-enabled source, Snowflake, Data Lake, Redshift, BigQuery, S3, ADLS, GCS, RDS, and Kafka | ||
|
|
||
| <img src="../../../../assets/images/concepts/fs/fg-connector-api.svg"> | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.