Skip to content
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

add developer guide for loading data #74

Merged
merged 5 commits into from
Aug 28, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions docs/dev_guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# JupyterLab Developer Guide

## Accessing JupyterLab Development Environment
(Please refer to the [JupyterLab User Guide](user_guide.md) for instructions on accessing the user environment.)

### 1. Create SSH Tunnel:

Execute the following command to create an SSH tunnel to the remote server (`login1.berkeley.kbase.us`):

```bash
ssh -f -N -L localhost:44041:10.58.2.201:4041 <ac.anl_username>@login1.berkeley.kbase.us
```
Comment on lines +6 to +12
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we already had docs like this somewhere?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yea. Similar instructions in the user's guide. https://github.com/kbase/cdm-jupyterhub/blob/main/docs/user_guide.md
But dev has different port number. That's also the reason I didn't make it as detailed as the user's guide.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe link to the user guide for more info?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


### 2. Access JupyterLab Notebooks:

Open a web browser and navigate to the following URL:

```
http://localhost:44041
```
This will open the JupyterLab Notebook interface running on the remote server.


## Accessing MinIO
Please refer to the [MinIO Guide](minio_guide.md) for instructions on accessing MinIO.

### Read/Write MinIO username and password
Get the MinIO username and password with read/write permission from the above development JupiterLab environment.
```python
import os
minio_username, minio_password = os.environ['MINIO_ACCESS_KEY'], os.environ['MINIO_SECRET_KEY']
print(f"MinIO username: {minio_username},\nMinIO password: {minio_password}")
```
MrCreosote marked this conversation as resolved.
Show resolved Hide resolved

### Naming conventions
Please adhere to the following naming conventions for MinIO buckets and objects:

#### Source Files:
Source files are the raw data files that are uploaded to MinIO.
* Bucket name: `namespace_name`-source
* File name: The file name should either clearly represent the table name or be formatted in a way that allows a
program to easily extract the table name from it.

#### Delta Table Files:
Delta table files are Parquet files generated by Spark during the creation of a table.
* Bucket name: `namespace_name`-delta

## Loading Notebooks
Please create a corresponding loading notebook for each namespace in the `data-loading-notebooks` directory.

Please use the existing loading notebooks as examples.

🚨 **Please DO NOT rerun the existing loading notebooks in the development environment unless you are certain you
want to reload the existing table. Instead, create a new notebook for each new namespace and manually verify
the data loading process.**







Loading