Kylin设置JDBC配置greenplum数据源

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Kylin设置JDBC配置greenplum数据源

Kylin设置JDBC配置greenplum数据源
kylin最开始的时候支持hive和kafka作为数据源,从2.3.0版本之后开始支持JDBC作为第第三种数据源。用户可以自定义的数据库或者数据仓库到自己的kylin集群。比如,mysql,postgresql,greenplum等。

  1. 支持原理
    需要了解到的是,kylin设置完jdbc作为数据源,是通过sqoop来实现的,他并不是摒弃了底层的hive,而是使用sqoop将你配置的数据源的数据抽取到hive中,kylin通过在hive中生成的表来做cube的预计算。计算完之后,再将导入的临时数据删除。
  2. 配置JDBC数据源
    首先,在kylin集群安装完之后,自行安装sqoop。注意sqoop的1.0和2.0版本相去甚远,一般在生产环境中不会使用2.0版本,同时需要注意sqoop和hbase的版本兼容问题,一般是sqoop1.x+hbase0.x。

第二步,准备jdbc driver。需要将你要配置的数据库的JDBC Driver配置搭配kylin和sqoop中,路径$KYLIN_HOME/ext和$SQOOP_HOME/lib。注意:mysql的驱动可以不加载,kylin2.3.1已经集成。
第三步,配置kylin.properties文件。
Mysql样例:

MYSQL

kylin.source.default=8
kylin.source.jdbc.connection-url=jdbc:mysql://10.4.6.226:3306/test
kylin.source.jdbc.driver=com.mysql.jdbc.Driver
kylin.source.jdbc.dialect=mysql
kylin.source.jdbc.user=root
kylin.source.jdbc.pass=326936
kylin.source.jdbc.sqoop-home=/home/zhouwang/sqoop-1.4.6/bin
kylin.source.jdbc.filed-delimiter=|
kylin.source.jdbc.sqoop-mapper-num=4
Greenplum样例:

GP

kylin.source.default=8
kylin.source.jdbc.connection-url=jdbc:postgresql://192.168.71.11:5432/testdb
kylin.source.jdbc.driver=org.postgresql.Driver
kylin.source.jdbc.dialect=default
kylin.source.jdbc.user=zhouwang
kylin.source.jdbc.pass=326936
kylin.source.jdbc.sqoop-home=/home/zhouwang/sqoop-1.4.6/bin
kylin.source.jdbc.filed-delimiter=|
kylin.source.jdbc.sqoop-mapper-num=4
注意:kylin.source.jdbc.sqoop-mapper-num这个参数是用来指定sqoop有多少个map数的。kylin.source.default这个参数是用来指定数据源类型的,默认是0,代表的是hive,8代表的是自己配置的数据源,也就是只能有一种数据源,如果想要有多种数据源需要再project的级别配置这些参数(2.4.0之后版本才有此功能)。

  1. 加载Greenplum数据
    重启 Kylin 让改变生效。您现在可以从 JDBC 数据源加载表。访问 Kylin web 然后导航到数据源面板。点击 Load table 按钮然后输入表名,或点击 “Load Table From Tree” 按钮然后选择要加载的表。不检查 Calculate column cardinality 因为对于 JDBC 数据源这个功能并不支持。点击 “Sync”,Kylin 通过 JDBC 接口加载表定义。当表加载成功后您可以查看表和列,和 Hive 相似。

注意:需要再greenplum的date/master/gpseg-1/pg_hba.conf里面配置你要访问gp的机器的ip授权。

  1. Model和cube的使用
    唯一与hive作为数据源不一样的地方就是cube在build的时候,第一步是从greenplum把数据导入到hive,后续的build步骤就与greenplum无关,与之前并无差别。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Java 数据库连接 应用服务中间件
原生JDBC使用C3p0数据源和dbcp数据源
原生JDBC使用C3p0数据源和dbcp数据源
177 0
|
SQL Java 数据库连接
jdbc的执行流程|不同数据库的驱动配置
jdbc的执行流程|不同数据库的驱动配置
|
9月前
|
Java 数据库连接 数据库
【YashanDB知识库】WAS配置YashanDB JDBC连接
【YashanDB知识库】WAS配置YashanDB JDBC连接
|
9月前
|
Oracle Java 关系型数据库
【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
|
9月前
|
编解码 Oracle Java
【YashanDB知识库】YashanDB的JDBC/OCI驱动如何设置字符编码
YashanDB的JDBC驱动无需用户指定字符编码,能自动根据JVM和服务端字符集进行编解码,避免乱码问题。而OCI接口则需通过OCIEnvNlsCreate函数指定客户端字符集,目前仅支持852(ZHS16GBK)和871(UTF8)。用户在使用JDBC时无需关心字符集设置,但在使用OCI时需注意正确配置编码格式。
|
SQL Java 数据库连接
JDBC的连接参数的设置导致rowid自动添加到sql
JDBC的连接参数的设置导致rowid自动添加到sql
155 1
|
Java 大数据 数据库连接
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
197 2
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
281 0
sharding-jdbc 兼容 MybatisPlus的动态数据源
【8月更文挑战第2天】要使 `Sharding-JDBC` 与 `MyBatisPlus` 的动态数据源兼容,需引入相关依赖,配置数据源及分库分表策略,并在 `MyBatisPlus` 中设置参数以协同工作。可能还需自定义代码处理数据源切换。示例代码框架展示整合方式,实际应用中需按具体业务场景详细配置并处理异常情况,如数据一致性问题。
772 1
|
设计模式 Java 数据库连接
【Spring源码】JDBC数据源访问实现
我们再来看看阅读线索三,这方面我们从设计模式进行入手。阅读线索三:从这个模块可以学到什么我们看下以下代码,PreparedStatement实例的是由PreparedStatementCreator实现的。再来看看PreparedStatementCreator接口,一共有三个子类实现。也就是说PreparedStatement的三种不同实现被封装到三个子类中,而具体需要哪种实现,只需要传入不同。
190 1
【Spring源码】JDBC数据源访问实现