网站风格分类有哪些,wordpress文章tag标签,如何免费建站,网站怎么建立前言
随着大数据技术的普及#xff0c;数据仓库的部署方式也在发生着改变#xff0c;之前在部署数据仓库项目时#xff0c;首先想到的是选择国外哪家公司的产品#xff0c;比如#xff1a;数据存储会从Oracle、SqlServer中或者Mysql中选择#xff0c;ETL工具会从Informa…前言
随着大数据技术的普及数据仓库的部署方式也在发生着改变之前在部署数据仓库项目时首先想到的是选择国外哪家公司的产品比如数据存储会从Oracle、SqlServer中或者Mysql中选择ETL工具会从Informatica、DataStage或者Kettle中选择BI报表工具会从IBM cognos、Sap Bo或者帆软中选择基本上使用的产品组合都类似但随着数据量的激增之前的部署方式已经越来越不能满足业务场景例如不同格式的数据存储传出的数据库无法存储而且随着数量的增多数据库的响应速度就会下降并且数据大都是T1的往往从业务需求的提交到BI报表开发都需要一段时间等BI报表开发后数据的时效性大大降低无法为业务的决策及时性提供帮助后来随着hadoop的流行数据仓库慢慢的就演变为以hadoop为基础存储的大数据仓库并解决了传统数仓无法承载激增数据量的问题并且随着计算引擎的迭代更新现在也能实现数据的实时性和事务性本篇就以新起之秀的数据存储方式来展开介绍。 提示以下案例仅供参考
一、paimon是什么
paimon是一种基于LSM形式的数据湖存储格式与hudi、iceberg定位相同都是一种基于对hdfs文件存储管理的技术flink与hudi和iceberg都有做过集成但hudi和iceberg相当于spark的功能更为完善这些数据湖格式也都更偏向于批处理而相对于flink来说提供的功能相较于spark来说没有那么完善虽然flink针对这些方面有做过努力尝试但结果都不太理想于是flink基于前者的有点自己创造一种数据湖存储格式其基于flink table store的基础在结合其他开源数据湖格式的特点加以改进于是一种新的数据湖格式paimon就诞生了本人也是最近才开始尝试这种新的数据湖格式的一些功能下面是基于sql api编写的一个简单的例子。
二、Fink SQL API方式编程
1.创建kafka流标
我这边是以yarn-session的方式执行的所以首先启动的sessioncd $FLINK_HOME执行bin/yarn-session -d -nm test创建一个名称为test的session会话随后执行bin/sql-client -s yarn-session进入sql客户端直接使用默认的catalog和database执行下面的DDL语句就会在default_catalog.default_database下创建一个kafka_table表
create temporary table kafka_table(
distinct_id string,
login_id string,
anonymous_id string,
type string,
event string,
_track_id string,
time string,
_flush_time string,
device_id string,
project_id string,
map_id string,
user_id string,
recv_time string) with(connectorkafka,topicevent_topic,properties.group.idtestgroup,properties.bootstrap.serverscdp1:9092,scan.startup.modelatest-offset,formatjson);2.创建paimon append表
接着执行如下DDL语句
CREATE TABLE paimon_append (
distinct_id string,
login_id string,
anonymous_id string,
type string,
event string,
_track_id string,
time string,
_flush_time string,
device_id string,
project_id string,
map_id string,
user_id string,
recv_time string
) PARTITIONED BY (distinct_id)
WITH (
bucket -1
);3.数据导入
SET ‘execution.checkpointing.interval’ ‘1 min’; INSERT INTO paimon_append SELECT * FROM kafka_table; 总结
以上就是一个消费kafka主题数据并每隔一定的间接直接写入到paimon表中paimon会对小文件数据量达到一定程度后对文件进行压缩合并并且paimon也支持merge into、update、以及schema evolution等功能由于时间有限这里就不仔细展开了有兴趣的朋友可以亲自尝试下版本目标已经更新到0.7为flink的生态状态又增加了一环目前flink cdc 、paimon的加持、能很好的解决lamda架构数据不一致以及kappa架构数据追溯的问题相信随着后续版本的迭代更多强大的功能也会推出。