querybook适配gaussdb心得

举报
liuzhiquan 发表于 2024/11/30 16:15:32 2024/11/30
【摘要】 Querybook的设计巧妙地融合了现代技术和用户友好的界面。它提供自动补全功能以提升SQL编写的效率,并且拥有一个智能提示系统,帮助用户快速找到所需的表和字段。此外,通过支持多种查询引擎如Presto、Hive、Snowflake等,以及广泛的认证机制,包括OAuth与LDAP,Querybook确保了高兼容性和安全性。

背景介绍

开源for Huawei(参考:https://developer.huaweicloud.com/programs/opensource/contributing/)  通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。

开始之前,开发者可以下载 开源for Huawei Wiki(参考:https://gitcode.com/HuaweiCloudDeveloper/OpenSourceForHuaweiWiki/overview 了解详细的开发步骤,技术准备,以及开发过程需要的各种资源。

适配思路

  1. querybook作为一款专注于大数据查询的应用程序,本身支持很多查询引擎如:mysql、hive、sparkSQL或任何与Sqlalchemy兼容的引擎

     2. querybook是docker+python+node部署 在部署过程中 dockerfile中会去安装依稀python链接数据库所需要的库如:pymysql、psycopg2 等库 。

     3. 尝试用psycopg2 +gaussdb+sqlalchemy链接信息 做gaussdb适配工作 具体参开sqlalchem官方文档  https://docs.sqlalchemy.org/en/20/core/engines.html#database=urls

适配准备

准备一台弹性云服务器ECS,用于鲲鹏EulerOS环境适配GaussDB测试 以及用于测试使用的Gaussdb实例。

2.1 ECS配置

鲲鹏:

产品名称

CPU架构

实例类型

公共镜像

镜像版本

弹性云服务器

鲲鹏计算

鲲鹏通用计算增强型

Huawei Cloud EulerOS

Huawei Cloud EulerOS 2.0标准版 64 ARM(10GiB)

GaussDB:

产品名称

产品类型

数据库引擎版本

内核引擎版本

实例类型

部署形态

云数据库GaussDB

基础版

V2.0-8.*

505.1.*

集中式

12

3 Demo开发

  1. 环境已经安装node(版本再16-19之间)

  2. 安装python3.9
  3. 环境安装elasticsearch和redis
  4. 修改4处配置文件 分别为 /opt/querybook/containers/bundled_querybook_config.yaml;/opt/querybook/k8s/scheduler-deployment.yaml;/opt/querybook/k8s/web-deployment.yaml;/opt/querybook/k8s/worker-deployment.yaml  将数据库信息改为gaussdb的链接信息

4 适配过程中的问题

    • dockerfile执行过程中会使用npm以及docker拉取一些库文件导致失败

             解决方法:检查网络原因以及npm源和docker源的配置 是导致响应超时的原因

    • sqlalchemy链接信息配置问题

             与传统jdbc驱动链接不一致 参考官方文档进行配置 https://docs.sqlalchemy.org/en/20/core/engines.html#database=urls

      【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
      • 点赞
      • 收藏
      • 关注作者

      评论(0

      0/1000
      抱歉,系统识别当前为高风险访问,暂不支持该操作

      全部回复

      上滑加载中

      设置昵称

      在此一键设置昵称,即可参与社区互动!

      *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

      *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。