用于将 RDBMS CSV 元数据提取到 Google Cloud Data Catalog 的库
项目描述
google-datacatalog-rdbmscsv-connector
用于将 CSV 元数据提取从 RDBMS 提取到 Google Cloud Data Catalog 的库。
免责声明:这不是官方支持的 Google 产品。
目录
1.安装
使用 pip在virtualenv中安装这个库。virtualenv是一个创建隔离 Python 环境的工具。它解决的基本问题是依赖关系和版本之一,以及间接权限。
使用virtualenv,可以在不需要系统安装权限的情况下安装这个库,并且不会与已安装的系统依赖项发生冲突。确保您使用 Python 3.6+。
1.1。Mac/Linux
pip3 install virtualenv
virtualenv --python python3.6 <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-datacatalog-rdbmscsv-connector
1.2. 视窗
pip3 install virtualenv
virtualenv --python python3.6 <your-env>
<your-env>\Scripts\activate
<your-env>\Scripts\pip.exe install google-datacatalog-rdbmscsv-connector
1.3. 从源安装
1.3.1。获取代码
git clone https://github.com/GoogleCloudPlatform/datacatalog-connectors-rdbms/
cd datacatalog-connectors-rdbms/google-datacatalog-rdbmscsv-connector
1.3.2. 创建并激活virtualenv
pip3 install virtualenv
virtualenv --python python3.6 <your-env>
source <your-env>/bin/activate
1.3.3. 安装库
pip install .
2.环境设置
2.1。身份验证凭据
2.1.1。创建一个服务帐户并将其授予以下角色
- 数据目录管理员
2.1.2. 下载 JSON 密钥并将其另存为
<YOUR-CREDENTIALS_FILES_FOLDER>/rdbmscsv2dc-credentials.json
请注意,在接下来的步骤中将需要此文件夹和文件。
2.2. 设置环境变量
根据您的环境替换以下值:
export GOOGLE_APPLICATION_CREDENTIALS=data_catalog_credentials_file
export RDBMS2DC_DATACATALOG_PROJECT_ID=google_cloud_project_id
export RDBMS2DC_DATACATALOG_LOCATION_ID=google_cloud_location_id
export RDBMS2DC_SERVER=rdbms_server
export RDBMS2DC_TYPE=oracle
export RDBMS2DC_RAW_METADATA_CSV=rdms_raw_csv
3.运行入口点
3.1。运行 Python 入口点
- 虚拟环境
google-datacatalog-rdbmscsv-connector \
--datacatalog-project-id=$RDBMS2DC_DATACATALOG_PROJECT_ID \
--datacatalog-location-id=$RDBMS2DC_DATACATALOG_LOCATION_ID \
--rdbms-host=$RDBMS2DC_SERVER \
--rdbms-type=$RDBMS2DC_TYPE \
--raw-metadata-csv=$RDBMS2DC_RAW_METADATA_CSV
3.2. 运行 Docker 入口点
docker build -t rdbmscsv2datacatalog .
docker run --rm --tty -v YOUR-CREDENTIALS_FILES_FOLDER:/data rdbmscsv2datacatalog \
--datacatalog-project-id=$RDBMS2DC_DATACATALOG_PROJECT_ID \
--datacatalog-location-id=$RDBMS2DC_DATACATALOG_LOCATION_ID \
--rdbms-host=$RDBMS2DC_SERVER \
--rdbms-type=$RDBMS2DC_TYPE \
--raw-metadata-csv=$RDBMS2DC_RAW_METADATA_CSV
4 工具内的脚本
4.1。运行清理
# List of projects split by comma. Can be a single value without comma
export RDBMS_DATACATALOG_PROJECT_IDS=my-project-1,my-project-2
export RDBMS2DC_TYPE=oracle
# Run the clean up
python tools/cleanup_datacatalog.py \
--datacatalog-project-ids=$RDBMS_DATACATALOG_PROJECT_IDS \
--rdbms-type=$RDBMS2DC_TYPE
5. 开发者环境
5.1。安装并运行 Yapf 格式化程序
pip install --upgrade yapf
# Auto update files
yapf --in-place --recursive src tests
# Show diff
yapf --diff --recursive src tests
# Set up pre-commit hook
# From the root of your git project.
curl -o pre-commit.sh https://raw.githubusercontent.com/google/yapf/master/plugins/pre-commit.sh
chmod a+x pre-commit.sh
mv pre-commit.sh .git/hooks/pre-commit
5.2. 安装并运行 Flake8 linter
pip install --upgrade flake8
flake8 src tests
5.3. 运行测试
python setup.py test
6. 故障排除
在连接器执行达到数据目录配额限制的情况下,将引发错误并记录以下详细信息,具体取决于执行的操作 READ/WRITE/SEARCH:
status = StatusCode.RESOURCE_EXHAUSTED
details = "Quota exceeded for quota metric 'Read requests' and limit 'Read requests per minute' of service 'datacatalog.googleapis.com' for consumer 'project_number:1111111111111'."
debug_error_string =
"{"created":"@1587396969.506556000", "description":"Error received from peer ipv4:172.217.29.42:443","file":"src/core/lib/surface/call.cc","file_line":1056,"grpc_message":"Quota exceeded for quota metric 'Read requests' and limit 'Read requests per minute' of service 'datacatalog.googleapis.com' for consumer 'project_number:1111111111111'.","grpc_status":8}"
有关数据目录配额的更多信息,请访问:数据目录配额文档。
项目详情
关
google- datacatalog -rdbmscsv-connector-0.9.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 47060adec05b8693a33a5437eb20ce8da7d65c84db1723f9f904815787e816b9 |
|
| MD5 | 9666325b3418d508da2841ef90697541 |
|
| 布莱克2-256 | a13662ff207c69cec3f3dfbbcfee14b0f1f387624dd659e37e809ab05d466f82 |
关
google_datacatalog_rdbmscsv_connector-0.9.0-py2.py3-none-any.whl 的哈希 值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | b180cc9da36e0ccc018ac0514bbf2175cbbb7197b7375376a9b00af96cab6fae |
|
| MD5 | e0668c460729254ebd51e3b81b4a18cf |
|
| 布莱克2-256 | ce04a1ac1cba082866993bfa863dd5a1e1c959a8d6f46e592cbc80369f61ce70 |