1. 在项目目录下启动虚拟环境
1.安装pipenv
pip3 install pipenv
- 查看pipenv安装在哪
which pipenv
/Users/guolei/Library/Python/3.9/bin/pipenv
3.为了可以全局使用pipenv,需要将pipenv添加到全局变量里
(1)创建全局变量文件
touch ~/.zshrc
(2)打开文件进行编辑
open -e ~/.zshrc
(3)将上面查询到的路径添加进来
export PATH="/Users/guolei/Library/Python/3.9/bin:$PATH"
(4)让该文件有效
source ~/.zshrc
- 在当前目录创建python环境,此时多了一个pipfile说明安装成功
pipenv --python 3
- 使用requirements.txt安装项目所需要的包
pipenv install -r requirements.txt
6.安装成功后,会多一个lock文件
- 将我们当前的环境共享给其他人
只需要复制pipfile,到新的工作目录,然后终端运行
pipenv install
- 查看当前的虚拟环境目录
pipenv --venv
9.删除当前的虚拟环境目录
pipenvv --rm
2. 记录一次完整的部署(dbt-snowflake+airflow+docker)
- github创建新的项目,并复制https
https://github.com/CXTV/dbt_env_airflow_v1.git
- 本地创建一个项目文件夹,并且初始化git
git init
- 创建git ignore
root/
target/
dbt_packages/
logs/
**/__pycache__/
config/
*.cfg
- 创建
docker-compose.yml
文件,并且将下面的链接的内容复制到该文件里,airflow的基本配置
https://airflow.apache.org/docs/apache-airflow/2.8.4/docker-compose.yaml
- 运行compose up,airflow运行项目运行成功
- 创建python 3.10.0的虚拟环境,使用Pipenv
pipenv --python 3.10.0
- 创建
requirements.txt
,可指定各个包的版本,这里为了方便,省略
dbt-core
dbt-snowflake
- 给虚拟环境安装上面的包
pipenv install -r requirements.txt
- 启动虚拟环境
pipenv shell
-
更改vscode的环境为虚拟环境
-
在虚拟环境下,运行dbt init ,创建dbt_demodb项目,将所有的信息填写正确,填写完成后的profiles.yml文件在windows的用户目录
.dbt
文件夹下
-
进入到dbt_demodb内,运行
dbt debug
检查我们的数据库配置是否正确
-
检测成功后,说明dbt配置成功,在airflow的项目文件夹里创建
root/.dbt
的文件夹,并且将上面的profiles.yml
复制进来
-
复制dbt的operator到plugins里
创建Dockerfile
FROM apache/airflow:2.8.4
COPY requirements.txt requirements.txt
RUN pip install --user --upgrade pip
RUN pip install -r requirements.txt