AWS用Glue讀取S3文件上傳數據到Redshift,再導出到Quicksight完整版,含VPC配置

1. 項目背景

AWS的官方文檔,關于Glue和Vpc配置部分已經比較舊了,按照官方文檔配置的流程始終跑不通,花了一番時間和波折后,才終于完整的跑通了。

在數據分析和商業智能(BI)領域,我們常需要將存儲在 Amazon S3 上的原始數據加載到 Amazon Redshift?Serverless,進行清理和轉換后,再導入 Amazon QuickSight 進行可視化分析。本文將介紹如何使用 AWS Glue 讀取 S3 文件,上傳數據到 Redshift,并導出到 QuickSight,同時解決 VPC 訪問問題

2. 架構流程

  1. 數據存儲:S3 作為數據源,存放 CSV、JSON 或 Parquet 文件。

  2. 數據 ETL:Glue 讀取 S3 數據,轉換格式后上傳到 Redshift。

  3. 數據分析:Redshift 存儲清洗后的數據,提供 SQL 查詢能力。

  4. 可視化展示:QuickSight 連接 Redshift 進行數據分析。

  5. VPC 配置:Redshift 運行在私有子網,需要 VPC 連接讓 Glue 和 QuickSight 訪問它。

? ? AWS整體流程配置順序:

? ? 配置VPC --> 創建 Redshfit 的IAM? --> 創建含Glue讀寫權限的IAM --> 創建Redshift 命名空間?? ? ? ? --> 創建Glue任務? --> Quicksight 創建VPC配置 --> 讀取Redshift

3. 詳細操作步驟

3.1??VPC配置 (最重要的一個環節)?

? 創建VPC: 其他選項按照默認的配置,手動開啟DSN設置。(或者直接使用默認的VPC)

創建子網,互聯網網關,子網和路由按照默認的做配置,之后自己需要再手動配置路由,所有的配置的時候下拉框都選擇剛剛創建的VPC

路由需要加入0.0.0.0/0 igw,才能訪問公網? (如果使用默認VPC,此處需要確認,沒有的話手動加一下)

配置網絡ACL,入站和出站規則:

然后再點擊子網關聯,編輯子網,把創建的子網加入進去

創建一個安全組,把所有流量都配置到源為安全組名稱自己的配置上

終端節點,添加vpce-svc-0704d47ebfd5f32fc,s3,redshift,sts,kms,?secretsmanager,這幾個都必須要,缺一不可。

