-
Notifications
You must be signed in to change notification settings - Fork 0
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
#19: move slc notebook to repo ai lab #300
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
5765a67
to
4a92697
Compare
exasol/ds/sandbox/runtime/ansible/roles/jupyter/files/notebook_requirements.txt
Outdated
Show resolved
Hide resolved
...e/ansible/roles/jupyter/files/notebook/script_languages_container/configure_slc_flavor.ipynb
Outdated
Show resolved
Hide resolved
"Prior to using this notebook the following steps need to be completed:\n", | ||
"1. [Configure the AI-Lab](../main_config.ipynb).\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't configuring the flavor path be part of configuring the AI-Lab?
How do other notebooks handle potentially specific steps of configuration?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, the basic configuration (setting up the DB) is done in the main_config, but specific configuration steps are in the particular notebooks. See sagemaker and transformer extensions
"metadata": {}, | ||
"source": [ | ||
"# Load UI functions\n", | ||
"Let's import some other UI functions that may be used in this notebook." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Let's import some other UI functions that may be used in this notebook." | |
"Let's import some additional UI functions in order to use them in this notebook." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
...e/ansible/roles/jupyter/files/notebook/script_languages_container/configure_slc_flavor.ipynb
Outdated
Show resolved
Hide resolved
...e/ansible/roles/jupyter/files/notebook/script_languages_container/configure_slc_flavor.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
"By running `pip list` directly in the container, we see what is currently available in the container. However, sometimes this might not be what we expected. For these cases, exaslct stores information about the flavor the container was build from within the container.\n", | ||
"\n", | ||
"#### Embedded Build Information of the Container\n", | ||
"Here we see an overview about the build information which exaslct embedded into the container. `exaslct` stores all packages lists (as defined in the flavor and what actually got installed), the final Dockerfiles and the image info. The image info describes how the underlying Docker images of the container got built. The build information is stored in the `/build_info` directory in the container. We can use again our helper UDF to inspect the build information." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Here we see an overview about the build information which exaslct embedded into the container. `exaslct` stores all packages lists (as defined in the flavor and what actually got installed), the final Dockerfiles and the image info. The image info describes how the underlying Docker images of the container got built. The build information is stored in the `/build_info` directory in the container. We can use again our helper UDF to inspect the build information." | |
"Here we see an overview about the build information provided embedded by `exaslct` into the container. `exaslct` stores all packages lists (as defined in the flavor and what actually got installed), the final Dockerfiles and the image info. The image info describes how the underlying Docker images of the container got built. The build information is stored in the `/build_info` directory in the container. We can use again our helper UDF to inspect the build information." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, "...provided embedded..." is somehow duplicated....
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
@@ -0,0 +1,704 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't mention the notebook connector elsewhere in the AI-Lab. Personally I am not sure it was the right approach. I feel like we demonstrate what is obvious and hide what is not. Anyway, if we go into details here, we should probably explain what exaslct is.
Reply via ReviewNB
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After the split up, I added a comment about exalct
and a reference to the GH repo. Pls check.
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
@@ -0,0 +1,704 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Depending on your assumption about the user's level of knowledge on the subject, you may want to explain what the flavour is. Since you started the notebook with the explanation what the language container is you probably don't expect a great deal of prior knowledge.
Reply via ReviewNB
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After the split up, I added some more information to the "export_as_is.ipynb". Please take a look and let me know what you think.
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
...s/jupyter/files/notebook/script_languages_container/using_a_script_languages_container.ipynb
Outdated
Show resolved
Hide resolved
1. Added comment in export about how to download the tar gz file in Jupyter IDE 2. Added a comment about warnings in customize.ipynb 3. Changed default alias 4. Use Schema for SQL connection from nb-connector
559b1e8
to
481164c
Compare
"id": "c1dc4885-42ca-47d6-800c-302b6cfc91d1", | ||
"metadata": {}, | ||
"source": [ | ||
"This notebooks explains some details and background regarding `exaslct`. This is especially useful when:\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"This notebooks explains some details and background regarding `exaslct`. This is especially useful when:\n", | |
"This notebooks explains some details and background regarding the tool `exaslct`. This is especially useful when:\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
"We create an instance of the SlctManager class from the notebook connector. SLCT Manager, which stands for \"Script-Languages-Container-Tools\" Manager. \n", | ||
"This class has some utility functions which simplifies the use of the exaslct API." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"We create an instance of the SlctManager class from the notebook connector. SLCT Manager, which stands for \"Script-Languages-Container-Tools\" Manager. \n", | |
"This class has some utility functions which simplifies the use of the exaslct API." | |
"The \"Script-Languages-Container-Tools\" Manager (SLCT Manager) simplifies using the API of `exaslct`\n", | |
"The following cell will therefore create an instance class `SlctManager` from the notebook-connector." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed in all notebooks...
"source": [ | ||
"## What to do if something doesn't work?\n", | ||
"\n", | ||
"During the build, export or upload it can happen that external package repositories are not available or something is wrong on your machine where you run the build. For these cases, exaslct stores information in many logs that can help to identify the problem.\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"During the build, export or upload it can happen that external package repositories are not available or something is wrong on your machine where you run the build. For these cases, exaslct stores information in many logs that can help to identify the problem.\n", | |
"During the build, export or upload it can happen that external package repositories are not available or something is wrong on your machine running the build. For these cases, `exaslct` provides extensive log files that can help analyzing such problems.\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
"During the build, export or upload it can happen that external package repositories are not available or something is wrong on your machine where you run the build. For these cases, exaslct stores information in many logs that can help to identify the problem.\n", | ||
"\n", | ||
"#### Exaslsct Log\n", | ||
"The main log for exaslct is stored directly as main.log in the build output of the job. With the following command you can find the main logs for all previous executions." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"The main log for exaslct is stored directly as main.log in the build output of the job. With the following command you can find the main logs for all previous executions." | |
"The main log file for exaslct is stored as file `main.log` in the build output of the job. With the following command you can find the main logs for all previous executions." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
"id": "ce4be726-86ad-487c-9d76-705c360b825e", | ||
"metadata": {}, | ||
"source": [ | ||
"The following command showd the log file from the last execution." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"The following command showd the log file from the last execution." | |
"The following command shows the log file of the last execution." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
"source": [ | ||
"The syntax of the activation statement is: `alias=url`. The activation key will be used in the `ALTER_SESSION` or `ALTER_SYSTEM` commands to \"register\" the script-language-container for usage in the UDF's.\n", | ||
"\n", | ||
"You could get the activation SLQ command on the command line with `exaslct` by running:\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"You could get the activation SLQ command on the command line with `exaslct` by running:\n", | |
"You can generate the SQL commands for the activation with the following command line:\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
"source": [ | ||
"# Export the flavor as is\n", | ||
"\n", | ||
"In this tutorial you will learn how to build the script-languages-container from the base flavor (without any modifiction) and write the result to a tar gz file. The base flavor `template-Exasol-all-python-3.10` is part of the Script-Languages Release repository and it's purpose is to be the base for customer modifications which aim to use Python UDF's with Python packages which are not included in the Standard Container of the Exasol database.\n", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"In this tutorial you will learn how to build the script-languages-container from the base flavor (without any modifiction) and write the result to a tar gz file. The base flavor `template-Exasol-all-python-3.10` is part of the Script-Languages Release repository and it's purpose is to be the base for customer modifications which aim to use Python UDF's with Python packages which are not included in the Standard Container of the Exasol database.\n", | |
"Exasol [User Defined Functions](https://docs.exasol.com/db/latest/database_concepts/udf_scripts.htm) (UDFs) enable embedding Python code into SQL statements. Each Python UDF runs in a so-called [script-languages-container](https://docs.exasol.com/db/latest/database_concepts/udf_scripts/adding_new_packages_script_languages.htm) (SLC). Exasol provides default SLCs with some preinstalled PYthon packages but also allows users to create their own SLCs, e.g. by adding additional dependencies.\n\n", | |
"This tutorial shows how to build a script-languages-container (SLC) from a base flavor (without any modification) and write the result to a tar gz file. The base flavor `template-Exasol-all-python-3.10` is part of the Script-Languages Release repository.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
"We create an instance of the SlctManager class from the notebook connector. SLCT Manager, which stands for \"Script-Languages-Container-Tools\" Manager. \n", | ||
"This class has some utility functions which simplifies the use of the exaslct API." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"We create an instance of the SlctManager class from the notebook connector. SLCT Manager, which stands for \"Script-Languages-Container-Tools\" Manager. \n", | |
"This class has some utility functions which simplifies the use of the exaslct API." | |
"The \"Script-Languages-Container-Tools\" Manager (SLCT Manager) simplifies using the API of `exaslct`\n", | |
"The following cell will therefore create an instance class `SlctManager` from the notebook-connector." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
"id": "31029b4f-df19-464b-91c7-2981dee02d12", | ||
"metadata": {}, | ||
"source": [ | ||
"### Import some utility functions\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"### Import some utility functions\n" | |
"### Import Some Utility Functions\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
"We create an instance of the SlctManager class from the notebook connector. SLCT Manager, which stands for \"Script-Languages-Container-Tools\" Manager. \n", | ||
"This class has some utility functions which simplifies the use of the exaslct API." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"We create an instance of the SlctManager class from the notebook connector. SLCT Manager, which stands for \"Script-Languages-Container-Tools\" Manager. \n", | |
"This class has some utility functions which simplifies the use of the exaslct API." | |
"The \"Script-Languages-Container-Tools\" Manager (SLCT Manager) simplifies using the API of `exaslct`\n", | |
"The following cell will therefore create an instance class `SlctManager` from the notebook-connector." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
fixes #19