本章节基于windows WSL2 安装的Ubuntu Linux version 5.4.72-microsoft-standard-WSL2 (oe-user@oe-host) (gcc version 8.2.0 (GCC))
第一步、安装wsl 和windows Terminal
第二步、根据官网上手文档执行安装 meltano 步骤。
-
安装meltano并创建meltano项目。用到命令meltano init
- 添加extractor并配置,如果是数据库,指定复制模式和复制的表、字段。meltano add、meltano config、meltano select
- 添加loader并配置
- 使用meltano ele命令执行。
第三步、如果extractors为数据库,记得开启远程访问。mysql开启远程访问。
第四步、目前遇到问题
运行成功,但是不生成结果文件。在网页版和命令行都不生成。
问题
ImportError: cannot import name 'ContextVar' from 'werkzeug.local' (/home/fang/meltano-projects/.venv/lib/python3.8/site-packages/werkzeug/local.py)
解决:更新 pip3为最新,然后重新安装meltano
# check for current version of pip to ensure that it is using Python 3 pip3 --version # update pip3 pip3 install --upgrade pip #卸载已经安装的meltano pip uninstall meltano #重新安装 pip install meltano
unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1解决:缺乏对应依赖,安装对应的依赖即可。
1.Try sudo apt-get install python3.X-dev where X is your python3 subversion. 2.sudo apt-get install gcc
meltano | Extraction failed (1): Exception: only INCREMENTAL, LOG_BASED, and FULL TABLE replication methods are supported
需要使用如下命令指定数据库复制方法和复制哪些表和字段
# Set replication-method metadata for all entities meltano config tap-postgres set _metadata '*' replication-method INCREMENTAL # Include all attributes of an entity meltano select tap-gitlab tags "*"
知识补充
一、使用 venv
-
创建虚拟环境
$ python -m venv venv_dir # 创建虚拟环境venv_dir, 会自动生成venv_dir文件夹
-
激活虚拟环境
$ cd venv_dir/ $ ./Scripts/activate $ pip install package
激活环境后所有的操作都在该虚拟环境中进行,不会到全局的python环境和其它python虚拟环境。
-
退出虚拟环境
$ ./Scripts/deactivate
-
删除虚拟环境
$ rm -rf venv_dir
删除虚拟环境目录即可删除虚拟环境(已安装的python包都会被删除)