3.2? 創建 Amazon Redshift Serverless 集群

  1. 登錄 AWS 控制臺,進入 Amazon Redshift Serverless控制面板。

  2. 創建工作組,配置需注意:

  3. Performance and cost controls:選擇基本容量

    • RPU選擇這個地方是大坑,天坑,一定要慎重選擇,默認值是128, 一定要根據自己的數據大小看清楚合適的配置。(一個 RPU 提供 16 GB 內存),如果配置太高,哪怕只是執行簡單一條查詢,每次都按配置的RPU進行搜索計費。
      Amazon Redshift Serverless 的計算容量? ? ?Amazon Redshift Serverless 的計費

    • 網絡和安全:選擇配置的VPC,或者默認VPC,選擇 私有子網

    • 安全組:選擇一個自定義的安全組,記住名稱,這個安全組后面還需要做一些配置

    • 增強型 VPC 路由:打開

    • IAM

  4. 創建表結構:寫sql創建,例如:

    CREATE TABLE zyytest1 (id INT PRIMARY KEY,test_f1 VARCHAR(255),create_time TIMESTAMP
    );

    3.3? 在 S3 上傳數據

    ?在 S3 上傳數據?zyytest1__max__3.json

    [{"id":5, "test_f1": "test_value_6", "create_time": "2025-03-26T10:00:06"},{"id":7, "test_f1": "test_value_7", "create_time": "2025-03-26T10:00:07"},{"id":8, "test_f1": "test_value_8", "create_time": "2025-03-26T10:00:08"}
    ]

    3.4? 配置 AWS Glue 讀取 S3 數據并上傳到 Redshift

    ????????3.4.1??創建 Glue VPC網絡

    ?????????進入 AWS Glue 控制臺,選擇 Connections > Create connection

    ? ? ? ? ? 選擇Network --> next --> 選擇3.1 里搭建的VPC,子網,安全組,保存default_vpc。創建完之后狀態是ready就是正常的。

    ????????3.4.2??創建 Glue 數據連接

    ????????????????進入 AWS Glue 控制臺,選擇 Connections > Create connection。

    ? ? ? ? ? ? ? ? 選擇redshift --> 填寫name:redshift-dev,把剛剛創建的redshift用戶名命名填寫上,保存后顯示Ready,就是正常的可用狀態。

    如果配置完不可用,可以點擊這個Test connection? 來測試連接是否正常

    ????????3.4.3??創建 Glue Visual?

    ? ? ? ? 點Visual ETL,選擇S3,配置路徑后,先查看schema是否正確

    配置完之S3的路徑之后,可以在左下角看到schema

    ?正確的話進行下一步,選擇Redshift,配置數據庫連接,查看數據庫表的schema是否正確。

    ? ? ? ?

    這個IAM記得配置上,就可以看到數據庫的schema,在左下角。

    然后點擊Script,可以看到圖形化的配置生成的Script,并且可以在這個Script上,用python腳本更改配置。

    到這一步就證明VPC和Redshift的數據庫都通了,接下來就可以摸索按照自己的需要,選擇用圖形化的方式配置更合適,或者用腳本的方式更合適了。

    配置完保存之后運行一遍,成功的話,在redshift查詢下是否完整存入,如果缺少數據,需要手動指定schema。

    ????????3.4.4? 如果查詢失敗,再檢查下IAM配置,選擇合適的策略?
    ????????????????
    ????????3.4.5??Job details 檢查配置

    3.5 配置QuickSight?VPC?

    點擊右上角管理Quicksight --> 管理VPC鏈接 --> 添加VPC鏈接,把3.1配置的vpc,子網,安全組附加上去

    3.6?配置 Amazon QuickSight 訪問 Redshift

    找到數據集 --> 新數據集 -->?Redshift手動連接 ,選擇剛剛創建的vpc,配置redshift的數據庫賬號密碼,點擊驗證連接,驗證通過后,創建數據源

    點擊分析,新分析,創建界面化的表格,進行DIY。

    4. 總結

    • AWS Glue 負責從 S3 讀取數據,轉換后寫入 Redshift

    • VPC 配置 解決 Glue 和 QuickSight 無法訪問 Redshift 的問題。

    • QuickSight 連接 Redshift 進行 數據可視化

    通過該流程,我們可以自動化數據管道,實現從 S3 -> Glue -> Redshift -> QuickSight 的完整數據流,為企業 BI 提供高效的數據分析能力! 🚀

    參考鏈接:

    AWS Glue官方文檔

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/bicheng/75232.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75232.shtml
    英文地址,請注明出處:http://en.pswp.cn/bicheng/75232.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    SpringBoot詳細教程(持續更新中...)

    SpringBoot 一、概述 Springboot有哪些特點呢?或者說它跟Spring比有哪些優點呢? 1、起步依賴 通俗的說,就是一個依賴包含了很多個依賴;好處是引入所需的依賴更加簡便,而且有效避免了依賴之間的版本沖突問題&#xf…

    亞馬遜玩具品類技術驅動型選品策略:從趨勢洞察到合規基建

    一、全球玩具電商技術演進趨勢 (技術化重構原市場背景) 數據可視化分析:通過亞馬遜SP-API抓取2023年玩具品類GMV分布熱力圖 監管技術升級: 美國CPSC啟用AI質檢系統(缺陷識別準確率92.7%) 歐盟EPR合規接口…

    spring boot 整合redis

    1.在pom文件中添加spring-boot-starter-data-redis依賴啟動器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.編寫三個實體類 RedisHash("p…

    python 語法篇(一)

    目錄 1 正則匹配注意點11.1 正則匹配字符串寫法1.2 創建re函數&#xff08;1&#xff09;re.search()--搜索第一個匹配項&#xff08;2&#xff09;re.match() - 從字符串開頭匹配&#xff08;3&#xff09;re.findall() - 返回所有匹配項的列表&#xff08;4&#xff09;re.fi…

    深度學習Note.4(機器學習實踐)

    線性回歸 零. 1.paddle庫的一些API paddle.rand(shape,dtype None, name None) *隨機生成符合均勻分布的Tensor paddle.nromal(mean 0.0, std 1.0, shape None, name None) *隨機生成符合正態分布的Tensor *輸入正態分布均值&#xff0c;標準差&#xff0c; 生成結果的…

    UE5學習筆記 FPS游戲制作29 更換武器時更換武器的圖標

    文章目錄 制作物體圖標UI添加獲取武器圖標的方法使用事件分發器&#xff0c;通知UI要換槍定義事件分發器調用事件分發器注冊事件分發器 制作物體圖標UI 在Fpp-UI上添加一個圖片&#xff0c;改名為五weaponIcon&#xff0c;勾選SizeToContent,錨點放在右下角&#xff0c;對齊改…

    RCE(自增、取反、異或)

    自增: 也就是說&#xff0c;a > b&#xff0c;b > c... 所以&#xff0c;我們只要能拿到一個變量&#xff0c;其值為a&#xff0c;通過自增操作即可獲得a-z中所有字符。 無字母數字構造&#xff1a; 所有敏感字符串&#xff08;ASSERT、_POST&#xff09;通過自增動態生…

    從架構角度談談云原生架構

    1、云原生架構起源 隨著云服務商的成熟&#xff0c;客戶面臨著將服務直接使用云平臺的服務部署在云平臺上&#xff0c;或者采用本地和云上混合部署的模式來對外提供服務&#xff0c;從解決方案的角度來說&#xff0c;采用云原生架構的優點有&#xff1a; 可以利用云服務的管理…

    Zcanpro搭配USBCANFD-200U在新能源汽車研發測試中的應用指南(周立功/致遠電子)

    ——國產工具鏈的崛起與智能汽車測試新范式 引言&#xff1a;新能源汽車測試的國產化突圍 隨著新能源汽車智能化、網聯化程度的提升&#xff0c;研發測試面臨三大核心挑戰&#xff1a;多協議融合&#xff08;CAN FD/LIN/以太網&#xff09;、高實時性數據交互需求、復雜工況下…

    【Verilog】實驗十 帶倒計時交通燈控制電路設計

    目錄 一、實驗目的 二、實驗環境 三、實驗任務 四、實驗原理與實驗步驟 1. 實驗原理 2. 實驗步驟 五、實驗思考 代碼 TOP.v trafic2_2.v shumaguan.v clk_div.v 一、實驗目的 1. 掌握同步有限狀態機的設計方法。 2. 采用狀態機的設計方法&#xff0c;設計實現帶倒…

    Linux : System V 共享內存

    目錄 一 前言 二 共享內存概念 三 共享內存創建 四 查看共享內存 五 共享內存的刪除 六 共享內存的關聯 七 共享內存去關聯 八 共享內存的使用&#xff08;通信&#xff09; 九 共享內存的特點 一 前言 共享內存區是最快的IPC形式&#xff08;進程間通信&#xff1…

    Spring Cloud 2023.x安全升級:OAuth2.1與JWT動態輪換實戰

    引言&#xff1a;當安全遇上云原生&#xff0c;零停機密鑰輪換成為剛需 在微服務架構中&#xff0c;OAuth2.1與JWT已成為身份驗證的黃金標準&#xff0c;但傳統方案存在兩大痛點&#xff1a; 密鑰輪換風險&#xff1a;手動替換JWT密鑰需重啟服務&#xff0c;導致短暫鑒權中斷&…

    創建私人阿里云docker鏡像倉庫

    一.登錄阿里云 https://cr.console.aliyun.com/cn-hangzhou/instances 二.創建個人實例 【實例列表】 》【創建個人實例】 》【設置Registry登錄密碼】 三.創建命名空間 步驟&#xff1a;【個人實例】》【命名空間】》【創建命名空間】 注:一個賬號最多可以創建3個命名空…

    oracle基礎知識視圖的定義和應用

    1.1 視圖的定義 視圖(View)是數據庫中非常重要的內容&#xff0c;在實際開發中必須學會視圖的編寫。 用于產生視圖的表叫做該視圖的基表。一個視圖也可以從另一個視圖中產生。視圖是可以嵌套的。 視圖的定義存在數據庫中&#xff0c;與此定義相關的數據并沒有再存一份于數據庫中…

    邊緣計算:工業自動化的智能新引擎

    在工業4.0的浪潮中&#xff0c;工業自動化正經歷著前所未有的變革。隨著物聯網&#xff08;IoT&#xff09;技術的普及&#xff0c;越來越多的工業設備被連接到網絡中&#xff0c;產生了海量的數據。然而&#xff0c;傳統的云計算架構在處理這些實時性要求極高的工業數據時&…

    12-SpringBoot3入門-項目打包和運行

    1、打包 1&#xff09;打包插件 pom.xml <!--SpringBoot應用打包插件--> <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plu…

    【PCIE711-214】基于PCIe總線架構的4路HD-SDI/3G-SDI視頻圖像模擬源

    產品概述 PCIE711-214是一款基于PCIE總線架構的4路SDI視頻模擬源。該板卡為標準的PCIE插卡&#xff0c;全高尺寸&#xff0c;適合與PCIE總線的工控機或者服務器&#xff0c;板載協議處理器&#xff0c;可以通過PCIE總線將上位機的YUV 422格式視頻數據下發通過SDI接口播放出去&…

    PipeWire 音頻設計與實現分析一——介紹

    PipeWire 是一個基于圖的媒體處理引擎&#xff0c;一個可以運行多媒體節點圖的媒體服務器&#xff0c;是 Linux 的音頻/視頻總線&#xff0c;它管理 Linux 系統中&#xff0c;不同應用程序對音頻和視頻設備的共享訪問。它提供了一個本地客戶端音頻 API&#xff0c;但也提供兼容…

    使用卷積神經網絡識別MNIST數據集

    卷積神經網絡 卷積神經網絡本質是共享權重稀疏鏈接的全連接網絡 編寫步驟 構建一個神經網絡&#xff0c;步驟是幾乎不變的&#xff0c;大概有以下幾步 準備數據集 #更高級的CNN網絡 import torch import torch.nn as nn import torch.nn.functional as F import torchvisi…

    力扣125.驗證回文串

    如果在將所有大寫字符轉換為小寫字符、并移除所有非字母數字字符之后&#xff0c;短語正著讀和反著讀都一樣。則可以認為該短語是一個 回文串 。 字母和數字都屬于字母數字字符。 給你一個字符串 s&#xff0c;如果它是 回文串 &#xff0c;返回 true &#xff1b;否則&#…