返回 ppt-master
pipeline_with_stages.svg
根目录 / skills / ppt-master / templates / charts / pipeline_with_stages.svg
1 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720"
2 font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif"
3 font-size="12">
4 <!--
5 Data/Process Pipeline Chart Template
6 Purpose: Multi-stage sequential pipeline with structured descriptions and outputs
7 Use cases: ETL pipelines, CI/CD flows, approval workflows
8 Supports: 5 stages (optimized for data processing flow)
9 -->
10 <!-- Background -->
11 <rect x="0" y="0" width="1280" height="720" fill="#FFFFFF"/>
12 <!-- ==================== Title Area ==================== -->
13 <g id="header" data-pptx-bounds="30 30 1220 94">
14 <rect x="30" y="30" width="8" height="32" rx="4" fill="#334155"/>
15 <text x="52" y="55" font-size="30" font-weight="800" fill="#0F172A">End-to-End Data Pipeline Architecture</text>
16 <!-- Subtitle Area -->
17 <rect x="30" y="78" width="1220" height="46" rx="8" fill="#F8FAFC"/>
18 <text x="640" y="98" text-anchor="middle" font-size="13" font-weight="800" fill="#1E293B" letter-spacing="0.5">
19 FIVE-STAGE PIPELINE: FROM RAW DATA TO BUSINESS VALUE · EACH STAGE OUTPUT DRIVES THE NEXT
20 </text>
21 <text x="640" y="116" text-anchor="middle" font-weight="600" fill="#64748B">
22 Stage Layout: Step ID + Phase Name + Role + Key Steps + Deliverable
23 </text>
24 </g>
25 <!-- ==================== Left Row Label (Stages) ==================== -->
26 <g id="pipeline-stages-label" data-pptx-bounds="30 150 30 430">
27 <rect x="30" y="150" width="30" height="30" rx="6" fill="#334155"/>
28 <g id="pipeline-stages-label-arrow" data-pptx-authoring="preset" data-pptx-object="shape" data-pptx-prst="rightArrow" data-pptx-frame="36 158 19 14" data-pptx-av-adj1="val 42857" data-pptx-av-adj2="val 57143" fill="#FFFFFF" stroke="none">
29 <path d="M 36 162 L 47 162 L 47 158 L 55 165 L 47 172 L 47 168 L 36 168 Z"/>
30 </g>
31 <text x="45" y="350" text-anchor="middle" font-size="14" font-weight="800" fill="#0F172A" letter-spacing="4" transform="rotate(-90, 45, 350)">PIPELINE STAGES</text>
32 </g>
33 <!-- ==================== Main Pipeline Frame ==================== -->
34 <g id="pipeline" data-pptx-bounds="100 150 1150 430">
35 <rect x="100" y="150" width="1150" height="36" fill="#F8FAFC" rx="8"/>
36 <path d="M 100 176 L 1250 176 L 1250 186 L 100 186 Z" fill="#F8FAFC"/>
37 <rect x="100" y="150" width="1150" height="430" rx="8" fill="none" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="6 4"/>
38 <text x="675" y="173" text-anchor="middle" font-size="13" font-weight="800" fill="#475569" letter-spacing="1">SEQUENTIAL FLOW: RAW → CLEAN → WIDE → ENRICHED → PRODUCTS</text>
39 <!-- ==================== Stage 1: Ingest (Violet) ==================== -->
40 <rect x="120" y="200" width="190" height="360" rx="8" fill="#FFFFFF" stroke="#C4B5FD" stroke-width="1.5"/>
41 <path d="M 120 208 A 8 8 0 0 1 128 200 L 302 200 A 8 8 0 0 1 310 208 L 310 250 L 120 250 Z" fill="#8B5CF6"/>
42 <rect x="132" y="210" width="30" height="30" rx="6" fill="#FFFFFF"/>
43 <text x="147" y="231" text-anchor="middle" font-size="16" font-weight="800" fill="#8B5CF6">01</text>
44 <text x="174" y="231" font-size="18" font-weight="800" fill="#FFFFFF">Ingest</text>
45 <rect x="120" y="250" width="190" height="36" fill="#F5F3FF"/>
46 <text x="215" y="273" text-anchor="middle" font-weight="700" fill="#6D28D9">Multi-source &amp; Real-time</text>
47 <circle cx="140" cy="310" r="3" fill="#8B5CF6"/>
48 <text x="150" y="314" font-size="13" font-weight="700" fill="#1E293B">Data Collection</text>
49 <text x="150" y="332" font-weight="600" fill="#64748B">CDC &amp; File Sync</text>
50 <circle cx="140" cy="360" r="3" fill="#8B5CF6"/>
51 <text x="150" y="364" font-size="13" font-weight="700" fill="#1E293B">Unified Protocol</text>
52 <text x="150" y="382" font-weight="600" fill="#64748B">Queue &amp; Buffer</text>
53 <circle cx="140" cy="410" r="3" fill="#8B5CF6"/>
54 <text x="150" y="414" font-size="13" font-weight="700" fill="#1E293B">Elastic Scaling</text>
55 <text x="150" y="432" font-weight="600" fill="#64748B">Sharding &amp; Parallel</text>
56 <line x1="120" y1="465" x2="310" y2="465" stroke="#E2E8F0" stroke-width="1.5" stroke-dasharray="4 4"/>
57 <rect x="135" y="480" width="160" height="60" rx="6" fill="#F5F3FF" stroke="#DDD6FE" stroke-width="1"/>
58 <text x="215" y="500" text-anchor="middle" font-weight="700" fill="#64748B" letter-spacing="1">STAGE OUTPUT</text>
59 <text x="215" y="525" text-anchor="middle" font-size="15" font-weight="800" fill="#6D28D9">Raw Events</text>
60 <!-- ==================== Stage 2: Validate (Blue) ==================== -->
61 <rect x="350" y="200" width="190" height="360" rx="8" fill="#FFFFFF" stroke="#93C5FD" stroke-width="1.5"/>
62 <path d="M 350 208 A 8 8 0 0 1 358 200 L 532 200 A 8 8 0 0 1 540 208 L 540 250 L 350 250 Z" fill="#3B82F6"/>
63 <rect x="362" y="210" width="30" height="30" rx="6" fill="#FFFFFF"/>
64 <text x="377" y="231" text-anchor="middle" font-size="16" font-weight="800" fill="#3B82F6">02</text>
65 <text x="404" y="231" font-size="18" font-weight="800" fill="#FFFFFF">Validate</text>
66 <rect x="350" y="250" width="190" height="36" fill="#EFF6FF"/>
67 <text x="445" y="273" text-anchor="middle" font-weight="700" fill="#1D4ED8">Isolation &amp; Quality Check</text>
68 <circle cx="370" cy="310" r="3" fill="#3B82F6"/>
69 <text x="380" y="314" font-size="13" font-weight="700" fill="#1E293B">Format &amp; Bounds</text>
70 <text x="380" y="332" font-weight="600" fill="#64748B">Type &amp; Value Range</text>
71 <circle cx="370" cy="360" r="3" fill="#3B82F6"/>
72 <text x="380" y="364" font-size="13" font-weight="700" fill="#1E293B">Business Rules</text>
73 <text x="380" y="382" font-weight="600" fill="#64748B">Uniqueness &amp; Refs</text>
74 <circle cx="370" cy="410" r="3" fill="#3B82F6"/>
75 <text x="380" y="414" font-size="13" font-weight="700" fill="#1E293B">Anomaly Isolation</text>
76 <text x="380" y="432" font-weight="600" fill="#64748B">Dead-letter Queue</text>
77 <line x1="350" y1="465" x2="540" y2="465" stroke="#E2E8F0" stroke-width="1.5" stroke-dasharray="4 4"/>
78 <rect x="365" y="480" width="160" height="60" rx="6" fill="#EFF6FF" stroke="#BFDBFE" stroke-width="1"/>
79 <text x="445" y="500" text-anchor="middle" font-weight="700" fill="#64748B" letter-spacing="1">STAGE OUTPUT</text>
80 <text x="445" y="525" text-anchor="middle" font-size="15" font-weight="800" fill="#1D4ED8">Clean Events</text>
81 <!-- ==================== Stage 3: Transform (Emerald) ==================== -->
82 <rect x="580" y="200" width="190" height="360" rx="8" fill="#FFFFFF" stroke="#6EE7B7" stroke-width="1.5"/>
83 <path d="M 580 208 A 8 8 0 0 1 588 200 L 762 200 A 8 8 0 0 1 770 208 L 770 250 L 580 250 Z" fill="#10B981"/>
84 <rect x="592" y="210" width="30" height="30" rx="6" fill="#FFFFFF"/>
85 <text x="607" y="231" text-anchor="middle" font-size="16" font-weight="800" fill="#10B981">03</text>
86 <text x="634" y="231" font-size="18" font-weight="800" fill="#FFFFFF">Transform</text>
87 <rect x="580" y="250" width="190" height="36" fill="#ECFDF5"/>
88 <text x="675" y="273" text-anchor="middle" font-weight="700" fill="#047857">Structure &amp; Alignment</text>
89 <circle cx="600" cy="310" r="3" fill="#10B981"/>
90 <text x="610" y="314" font-size="13" font-weight="700" fill="#1E293B">Denormalization</text>
91 <text x="610" y="332" font-weight="600" fill="#64748B">Metrics &amp; Grouping</text>
92 <circle cx="600" cy="360" r="3" fill="#10B981"/>
93 <text x="610" y="364" font-size="13" font-weight="700" fill="#1E293B">Derived Metrics</text>
94 <text x="610" y="382" font-weight="600" fill="#64748B">Unified Definitions</text>
95 <circle cx="600" cy="410" r="3" fill="#10B981"/>
96 <text x="610" y="414" font-size="13" font-weight="700" fill="#1E293B">Wide Table Build</text>
97 <text x="610" y="432" font-weight="600" fill="#64748B">Reusable Models</text>
98 <line x1="580" y1="465" x2="770" y2="465" stroke="#E2E8F0" stroke-width="1.5" stroke-dasharray="4 4"/>
99 <rect x="595" y="480" width="160" height="60" rx="6" fill="#ECFDF5" stroke="#A7F3D0" stroke-width="1"/>
100 <text x="675" y="500" text-anchor="middle" font-weight="700" fill="#64748B" letter-spacing="1">STAGE OUTPUT</text>
101 <text x="675" y="525" text-anchor="middle" font-size="15" font-weight="800" fill="#047857">Wide Tables</text>
102 <!-- ==================== Stage 4: Enrich (Amber) ==================== -->
103 <rect x="810" y="200" width="190" height="360" rx="8" fill="#FFFFFF" stroke="#FCD34D" stroke-width="1.5"/>
104 <path d="M 810 208 A 8 8 0 0 1 818 200 L 992 200 A 8 8 0 0 1 1000 208 L 1000 250 L 810 250 Z" fill="#F59E0B"/>
105 <rect x="822" y="210" width="30" height="30" rx="6" fill="#FFFFFF"/>
106 <text x="837" y="231" text-anchor="middle" font-size="16" font-weight="800" fill="#F59E0B">04</text>
107 <text x="864" y="231" font-size="18" font-weight="800" fill="#FFFFFF">Enrich</text>
108 <rect x="810" y="250" width="190" height="36" fill="#FFFBEB"/>
109 <text x="905" y="273" text-anchor="middle" font-weight="700" fill="#B45309">AI Labels &amp; Semantics</text>
110 <circle cx="830" cy="310" r="3" fill="#F59E0B"/>
111 <text x="840" y="314" font-size="13" font-weight="700" fill="#1E293B">AI Inference</text>
112 <text x="840" y="332" font-weight="600" fill="#64748B">Profile &amp; Predict</text>
113 <circle cx="830" cy="360" r="3" fill="#F59E0B"/>
114 <text x="840" y="364" font-size="13" font-weight="700" fill="#1E293B">Knowledge Graph</text>
115 <text x="840" y="382" font-weight="600" fill="#64748B">Entities &amp; Relations</text>
116 <circle cx="830" cy="410" r="3" fill="#F59E0B"/>
117 <text x="840" y="414" font-size="13" font-weight="700" fill="#1E293B">Semantic Tags</text>
118 <text x="840" y="432" font-weight="600" fill="#64748B">Business Ready</text>
119 <line x1="810" y1="465" x2="1000" y2="465" stroke="#E2E8F0" stroke-width="1.5" stroke-dasharray="4 4"/>
120 <rect x="825" y="480" width="160" height="60" rx="6" fill="#FFFBEB" stroke="#FDE68A" stroke-width="1"/>
121 <text x="905" y="500" text-anchor="middle" font-weight="700" fill="#64748B" letter-spacing="1">STAGE OUTPUT</text>
122 <text x="905" y="525" text-anchor="middle" font-size="15" font-weight="800" fill="#B45309">Enriched Set</text>
123 <!-- ==================== Stage 5: Serve (Rose) ==================== -->
124 <rect x="1040" y="200" width="190" height="360" rx="8" fill="#FFFFFF" stroke="#FDA4AF" stroke-width="1.5"/>
125 <path d="M 1040 208 A 8 8 0 0 1 1048 200 L 1222 200 A 8 8 0 0 1 1230 208 L 1230 250 L 1040 250 Z" fill="#F43F5E"/>
126 <rect x="1052" y="210" width="30" height="30" rx="6" fill="#FFFFFF"/>
127 <text x="1067" y="231" text-anchor="middle" font-size="16" font-weight="800" fill="#F43F5E">05</text>
128 <text x="1094" y="231" font-size="18" font-weight="800" fill="#FFFFFF">Serve</text>
129 <rect x="1040" y="250" width="190" height="36" fill="#FFF1F2"/>
130 <text x="1135" y="273" text-anchor="middle" font-weight="700" fill="#BE123C">Services &amp; Access API</text>
131 <circle cx="1060" cy="310" r="3" fill="#F43F5E"/>
132 <text x="1070" y="314" font-size="13" font-weight="700" fill="#1E293B">BI Dashboards</text>
133 <text x="1070" y="332" font-weight="600" fill="#64748B">Visual Decisions</text>
134 <circle cx="1060" cy="360" r="3" fill="#F43F5E"/>
135 <text x="1070" y="364" font-size="13" font-weight="700" fill="#1E293B">Data API</text>
136 <text x="1070" y="382" font-weight="600" fill="#64748B">On-demand Fetch</text>
137 <circle cx="1060" cy="410" r="3" fill="#F43F5E"/>
138 <text x="1070" y="414" font-size="13" font-weight="700" fill="#1E293B">Pub/Sub Events</text>
139 <text x="1070" y="432" font-weight="600" fill="#64748B">Webhook Triggers</text>
140 <line x1="1040" y1="465" x2="1230" y2="465" stroke="#E2E8F0" stroke-width="1.5" stroke-dasharray="4 4"/>
141 <rect x="1055" y="480" width="160" height="60" rx="6" fill="#FFF1F2" stroke="#FECDD3" stroke-width="1"/>
142 <text x="1135" y="500" text-anchor="middle" font-weight="700" fill="#64748B" letter-spacing="1">STAGE OUTPUT</text>
143 <text x="1135" y="525" text-anchor="middle" font-size="15" font-weight="800" fill="#BE123C">Products</text>
144 <!-- ==================== Stage Arrows ==================== -->
145 <g id="stage-arrows" fill="#CBD5E1">
146 <g id="stage-arrow-01-02" data-pptx-authoring="preset" data-pptx-object="shape" data-pptx-prst="rightArrow" data-pptx-frame="315 368 30 24" data-pptx-av-adj1="val 33333" data-pptx-av-adj2="val 70833" fill="#CBD5E1" stroke="none">
147 <path d="M 315 376 L 328 376 L 328 368 L 345 380 L 328 392 L 328 384 L 315 384 Z"/>
148 </g>
149 <g id="stage-arrow-02-03" data-pptx-authoring="preset" data-pptx-object="shape" data-pptx-prst="rightArrow" data-pptx-frame="545 368 30 24" data-pptx-av-adj1="val 33333" data-pptx-av-adj2="val 70833" fill="#CBD5E1" stroke="none">
150 <path d="M 545 376 L 558 376 L 558 368 L 575 380 L 558 392 L 558 384 L 545 384 Z"/>
151 </g>
152 <g id="stage-arrow-03-04" data-pptx-authoring="preset" data-pptx-object="shape" data-pptx-prst="rightArrow" data-pptx-frame="775 368 30 24" data-pptx-av-adj1="val 33333" data-pptx-av-adj2="val 70833" fill="#CBD5E1" stroke="none">
153 <path d="M 775 376 L 788 376 L 788 368 L 805 380 L 788 392 L 788 384 L 775 384 Z"/>
154 </g>
155 <g id="stage-arrow-04-05" data-pptx-authoring="preset" data-pptx-object="shape" data-pptx-prst="rightArrow" data-pptx-frame="1005 368 30 24" data-pptx-av-adj1="val 33333" data-pptx-av-adj2="val 70833" fill="#CBD5E1" stroke="none">
156 <path d="M 1005 376 L 1018 376 L 1018 368 L 1035 380 L 1018 392 L 1018 384 L 1005 384 Z"/>
157 </g>
158 </g>
159 </g>
160 <!-- ==================== Bottom Flow Diagram ==================== -->
161 <g id="end-to-end-label" data-pptx-bounds="30 608 30 112">
162 <rect x="30" y="610" width="30" height="30" rx="6" fill="#334155"/>
163 <g id="end-to-end-label-arrow" data-pptx-authoring="preset" data-pptx-object="shape" data-pptx-prst="rightArrow" data-pptx-frame="36 618 19 14" data-pptx-av-adj1="val 42857" data-pptx-av-adj2="val 57143" fill="#FFFFFF" stroke="none">
164 <path d="M 36 622 L 47 622 L 47 618 L 55 625 L 47 632 L 47 628 L 36 628 Z"/>
165 </g>
166 <text x="45" y="675" text-anchor="middle" font-size="14" font-weight="800" fill="#0F172A" transform="rotate(-90, 45, 675)">END TO END</text>
167 </g>
168 <g id="end-to-end-flow" data-pptx-bounds="100 610 1150 90">
169 <rect x="100" y="610" width="1150" height="90" rx="8" fill="none" stroke="#E2E8F0" stroke-width="2"/>
170 <text x="675" y="632" text-anchor="middle" font-size="13" font-weight="700" fill="#64748B" letter-spacing="0.5">Origin: Raw Data ————— 5-Stage Processing ————— Destination: Business Products</text>
171 <!-- Dashed connect line -->
172 <line x1="120" y1="665" x2="1230" y2="665" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="4 4"/>
173 <!-- Flow Blocks -->
174 <rect x="120" y="645" width="200" height="40" rx="6" fill="#F5F3FF" stroke="#C4B5FD" stroke-width="1.5"/>
175 <text x="220" y="670" text-anchor="middle" font-size="13" font-weight="800" fill="#6D28D9">Origin: Raw Data</text>
176 <rect x="340" y="645" width="160" height="40" rx="6" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1"/>
177 <text x="420" y="670" text-anchor="middle" font-size="13" font-weight="600" fill="#475569">Raw Events</text>
178 <rect x="520" y="645" width="160" height="40" rx="6" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1"/>
179 <text x="600" y="670" text-anchor="middle" font-size="13" font-weight="600" fill="#475569">Clean Events</text>
180 <rect x="700" y="645" width="160" height="40" rx="6" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1"/>
181 <text x="780" y="670" text-anchor="middle" font-size="13" font-weight="600" fill="#475569">Wide Tables</text>
182 <rect x="880" y="645" width="160" height="40" rx="6" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="1"/>
183 <text x="960" y="670" text-anchor="middle" font-size="13" font-weight="600" fill="#475569">Enriched Set</text>
184 <rect x="1060" y="645" width="170" height="40" rx="6" fill="#FFF1F2" stroke="#FDA4AF" stroke-width="1.5"/>
185 <text x="1145" y="670" text-anchor="middle" font-size="13" font-weight="800" fill="#BE123C">Destination: Products</text>
186 </g>
187 </svg>
188
188 lines Plain Text