更新时间:2022-12-14 GMT+08:00
HetuEngine跨源功能使用指导
- 参考配置HetuEngine数据源,注册数据源。
- 如果是HBase数据源,还需创建结构化映射表。
- 映射表建表语句格式:
CREATE TABLE schemaName.tableName ( rowId VARCHAR, qualifier1 TINYINT, qualifier2 SMALLINT, qualifier3 INTEGER, qualifier4 BIGINT, qualifier5 DOUBLE, qualifier6 BOOLEAN, qualifier7 TIME, qualifier8 DATE, qualifier9 TIMESTAMP ) WITH ( column_mapping = 'qualifier1:f1:q1,qualifier2:f1:q2,qualifier3:f2:q3,qualifier4:f2:q4,qualifier5:f2:q5,qualifier6:f3:q1,qualifier7:f3:q2,qualifier8:f3:q3,qualifier9:f3:q4', row_id = 'rowId', hbase_table_name = 'hbaseNamespace:hbaseTable', external = true ); --注意: schemaName一定要与hbase_table_name中的hbaseNamespace一致,否则建表失败。
- 映射表建表支持:直接关联HBase数据源中的表、创建并关联HBase数据源中不存在的新表的两种形式。
- 映射表字段支持的数据类型包括:VARCHAR、TINYINT、SMALLINT、INTEGER、BIGINT、DOUBLE、BOOLEAN、TIME、DATE、TIMESTAMP。
- 映射表建表语句关键字说明见下表。
表1 映射表建表语句关键字说明 关键字
类型
是否必填
默认值
备注
column_mapping
String
否
所有的列在同一个Family列族下
指定映射表中列与HBase数据源表中列族的映射关系。如果需要关联一张HBase数据源中的表,那么column_mapping必须与HBase数据源中的一致;如果创建一张HBase数据源中不存在的新表,olumn_mapping 由用户指定。
row_id
String
否
映射表的第一列
HBase数据源中表rowkey 对应的列名。
hbase_table_name
String
否
空
指定需要关联的HBase数据源上的表空间和表名,用:连接。默认表空间为default。如果创建一张HBase数据源中不存在的新表,hbase_table_name不需要指定。
external
Boolean
否
true
如果external=true ,表示该表为HBase数据源中表的一个映射表,不支持删除HBase数据源上的原始表;如果external=false,则删除Hetu-HBase表的同时,会删除HBase数据源上的表。
- 映射表建表语句格式:
- 使用跨源协同分析。
// 1. 注册Hive、ElasticSearch、GaussDB A等3种数据源 hetuengine> show catalogs; Catalog ---------- dws es hive hive_dg system systemremote (6 rows) // 2. 编写SQL进行跨源协同分析 select * from hive_dg.schema1.table1 t1 join es.schema3.table3 t2 join dws.schema02.table4 t3 on t1.name = t2.item and t2.id = t3.cardNo;
父主题: 使用HetuEngine跨源功能