使用AWS Redshift从AWS MSK中读取数据

Amazon Redshift 流式摄取的目的是简化将流式数据直接从流式服务摄取到 Amazon Redshift 或 Amazon Redshift Serverless 的过程。

官方文档[1]中有详细步骤。用unauthenticated, IAM 的方式均可以进行连接,只不过使用的是不同端口:9092或者9098

1\] [https://docs.amazonaws.cn/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html](https://docs.amazonaws.cn/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html "https://docs.amazonaws.cn/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html") 使用IAM方式: dev=# CREATE EXTERNAL SCHEMA external_schema_name_msk FROM MSK IAM_ROLE default AUTHENTICATION iam URI 'b-3.testtest.6ruea7.c2.kafka.cn-northwest-1.amazonaws.com.cn:9098'; CREATE SCHEMA Time: 309.537 ms dev=# SELECT schemaname, tablename FROM SVV_EXTERNAL_TABLES WHERE schemaname = 'external_schema_name_msk'; schemaname | tablename --------------------------+--------------------- external_schema_name_msk | __amazon_msk_canary external_schema_name_msk | __consumer_offsets external_schema_name_msk | kafka-default-topic (3 rows) dev=# CREATE MATERIALIZED VIEW common_msk_cdp_wecom_tag AUTO REFRESH YES AS SELECT * FROM external_schema_name_msk."kafka-default-topic"; CREATE MATERIALIZED VIEW Time: 667.501 ms dev=# select kafka_timestamp from common_msk_cdp_wecom_tag; kafka_timestamp ----------------- (0 rows) Time: 18.564 ms dev=# refresh MATERIALIZED VIEW common_msk_cdp_wecom_tag; INFO: Materialized view common_msk_cdp_wecom_tag was incrementally updated successfully. Stream returned no new data. REFRESH Time: 1493.006 ms dev=# select kafka_timestamp from common_msk_cdp_wecom_tag; kafka_timestamp ------------------------- 2024-10-12 04:49:19.693 2024-10-12 04:49:20.136 2024-10-12 04:49:20.193 2024-10-12 04:49:20.206 2024-10-12 04:49:20.214 2024-10-12 04:49:20.241 2024-10-12 04:49:20.248 2024-10-12 04:49:20.256 (8 rows) Time: 6141.639 ms 使用Unauthenticated 方式: dev=# CREATE EXTERNAL SCHEMA msktest dev-# FROM MSK dev-# IAM_ROLE 'arn:aws-cn:iam::123456789:role/shiranredshift' dev-# AUTHENTICATION none dev-# CLUSTER_ARN 'arn:aws-cn:kafka:cn-north-1:123456789:cluster/shiranmsk/03260cbd-b23c-442f-a858-8af96e6b90de-2'; CREATE SCHEMA dev=# dev=# dev=# CREATE MATERIALIZED VIEW mskview AUTO REFRESH YES AS dev-# SELECT * dev-# FROM msktest."mirror1"; CREATE MATERIALIZED VIEW dev=# dev=# dev=# select * from mskview; kafka_partition | kafka_offset | kafka_timestamp_type | kafka_timestamp | kafka_key | kafka_value | kafka_head ers | refresh_time -----------------+--------------+----------------------+-----------------+-----------+-------------+----------- ----+-------------- (0 rows) dev=#

相关推荐
草莓熊Lotso30 分钟前
Linux 基础 IO 初步解析:从 C 库函数到系统调用,理解文件操作本质
linux·运维·服务器·c语言·数据库·c++·人工智能
Cx330❀34 分钟前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
岁岁种桃花儿7 小时前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
jiunian_cn8 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
冉冰学姐9 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
知识分享小能手10 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
踩坑小念11 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶11 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql
Wiktok12 小时前
MySQL的常用数据类型
数据库·mysql
曹牧12 小时前
Oracle 表闪回(Flashback Table)
数据库·oracle