astro-sdk
Astro SDK allows rapid and clean development of {Extract, Load, Transform} workflows using Python and SQL, powered by Apache Airflow.
파일 탐색기
최종 버전 다운로드 (.zip)- bug_report.md
- config.yml
- feature_request.md
- ci-astro-deploy.yml
- ci-benchmark.yaml
- ci-python-sdk.yaml
- ci-rc-test.yaml
- mlc_config.json
- reuse-wf-deploy-to-astro-cloud.yaml
- reuse-wf-trigger-dag.yaml
- runtime-image-update.yaml
- ci-test-connections.yaml
- dependabot.yml
- PULL_REQUEST_TEMPLATE.md
- example-dag.png
- example-with-async-task.png
- example-with-downstream-cleanup.png
- AEP-2-table-cleanup.md
- AEP-3-dag-generator.md
- AEP-4-astro-cli-integration-with-sql-cli.md
- AEP-template.md
- index.rst
- README.md
- get_latest_runtime_image_tag.py
- replace_dependencies.py
- requirements.txt
- trigger_dag.py
- replace_dependencies.py
- requirements.txt
- pre_commit_context_typing_compat.py
- pre_commit_readme_sync.py
- docker-compose.yaml
- Dockerfile
- local_flask_lineage_server.py
- get_file_list.rst
- check_column.rst
- check_table.rst
- append.rst
- cleanup.rst
- dataframe.rst
- drop_table.rst
- export.rst
- get_value_list.rst
- load_file.rst
- merge.rst
- raw_sql.rst
- transform.rst
- transform_file.rst
- CONTRIBUTING.md
- DEVELOPMENT.md
- RELEASE.md
- GETTING_STARTED.md
- SECURITY.md
- openlineage_1.png
- openlineage_2.png
- openlineage_facets.png
- concepts.rst
- databricks.rst
- openlineage.rst
- operators.rst
- xcom_backend.rst
- airflow-webserver-connection.png
- dag-dependencies-on-datasets.png
- defaultPath.png
- nativePath.png
- select-dag-grid-view.png
- snowflake-classic-console.png
- task-logs.png
- trigger-dag.png
- unpause-dag.png
- aep
- CHANGELOG.md
- conf.py
- configurations.rst
- index.rst
- make.bat
- Makefile
- supported_databases.rst
- supported_file.rst
- homes.csv
- homes2.csv
- agg_homes.sql
- clean_homes.sql
- combine_homes.sql
- transform.sql
- __init__.py
- calculate_popular_movies.py
- calculate_popular_movies_by_genre.py
- calculate_top_2_movies_using_dataframe.py
- example_amazon_s3_postgres.py
- example_amazon_s3_postgres_load_and_save.py
- example_amazon_s3_snowflake_transform.py
- example_append.py
- example_bigquery_dynamic_map_task.py
- example_check_column.py
- example_check_table.py
- example_dataframe_api.py
- example_datasets.py
- example_duckdb.py
- example_duckdb_load_transform_dataframe_and_save.py
- example_dynamic_task_template.py
- example_google_bigquery_gcs_load_and_save.py
- example_load_file.py
- example_merge.py
- example_mssql_transform.py
- example_snowflake_partial_table_with_append.py
- example_sqlite_load_transform.py
- example_transform.py
- example_transform_file.py
- container.mk
- local.mk
- __init__.py
- datasets.py
- __init__.py
- astro_custom_backend.py
- serializer.py
- __init__.py
- redshift.py
- autoloader.py.jinja2
- copy_into.py.jinja2
- load_file_to_delta.py.jinja2
- load_secrets.py.jinja2
- __init__.py
- load_file_job.py
- load_file_python_code_generator.py
- __init__.py
- api_utils.py
- delta.py
- load_options.py
- __init__.py
- bigquery.py
- __init__.py
- base.py
- duckdb.py
- mssql.py
- mysql.py
- postgres.py
- snowflake.py
- sqlite.py
- __init__.py
- load_options.py
- pandas.py
- __init__.py
- s3.py
- __init__.py
- wasb.py
- __init__.py
- gcs.py
- gdrive.py
- __init__.py
- base.py
- ftp.py
- http.py
- local.py
- sftp.py
- __init__.py
- files.py
- __init__.py
- base.py
- csv.py
- excel.py
- json.py
- ndjson.py
- parquet.py
- xls.py
- xlsx.py
- __init__.py
- base.py
- __init__.py
- facets.py
- check_column.py
- check_table.py
- __init__.py
- append.py
- base_decorator.py
- base_operator.py
- cleanup.py
- dataframe.py
- drop.py
- export_file.py
- export_table_to_file.py
- export_to_file.py
- load_file.py
- merge.py
- raw_sql.py
- transform.py
- upstream_task_mixin.py
- __init__.py
- table.py
- __init__.py
- functools.py
- typing.py
- __init__.py
- dataframe.py
- load.py
- path.py
- table.py
- __init__.py
- constants.py
- exceptions.py
- options.py
- query_modifier.py
- settings.py
- table.py
- __init__.py
- test_datasets.py
- benchmark_gcs_to_big_query.py
- evaluate_load_file.py
- job.yaml
- namespace.yaml
- nfs-server-gke.yaml
- nfs-server-service.yaml
- persistent-volume-claims.yaml
- persistent-volume.yaml
- postgres.yaml
- postgres_svc.yaml
- backend.tf
- main.tf
- vars.tf
- versions.tf
- __init__.py
- analyse.py
- config-ci.json
- config-sample.json
- config-weekly.json
- config.json
- datasets.md
- debug.yaml
- Dockerfile
- download_datasets.sh
- Makefile
- README.md
- results.md
- run.py
- run.sh
- settings.py
- synthetic_csv_generator.py
- synthetic_ndjson_generator.py
- synthetic_parquet_generator.py
- wait_for_completion.sh
- __init__.py
- test_serializer.py
- sample.csv
- example.csv
- column_name_mixed_case.json
- covid_overview.csv
- data_validation.csv
- delimiter_dollar.csv
- github_multi_level_nested.ndjson
- github_single_level_nested.ndjson
- homes.csv
- homes2.csv
- homes3.csv
- homes_append.csv
- homes_main.csv
- homes_merge_1.csv
- homes_merge_2.csv
- homes_pattern_1.csv
- homes_pattern_2.csv
- homes_upper.csv
- homes_uppercase.csv
- imdb.csv
- imdb_v2.csv
- order_check_nrows.ndjson
- sample.csv
- sample.json
- sample.ndjson
- sample.parquet
- sample.xlsx
- sample_part2.csv
- sample_part2_without_unicode.csv
- sample_without_unicode.csv
- sample_without_unicode.json
- sample_without_unicode.ndjson
- sample_without_unicode.parquet
- __init__.py
- test_base_database.py
- test_bigquery.py
- test_duckdb.py
- test_mssql.py
- test_mysql.py
- test_redshift.py
- test_snowflake.py
- test_sqlite.py
- __init__.py
- foo.txt
- test_load_file_job.py
- test_load_python_code_generator.py
- __init__.py
- test_databricks_api_util.py
- __init__.py
- test_pandas.py
- __init__.py
- test_ftp.py
- test_gcs.py
- test_google_drive.py
- test_http.py
- test_local.py
- test_location_base.py
- test_s3.py
- test_sftp.py
- test_wasb.py
- __init__.py
- test_files.py
- __init__.py
- test_base.py
- test_csv.py
- test_excel.py
- test_json.py
- test_ndjson.py
- test_parquet.py
- test_type_base.py
- __init__.py
- test_file.py
- __init__.py
- test_check_column.py
- __init__.py
- test_append.py
- test_base_decorator.py
- test_cleanup.py
- test_dataframe.py
- test_export_file.py
- test_load_file.py
- test_merge.py
- test_run_raw_sql.py
- test_transform.py
- utils.py
- __init__.py
- test_table.py
- __init__.py
- airflow.py
- test_dataframe.py
- test_path.py
- test_table.py
- __init__.py
- modified_constraint_file.txt
- test_constants.py
- test_options.py
- test_settings.py
- astronomer_migration_dag.py
- deploy.sh
- Dockerfile
- Dockerfile.single_worker
- example_snowflake_cleanup.py
- master_dag.py
- master_dag_single_worker.py
- __init__.py
- test_databricks_api_util.py
- test_delta.py
- test_load.py
- __init__.py
- test_all_databases.py
- test_base_database.py
- test_bigquery.py
- test_mssql.py
- test_mysql.py
- test_postgres.py
- test_redshift.py
- test_snowflake.py
- test_sqlite.py
- __init__.py
- test_extractor.py
- __init__.py
- test_ftp.py
- test_gcs.py
- test_google_drive.py
- test_http.py
- test_s3.py
- test_sftp.py
- test_wasb.py
- __init__.py
- __init__.py
- __init__.py
- test_file.py
- __init__.py
- test_check_column.py
- test_check_table.py
- __init__.py
- test.sql
- test_mssql.sql
- test_mysql.sql
- test_postgres_transform.py
- test_transform.py
- __init__.py
- test.sql
- test_append.py
- test_cleanup.py
- test_dataframe.py
- test_drop_table.py
- test_export_file.py
- test_load_file.py
- test_merge.py
- test_raw_sql.py
- test_snowflake_merge_func.py
- test_upstream_tasks.py
- utils.py
- __init__.py
- test_table.py
- __init__.py
- test_table.py
- __init__.py
- conftest.py
- data
- integration_test_dag.py
- test_example_dags.py
- .dockerignore
- .env-template
- .test_durations
- CODE_OF_CONDUCT.md
- conftest.py
- LICENSE
- Makefile
- noxfile.py
- pyproject.toml
- README.md
- Tiltfile
- Dockerfile
- init-db.sh
- sample.csv
- example.csv
- covid_overview.csv
- github_multi_level_nested.ndjson
- github_single_level_nested.ndjson
- homes.csv
- homes2.csv
- homes3.csv
- homes_append.csv
- homes_main.csv
- homes_merge_1.csv
- homes_merge_2.csv
- homes_pattern_1.csv
- homes_pattern_2.csv
- homes_upper.csv
- imdb.csv
- imdb_v2.csv
- sample.csv
- sample.json
- sample.ndjson
- sample.parquet
- sample_part2.csv
- .deepsource.toml
- .dockerignore
- .gitignore
- .pre-commit-config.yaml
- .readthedocs.yaml
- CODE_OF_CONDUCT.md
- codecov.yml
- CODEOWNERS
- LICENSE
- README.md
- ruff.toml
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/astronomer/astro-sdk
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd astro-sdk
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천사전 준비물
- Python 3 pip 명령어를 쓰려면 Python이 필요합니다.
pip install astro-sdk-python
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
pip install astro-sdk-python[amazon,google,snowflake,postgres]
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
설치 후 새 터미널을 열고, 프로그램의 버전 확인 명령(예: --version)으로 정상 설치됐는지 확인하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
docker compose -f python-sdk/dev/docker-compose.yaml up -d --build
compose 설정 파일에 정의된 서비스들을 대상으로 명령을 실행합니다.
터미널에 docker compose ps 를 입력해 컨테이너들이 Up 상태인지 확인하세요. README에 포트 번호가 적혀있다면 브라우저에서 http://localhost:포트번호 로 접속해보세요.
4. Python
쉬움사전 준비물
pip install astro-sdk-python
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
pip install astro-sdk-python[amazon,google,snowflake,postgres]
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
에러 메시지 없이 실행되고 터미널에 안내 문구가 출력되면 정상입니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
5. Make
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
cd python-sdk
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
에러 없이 끝나면 성공입니다. 생성된 실행 파일을 직접 실행해보세요.
// repository documentation
Was this content helpful?
(0 ratings)
