之前的文章有介绍过怎么在Kubernetes上快速搭建大数据基础环境,这里就不重复介绍了。安装完后,可以看到如下图各个基础服务都启动完成。
Amoro是一个开源的数据湖管理系统。在安装Amoro之前,需要选择要安装的服务和节点,并准备好MySQL数据库。 选择安装服务
修改初始化配置,需要填写mysql信息,数据库得提前自行准备好
安装成功
可以用在Kubernetes集群上看到对应的pod
为了使用Iceberg,需要在HDFS上创建Iceberg的数据目录。
在Amoro中,您可以托管Iceberg表,实现数据湖表的管理和自优化。
配置catalog托管Iceberg。 这里需要上传cloudeon安装的hdfs服务的core-site.xml和hdfs-site.xml文件。
也可以看到在YARN上看到Flink作业正在运行了
使用Flink SQL,可以生成流式数据并将其写入Iceberg表。
standalone集群启动成功后,启动sql-client。
shell sql-client.sh
打开后,输入脚本测试。 sql CREATE CATALOG iceberg_catalog WITH ( 'type'='iceberg', 'catalog-type'='hadoop', 'warehouse'='hdfs:///iceberg/warehouse' ); CREATE TABLE datagen_v1 ( id INT, user_id INT, city STRING, cost double, order_time TIMESTAMP ) WITH ( 'connector' = 'datagen', 'rows-per-second'='5', 'fields.id.kind'='sequence', 'fields.id.start'='1', 'fields.id.end'='1000', 'fields.cost.min'='1', 'fields.cost.max'='1000', 'fields.city.length'='10' ); CREATE TABLE `iceberg_catalog`.`default`.`order` ( id BIGINT COMMENT 'unique id', user_id BIGINT, city STRING, cost DOUBLE, order_time TIMESTAMP, PRIMARY KEY (id) NOT ENFORCED ) WITH ( 'format-version'='2', 'write.upsert.enabled'='true', 'write.metadata.metrics.default'='full' ); SET execution.checkpointing.interval = '30s'; insert into `iceberg_catalog`.`default`.`order` select * from datagen_v1;
Spark也可以用于写入数据到Iceberg表。
连接Spark-thriftserver的对外暴露的端口,使用DBeaver连接后进行操作
sql set `spark.sql.iceberg.handle-timestamp-without-timezone`=`true` ; insert into `default`.`order` values(9990,1,'beijing',200,timestamp("2023-09-01 12:31:00")),(9991,2,'shanghai',322,timestamp("2023-09-01 12:32:00")),(9992,3,'beijing',100,timestamp("2023-09-01 12:33:00")); select * from `default`.`order` WHERE id >9000; UPDATE `default`.`order` set cost= cost+1000 WHERE id >9000;
sql set `spark.sql.iceberg.handle-timestamp-without-timezone`=`true` ; select * from `default`.`order`;
Amoro的web终端内置使用的是Sparksql,用的是local模式。
Amoro也支持web终端对接kyuubi,后面可以试试。
通过使用CloudEon、Iceberg、Flink、Spark和Amoro,您可以轻松地在Kubernetes上构建一个强大的大数据基础环境。这个环境不仅支持流式数据生成和处理还有批处理,还能借助Amoro实现数据湖表的自动优化性能,为大数据应用提供了可靠的基础设施。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。