GBase 8a 从Kafka加载数据——使用样例

GBase 8a 从Kafka加载数据——使用样例GBase 8a支持从Kafka 加载数据,下面介绍该功能的使用方式并提供样例。GBase 8a当前支持单次加载,以及以类似定时任务的形式自动加载。环境kafka版本kafka_2.13-2.8.0数据原始topic一共两行数据, 名字为gbase8a,主机名为rh_210,对应IP是10.0.2.210.[root@localhost kafka]# bin/kafka-console-consumer.sh --topic gbase8a
摘要由CSDN通过智能技术生成

GBase 8a 从Kafka加载数据——使用样例

GBase 8a支持从Kafka 加载数据,下面介绍该功能的使用方式并提供样例。GBase 8a当前支持单次加载,以及以类似定时任务的形式自动加载。

环境

kafka版本

kafka_2.13-2.8.0

数据

原始topic一共两行数据, 名字为gbase8a,主机名为rh_210,对应IP是10.0.2.210.

[root@localhost kafka]# bin/kafka-console-consumer.sh --topic gbase8a --from-beginning --bootstrap-server localhost:9092
1234,First
5678,Second
^CProcessed a total of 2 messages
[root@localhost kafka]#
[root@localhost kafka]# bin/kafka-console-consumer.sh --topic gbase8a --from-beginning --bootstrap-server localhost:9092
1234,First
5678,Second
^CProcessed a total of 2 messages

操作系统

CentOS 7.9

单次加载样例

指通过LOAD语句,从kafka加载一次数据的方法,针对kafka的流式数据,后面有自动定时加载的方法。

语法

如下只给出协议数据源部分,完整的样例看后面。

kafka://broker/topic[?[duration=XX][&][partition=partitionid|offset][#frombeginning]
  • broker:kafka的IP和端口,比如10.0.2.201:9092
  • topic:kafka的数据源的topic名字,注意不要有横线,只包含常见的字母数字和下划线,不要有特殊字符,横线等。
  • 参数部分以问号开始,多个参数间用&分割
    1.duration:获取数据提交间隔。当达到该时间后,将提交这部分数据,保存到数据库。一般加载建议,30-300秒都是合适的。太短的间隔会导致数据库磁盘负载增加。
  1. partition:kafka里的分区。
  2. partitionid :分区编号
  3. offset:偏移量。 最初的数据从0开始,但存在老化删除的情况,可以用 #frombeginning从头开始
  • #frombeginning:整个topic从头开始。注意不一定是0,因为有老化。也请注意这个参数和partition的区别,那个是指定某个partition从头开始,这个用来指定整个topic从头开始。不能出现2次,因为从语义上是冲突的。

Kafka单次加载进度元数据表

在gclusterdb库下面,保存了和该表Kafka加载进度的元数据。
注:不是每个用户都有权限查看gclusterdb库。
表的命名规则是topic名字_库名_表名,比如 gbase8a_testdb_tt1表示topic是gbase8a, 库是testdb,表是tt1。
样例看后面的章节。

列名 类型 说明
scn bigint(20) SCN号
partition_offset varchar(2048) 偏移量,包括分区和offset
commit_time timestamp 提交的时间戳

注:
如果一个表,从多个kafka数据源加载,且存在了重复的topic 名字,会出现该元数据表的数据混乱。 所以建议在命名kafka里topic名字时,能加上主机名或IP。

样例

加载整个topic

其中duration设置了10秒,从头开始加载。

gbase> load data infile 'kafka://rh7_210:9092/gbase8a?duration=10000#frombeginning' into table testdb.tt1;
Query OK, 2 rows affected (Elapsed: 00:00:10.70)
Task 28673 finished, Loaded 2 records, Skipped 0 records
 
gbase> select * from tt1;
+------+--------+
| id   | name   |
+------+--------+
|    1 | First  |
|    2 | Second |
+------+-----
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值