使用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=#

相关推荐
睡觉的时候不会困5 小时前
Redis 主从复制详解:原理、配置与主从切换实战
数据库·redis·bootstrap
AKAMAI6 小时前
Queue-it 为数十亿用户增强在线体验
人工智能·云原生·云计算
程序员的世界你不懂7 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
自学也学好编程7 小时前
【数据库】Redis详解:内存数据库与缓存之王
数据库·redis
JAVA不会写7 小时前
在Mybatis plus中如何使用自定义Sql
数据库·sql
IT 小阿姨(数据库)7 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
ChinaRainbowSea8 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
小马学嵌入式~9 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
Java小白程序员9 小时前
MyBatis基础到高级实践:全方位指南(中)
数据库·mybatis
Monly219 小时前
人大金仓:merge sql error, dbType null, druid-1.2.20
数据库·sql