در این مطلب، ویدئو خطوط لوله جریان پایتون با پرتو در فلینک – توماس وایز و آلجوشا کرتک با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:40:17
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:03,340
[موسیقی]
2
00:00:08,980 –> 00:00:12,019
کلمه سریع قبل از شروع، بنابراین اسلایدها
3
00:00:12,019 –> 00:00:19,550
بالا نمی روند، آیا کسی می تواند خوب
4
00:00:19,550 –> 00:00:22,400
باشد، بنابراین اسلایدها در آن لینک در دسترس هستند
5
00:00:22,400 –> 00:00:24,640
به طوری که در بنزین org شروع استریم پرسیده می شود
6
00:00:24,640 –> 00:00:28,430
– پرتو مرگ پایتون
7
00:00:28,430 –> 00:00:32,780
– چشمک زدن ممکن است برخی فنی باشد
8
00:00:32,780 –> 00:00:34,520
جزئیاتی که ما از آنها عبور میکنیم اما در اسلایدها وجود دارد،
9
00:00:34,520 –> 00:00:36,500
بنابراین اگر
10
00:00:36,500 –> 00:00:40,840
میخواهید اسلایدها را بررسی کنید، میتوانید به آن پیوند بروید،
11
00:00:41,140 –> 00:00:43,280
همچنین این مشکلی ندارد،
12
00:00:43,280 –> 00:00:46,579
بنابراین امروز ما به سرعت در مورد
13
00:00:46,579 –> 00:00:48,650
اینکه پرتو چیست و پس هدف
14
00:00:48,650 –> 00:00:52,490
این قابلیت حمل چیست صحبت خواهیم کرد. api این است که چگونه
15
00:00:52,490 –> 00:00:56,510
از آنها برای اجرای قطرههای پایتون یا
16
00:00:56,510 –> 00:00:59,780
فلینک استفاده میکنیم و سپس چشمانداز کوتاهی
17
00:00:59,780 –> 00:01:01,910
خواهیم داشت که
18
00:01:01,910 –> 00:01:07,939
با مشکلی که با آن
19
00:01:07,939 –> 00:01:10,490
روبرو هستیم و سعی داریم با
20
00:01:10,490 –> 00:01:11,780
این کار همراه با بسیاری از
21
00:01:11,780 –> 00:01:13,999
مشارکتکنندگان دیگر در پروژه پرتو این است
22
00:01:13,999 –> 00:01:17,240
که بسیاری از پروژهها در این
23
00:01:17,240 –> 00:01:18,889
اکوسیستم کلان داده مبتنی بر درایور هستند، بنابراین
24
00:01:18,889 –> 00:01:22,329
باید از جاوا برای نوشتن خطوط لوله خود استفاده کنید،
25
00:01:22,329 –> 00:01:26,719
اما بسیاری از جوامع دیگر توسعهدهندگان
26
00:01:26,719 –> 00:01:28,609
دوست دارند از زبانهای مختلف استفاده کنند.
27
00:01:28,609 –> 00:01:30,020
به عنوان مثال، افرادی که از یادگیری ماشین استفاده می کنند،
28
00:01:30,020 –> 00:01:31,459
دوست دارند از پایتون استفاده کنند، زیرا همه
29
00:01:31,459 –> 00:01:34,369
این کتابخانه های یادگیری ماشین پایتون زیبا
30
00:01:34,369 –> 00:01:40,579
مانند Syfy را دارد و
31
00:01:40,579 –> 00:01:43,249
32
00:01:43,249 –> 00:01:46,549
اگر نمی توانید از پایتون برای نوشتن
33
00:01:46,549 –> 00:01:48,590
خط لوله های پردازش جریان یا
34
00:01:48,590 –> 00:01:52,969
خط لوله های پردازش دسته ای استفاده کنید، موانع ورودی برای آن تیم ها بسیار زیاد است.
35
00:01:52,969 –> 00:01:57,889
با این تا حدودی خنده دار است زیرا من
36
00:01:57,889 –> 00:02:00,109
در فصل بهار سال گذشته یک سخنرانی به
37
00:02:00,109 –> 00:02:03,619
نام Talk Python با من داشتم که
38
00:02:03,619 –> 00:02:05,450
اسلاید عنوان بسیار مشابهی داشت،
39
00:02:05,450 –> 00:02:07,579
فقط رویای صنعتگر داده است که
40
00:02:07,579 –> 00:02:11,660
آبی زیبا و بیشتر محتوای
41
00:02:11,660 –> 00:02:13,430
جزئیات فنی است. در واقع یکسان است،
42
00:02:13,430 –> 00:02:15,020
اما در آن زمان ما یک
43
00:02:15,020 –> 00:02:17,150
نسخه آزمایشی فعال نداشتیم، اما امروز در واقع
44
00:02:17,150 –> 00:02:21,140
یک نسخه آزمایشی داریم که میتوانیم آن را نشان دهیم و کار را نشان
45
00:02:21,140 –> 00:02:22,130
دهیم
46
00:02:22,130 –> 00:02:25,280
و این کار از سال 2016 شروع
47
00:02:25,280 –> 00:02:27,830
شد، یک Python SDK برای جریان دادهها در دسترس بود،
48
00:02:27,830 –> 00:02:30,350
بنابراین جریان ورودی سرویس مدیریت شده توسط
49
00:02:30,350 –> 00:02:31,880
گوگل است که می توانید خطوط لوله پرتو را روی آن اجرا کنید
50
00:02:31,880 –> 00:02:36,620
و در این گفتگو بیشتر
51
00:02:36,620 –> 00:02:38,750
در مورد پایتون صحبت می کنیم اما تقریباً همیشه
52
00:02:38,750 –> 00:02:40,820
وقتی می گوییم پایتون می توانید وارد کنید
53
00:02:40,820 –> 00:02:43,190
به این دلیل که روی اضافه کردن
54
00:02:43,190 –> 00:02:45,640
پشتیبانی برای اجرای خطوط لوله go در
55
00:02:45,640 –> 00:02:49,970
پرتو از طریق این API قابل حمل نیز کار میشود، اما در اینجا
56
00:02:49,970 –> 00:02:55,430
بیشتر میگوییم پایتون، بنابراین اکنون به سرعت
57
00:02:55,430 –> 00:02:57,530
ممکن است برخی از افراد قبلاً بدانند پرتو چیست،
58
00:02:57,530 –> 00:02:59,690
اما من میخواهم خلاصه کنم تا همه
59
00:02:59,690 –> 00:03:06,890
در پرتو صفحه یکسان باشند. اگر بخواهید یک مدل یکپارچه
60
00:03:06,890 –> 00:03:11,150
برای توصیف
61
00:03:11,150 –> 00:03:15,770
خطوط لوله پردازش دسته ای و جریانی است و همراه
62
00:03:15,770 –> 00:03:17,750
با این مدل که SDK هایی به
63
00:03:17,750 –> 00:03:19,430
زبان های مختلف ارائه می شود که می توانید از آنها برای
64
00:03:19,430 –> 00:03:20,990
نوشتن این خط
65
00:03:20,990 –> 00:03:22,970
لوله استفاده کنید تا توابع تعریف شده توسط کاربر را بنویسید تا آنها را
66
00:03:22,970 –> 00:03:27,110
به هم متصل کنید.
67
00:03:27,110 –> 00:03:28,730
اجرای آن خطوط لوله، بنابراین یک
68
00:03:28,730 –> 00:03:30,230
Flink Runer برای اجرای
69
00:03:30,230 –> 00:03:31,940
خطوط لوله پرتو و پرتاب وجود دارد، یک اجرا کننده جریان داده خوب وجود دارد
70
00:03:31,940 –> 00:03:35,810
و مجموعه ای از اتصال دهنده های i/o
71
00:03:35,810 –> 00:03:37,940
برای خواندن داده ها از برخی
72
00:03:37,940 –> 00:03:39,860
منابع مانند Kafka یا Kinesis
73
00:03:39,860 –> 00:03:46,810
و نوشتن آن به عنوان BigTable و
74
00:03:46,810 –> 00:03:51,080
تقسیم است. برای پرتو از همان
75
00:03:51,080 –> 00:03:55,340
ابتدا این است که ما این مدل یکپارچه را داریم
76
00:03:55,340 –> 00:03:57,290
که توصیف می کند خطوط لوله چگونه به نظر می
77
00:03:57,290 –> 00:04:00,560
رسند اما کاربران باید بتوانند
78
00:04:00,560 –> 00:04:03,920
این خطوط لوله را در زبانهای مختلف
79
00:04:03,920 –> 00:04:05,930
و همه آنها برای نوشتن برای
80
00:04:05,930 –> 00:04:09,260
ساخت خطوط لوله برای آن مدل استفاده میشوند، سپس
81
00:04:09,260 –> 00:04:13,940
اجراکنندههای مختلفی وجود خواهند داشت، همانطور
82
00:04:13,940 –> 00:04:15,620
که اشاره کردم جرقه جریان دادههای flink و
83
00:04:15,620 –> 00:04:20,209
غیره و آنها از مقداری انتزاع API برای
84
00:04:20,209 –> 00:04:22,820
اجرای آن توابع کاربر که به زبانهای مختلف نوشته شدهاند استفاده
85
00:04:22,820 –> 00:04:25,540
میکنند
86
00:04:26,360 –> 00:04:29,000
[Music] ]
87
00:04:29,000 –> 00:04:33,170
مدل پرتو این است که شما
88
00:04:33,170 –> 00:04:35,630
اساساً یک نمودار از عملیات می سازید، بنابراین این
89
00:04:35,630 –> 00:04:38,120
می تواند منابع باشد، این می تواند در
90
00:04:38,120 –> 00:04:41,390
بین شما عملیات داشته باشد، به
91
00:04:41,390 –> 00:04:42,710
طوری که برای مثال مانند یک تابع نقشه باشد
92
00:04:42,710 –> 00:04:45,880
که ما آنها را فرم های حامی و آن
93
00:04:45,880 –> 00:04:48,860
فلش ها می نامیم تا چیزهایی که داده ها را نشان می دهند.
94
00:04:48,860 –> 00:04:51,830
که در تلنگر به آن جریان داده یا
95
00:04:51,830 –> 00:04:56,980
مجموعه داده می گوییم مجموعه P در
96
00:04:59,230 –> 00:05:05,030
پرتو یا در پرتو می گویند وقتی خطوط لوله را می نویسید
97
00:05:05,030 –> 00:05:08,870
نگرانی ها از هم جدا می شود اگر بخواهید
98
00:05:08,870 –> 00:05:14,390
در مورد قسمت های مختلف یا
99
00:05:14,390 –> 00:05:16,880
کلمات متفاوتی که در مورد آنها فکر می کنید بنابراین
100
00:05:16,880 –> 00:05:18,950
این سؤال وجود دارد که چه باید کرد.
101
00:05:18,950 –> 00:05:22,070
محاسبه شود که در آن زمان رویداد باید
102
00:05:22,070 –> 00:05:24,440
محاسبه شود که نتایج چه زمانی باید
103
00:05:24,440 –> 00:05:27,140
تولید شوند و اصلاحات چگونه به هم مرتبط هستند،
104
00:05:27,140 –> 00:05:29,620
بنابراین ما به سرعت از طریق ho عبور خواهیم کرد
105
00:05:29,620 –> 00:05:32,930
این در عمل به چه معناست، بنابراین اینجا
106
00:05:32,930 –> 00:05:35,630
در بالا من همیشه کد جاوا را
107
00:05:35,630 –> 00:05:36,980
دارم و باید کد پایتون را چه کنم، بنابراین برای
108
00:05:36,980 –> 00:05:38,740
این بحث شاید کد پایتون جالب تر باشد،
109
00:05:38,740 –> 00:05:42,440
اما آنچه در اینجا داریم
110
00:05:42,440 –> 00:05:44,330
این است که ورودی داریم که یک
111
00:05:44,330 –> 00:05:46,940
مجموعه p سپس این پوسته را مانند لوله انجام می دهیم
112
00:05:46,940 –> 00:05:51,620
و یک تبدیل p اعمال می کنیم که
113
00:05:51,620 –> 00:05:55,340
تعدادی اعداد صحیح برای کلیدها می گوید، بنابراین
114
00:05:55,340 –> 00:05:58,190
مقداری کلید رشته و اعداد صحیح داریم و می
115
00:05:58,190 –> 00:06:00,410
خواهیم همه آن ها را با
116
00:06:00,410 –> 00:06:03,320
همان کلید رشته ای جمع کنیم، بنابراین این همان چیزی است که می خواهیم انجام
117
00:06:03,320 –> 00:06:09,050
دهیم. محاسبه پس این فقط می گوید که چگونه
118
00:06:09,050 –> 00:06:10,880
همه داده هایی را که در اختیار داریم محاسبه می کنیم،
119
00:06:10,880 –> 00:06:12,440
زمان رویداد یا زمان پردازش را در نظر نمی گیریم.
120
00:06:12,440 –> 00:06:16,490
سؤال بعدی این است که در کجا در
121
00:06:16,490 –> 00:06:19,850
زمان رویداد می خواهیم این نتایج را محاسبه کنیم،
122
00:06:19,850 –> 00:06:22,700
بنابراین این همان چیزی است که در فلینت به طور سنتی به
123
00:06:22,700 –> 00:06:24,230
آن پرتو پنجره می گوییم. همچنین آن را windowing می نامد،
124
00:06:24,230 –> 00:06:26,570
بنابراین ما اکنون می گوییم که به
125
00:06:26,570 –> 00:06:29,419
جای محاسبه مجموع این اعداد صحیح
126
00:06:29,419 –> 00:06:32,270
در هر کلید روی هر چیزی که می گوییم، می خواهیم
127
00:06:32,270 –> 00:06:34,880
فضای زمانی رویداد خود را به ویندوز تقسیم کنیم
128
00:06:34,880 –> 00:06:37,280
و بنابراین می گوییم می خواهیم
129
00:06:37,280 –> 00:06:40,510
آن را در پنجره های ثابت مثلاً 2 minu رندر کنیم.
130
00:06:40,510 –> 00:06:42,440
بنابراین، با این کار،
131
00:06:42,440 –> 00:06:47,420
نتایج را برای این دو پنجره، این پنجرههای دو دقیقهای محاسبه میکنیم،
132
00:06:47,420 –> 00:06:50,660
133
00:06:50,660 –> 00:06:54,190
سؤال بعدی این است که واقعاً چه زمانی میخواهیم
134
00:06:54,190 –> 00:06:58,940
آن دادهها را دریافت کنیم، بنابراین وقتی فقط میگوید
135
00:06:58,940 –> 00:07:01,580
به زمان رسیدهایم میخواهیم دادهها را تقسیم کنیم، اما چه زمانی میخواهیم دادهها را تقسیم کنیم.
136
00:07:01,580 –> 00:07:04,400
ما
137
00:07:04,400 –> 00:07:06,710
راه اندازی را می نامیم و اینجا و پرتو را نیز
138
00:07:06,710 –> 00:07:08,630
ریگ می نامند، بنابراین در اینجا می گوییم که می خواهیم با
139
00:07:08,630 –> 00:07:10,340
دریافت واترمارک آن نتایج را به دست آوریم،
140
00:07:10,340 –> 00:07:12,080
واترمارک خشمگین است
141
00:07:12,080 –> 00:07:15,530
که به ما می گوید در محدوده معقول
142
00:07:15,530 –> 00:07:18,020
آیا ما تمام داده ها را تا یک زمان مشخص دیده ایم یا خیر.
143
00:07:18,020 –> 00:07:22,160
با این
144
00:07:22,160 –> 00:07:24,860
محاسبه ما این است که کاری را که انجام میدهیم
145
00:07:24,860 –> 00:07:27,080
آن را بر اساس زمان رویداد تقسیم میکنیم و سپس با
146
00:07:27,080 –> 00:07:30,140
راهاندازی واترمارک میگوییم چه زمانی میخواهیم
147
00:07:30,140 –> 00:07:32,990
دادهها را دریافت کنیم، بنابراین این
148
00:07:32,990 –> 00:07:34,880
خط سبز در اینجا واترمارک است، بنابراین وقتی
149
00:07:34,880 –> 00:07:37,670
به زمان پردازش رسید، نتایج خود را دریافت میکنیم.
150
00:07:37,670 –> 00:07:39,350
و اینکه 9 تا در اینجا
151
00:07:39,350 –> 00:07:44,180
برای علاقه مندان یک رویداد دیرهنگام خواهد بود،
152
00:07:44,180 –> 00:07:49,370
نکته آخر این است که این تا حدودی مشکل
153
00:07:49,370 –> 00:07:53,510
است، اساساً می گوید اگر چندین
154
00:07:53,510 –> 00:07:56,060
شلیک داشته باشیم، مثلاً اگر بخواهیم در
155
00:07:56,060 –> 00:07:57,500
هنگام لیوان آب نتیجه داشته باشیم. می رسد اما
156
00:07:57,500 –> 00:07:59,630
پس از آن ممکن است در نظر بگیریم که می خواهیم
157
00:07:59,630 –> 00:08:01,880
رویدادهای دیرهنگام را نیز در نظر بگیریم
158
00:08:01,880 –> 00:08:03,920
تا آنها را در محاسبات لحاظ کنیم، سپس
159
00:08:03,920 –> 00:08:06,110
باید بگوییم آن شلیک های مختلف
160
00:08:06,110 –> 00:08:08,420
برای شلیک های مختلف ماشه چگونه ارتباط دارند
161
00:08:08,420 –> 00:08:12,410
و این کار را با گفتن اینکه می خواهیم
162
00:08:12,410 –> 00:08:16,340
آن نتایج را جمع آوری کنیم انجام می دهیم. اگر
163
00:08:16,340 –> 00:08:18,440
بخواهیم مدام به آن مجموع اضافه کنیم یا وقتی
164
00:08:18,440 –> 00:08:20,300
یک بار شلیک می کنیم باید آن را
165
00:08:20,300 –> 00:08:22,520
دور بیندازیم تا هواپیماهای آتش نشانی
166
00:08:22,520 –> 00:08:26,300
را دور بیندازیم و هر شلیک از آخرین شلیک در واقع مجموع خواهد بود،
167
00:08:26,300 –> 00:08:29,540
بنابراین با
168
00:08:29,540 –> 00:08:31,940
این کار اکنون می بینیم که شلیک
169
00:08:31,940 –> 00:08:34,250
هایی داریم که اوایل یا به موقع هستند و برای این
170
00:08:34,250 –> 00:08:36,530
9 تا آنجا، ما یک شلیک دیرهنگام
171
00:08:36,530 –> 00:08:38,330
داریم و نتایج جمع آوری شده است، بنابراین 14 است
172
00:08:38,330 –> 00:08:45,170
و نه فقط نه در پایان، می خواهم به
173
00:08:45,170 –> 00:08:49,030
سرعت نشان دهم که یک خط لوله کامل در
174
00:08:49,030 –> 00:08:52,070
کد پرتو فوتونیک چگونه به نظر می رسد تا
175
00:08:52,070 –> 00:08:55,090
مردم بدانند ممکن است پایتون
176
00:08:55,090 –> 00:08:58,660
این ساختار لوله را کمی عجیب بداند زیرا
177
00:08:58,660 –> 00:09:02,470
واقعاً پایتونیک نیست، اما
178
00:09:02,470 –> 00:09:05,500
افرادی که پرتوهای زیادی
179
00:09:05,500 –> 00:09:06,640
تکرارهای مختلف انجام دادند چیزهای مختلفی را امتحان کردند
180
00:09:06,640 –> 00:09:09,250
و در پایان این کاراکتر لوله مانند پوسته
181
00:09:09,250 –> 00:09:10,710
er معقولترین کار به نظر میرسید
182
00:09:10,710 –> 00:09:13,810
و در اینجا کاری که
183
00:09:13,810 –> 00:09:16,330
انجام میدهیم این است که از منبعی میخوانیم، آن را پنجره
184
00:09:16,330 –> 00:09:19,830
میزنیم، چیزی را ترسیم میکنیم، سپس هر کلید را خلاصه
185
00:09:19,830 –> 00:09:22,120
میکنیم و آن را به قالبی که میخواهیم در نانوایی بنویسیم نگاشت میکنیم
186
00:09:22,120 –> 00:09:24,820
و سپس آن را مینویسیم. به
187
00:09:24,820 –> 00:09:30,670
bigquery فقط به سرعت اشاره کرد که چه خامی
188
00:09:30,670 –> 00:09:32,560
وجود دارد، بنابراین اخیراً آنها
189
00:09:32,560 –> 00:09:35,140
تعداد زیادی دونده پیدا کردهاند، بنابراین بدیهی است
190
00:09:35,140 –> 00:09:37,660
که دوندههای آشکار میتوانند جریان داده باشند،
191
00:09:37,660 –> 00:09:39,700
بنابراین این در Google منشأ گرفت
192
00:09:39,700 –> 00:09:40,930
و Google deliver runner اولین دونده
193
00:09:40,930 –> 00:09:41,350
194
00:09:41,350 –> 00:09:43,150
بود پیوند Hachette یکی از اولین موارد باز بود.
195
00:09:43,150 –> 00:09:45,760
دونده های منبع و احتمالاً من فکر می کنم
196
00:09:45,760 –> 00:09:47,440
توماس ماتریس سازگاری دارد
197
00:09:47,440 –> 00:09:50,650
بعداً این یکی از ویژگی های
198
00:09:50,650 –> 00:09:57,990
کامل ترین رانرها است، می توانم بگویم که
199
00:09:57,990 –> 00:09:59,650
در ابتدا در مورد این موضوع صحبت کردم در
200
00:09:59,650 –> 00:10:02,530
حال حاضر ما این انتزاع مدل پرتو زیبا را
201
00:10:02,530 –> 00:10:05,440
داریم که در تئوری می توانیم از
202
00:10:05,440 –> 00:10:06,640
جاوا برای آن استفاده کنیم. این مورد
203
00:10:06,640 –> 00:10:09,339
اصلی در پرتو بود، اما من اخیرا وارد شدم، شما
204
00:10:09,339 –> 00:10:11,740
واقعاً نمیتوانید خطوط لوله پایتون را
205
00:10:11,740 –> 00:10:13,060
در حال اجرا اجرا کنید، در عوض آنها در JVM نوشته شدهاند،
206
00:10:13,060 –> 00:10:15,490
بنابراین نمیتوانید برای مثال از
207
00:10:15,490 –> 00:10:17,100
tensorflow
208
00:10:17,100 –> 00:10:22,900
برای کار با آن استفاده کنید. خطوط لوله پرتو و شما
209
00:10:22,900 –> 00:10:24,820
نمی توانید به عنوان مثال کانکتورهایی
210
00:10:24,820 –> 00:10:26,740
که جاوا نوشته شده اند را با یک رابط
211
00:10:26,740 –> 00:10:30,180
نوشته شده در پایتون و که
212
00:10:30,180 –> 00:10:33,790
دید واقعی پرتو است ترکیب کنید و اکنون ما
213
00:10:33,790 –> 00:10:35,560
کاملاً به آن چشم انداز نزدیک شده ایم و توماس می
214
00:10:35,560 –> 00:10:38,860
خواهد در مورد نحوه پیاده سازی آن چشم انداز صحبت کند.
215
00:10:38,860 –> 00:10:40,060
تقسیم بندی اجرای
216
00:10:40,060 –> 00:10:41,440
چندین زبان روی دونده های مختلف،
217
00:10:41,440 –> 00:10:46,030
بله از نمایش شما متشکرم، بنابراین بیایید
218
00:10:46,030 –> 00:10:50,860
به بخش قابل حمل بودن در خلاصه تصویری
219
00:10:50,860 –> 00:10:53,320
بپردازیم آنچه که ما در تلاش برای رسیدن به آن هستیم
220
00:10:53,320 –> 00:10:56,680
تا تبدیل ها را بتوان به چند
221
00:10:56,680 –> 00:10:59,980
زبان نوشت زیرا تیم پرونده همانطور که گفتید SDK دارد.
222
00:10:59,980 –> 00:11:03,790
برای Java Python go و ممکن
223
00:11:03,790 –> 00:11:06,520
است در آینده موارد دیگری وجود داشته باشد، ما به روشی برای اجرا نیاز داریم
224
00:11:06,520 –> 00:11:08,410
225
00:11:08,410 –> 00:11:11,920
، کدی است که به زبان
226
00:11:11,920 –> 00:11:17,310
انتخابی روی هر runner نوشته شده باشد، برای آن ما به یک نمایش
227
00:11:17,310 –> 00:11:19,600
خط لوله قابل حمل نیاز داریم
228
00:11:19,600 –> 00:11:21,759
که هر دونده بتواند
229
00:11:21,759 –> 00:11:24,279
آن را بفهمد و رانر باید داشته باشد.
230
00:11:24,279 –> 00:11:27,879
روشی برای اجرای کد پایتون،
231
00:11:27,879 –> 00:11:29,980
فرض کنید فلینک است، این یک رانر جاوا است،
232
00:11:29,980 –> 00:11:31,480
باید راهی برای اجرای
233
00:11:31,480 –> 00:11:35,680
کد پایتون به روشی داشته باشد که برای
234
00:11:35,680 –> 00:11:38,620
محیط برنامه نویسی پایتون طبیعی است. سیستم t و echo
235
00:11:38,620 –> 00:11:42,129
و این نمیتواند فقط
236
00:11:42,129 –> 00:11:45,459
UDF باشد مانند یک Sun ساده، در این
237
00:11:45,459 –> 00:11:48,490
مورد میتواند یک کانکتور i/o نیز باشد.
238
00:11:48,490 –> 00:11:50,110
239
00:11:50,110 –> 00:11:52,269
240
00:11:52,269 –> 00:11:55,720
طیف گسترده ای از
241
00:11:55,720 –> 00:11:57,879
کانکتورها اما از Python SDK قابل دسترسی نیستند
242
00:11:57,879 –> 00:12:00,310
و Python SDK
243
00:12:00,310 –> 00:12:02,350
در حال حاضر هیچ کانکتوری برای
244
00:12:02,350 –> 00:12:04,720
پخش جریانی ندارد و برای دسته ای برای
245
00:12:04,720 –> 00:12:06,790
خواندن فایل ها و نوشتن فایل ها دارد اما
246
00:12:06,790 –> 00:12:09,279
هنوز برای استریم نیست مگر زمانی که روی
247
00:12:09,279 –> 00:12:12,790
جریان داده اجرا می کنید. این چیزی است که ما می خواهیم
248
00:12:12,790 –> 00:12:16,000
انجام دهیم چگونه چارچوب قابل حمل به
249
00:12:16,000 –> 00:12:19,870
نظر می رسد که شما در سمت چپ
250
00:12:19,870 –> 00:12:24,130
کاربر و SDK دارید و می
251
00:12:24,130 –> 00:12:26,800
خواهید خط لوله ای را در مورد
252
00:12:26,800 –> 00:12:29,170
پایتون ارسال کنید،
253
00:12:29,170 –> 00:12:32,259
وقتی نمونه فعلی جهانی را در آنجا داشته باشید به این شکل خواهد بود.
254
00:12:32,259 –> 00:12:34,930
چند گزینه اضافی Pipeline هستند که
255
00:12:34,930 –> 00:12:36,850
مشخص میکنند کجا باید آن را روی کدام رانر اجرا کنیم، به
256
00:12:36,850 –> 00:12:39,250
غیر از آن، همان کد خط لوله
257
00:12:39,250 –> 00:12:42,040
است که در حال حاضر روی پایتون مستقیم نیز اجرا میشود، در
258
00:12:42,040 –> 00:12:44,170
اینجا ما مشخص
259
00:12:44,170 –> 00:12:46,420
میکنیم که یک Runner قابل حمل و یک
260
00:12:46,420 –> 00:12:50,139
نقطه پایانی بنابراین نقطه پایانی سرویس شغلی همان
261
00:12:50,139 –> 00:12:51,160
چیزی است که
262
00:12:51,160 –> 00:12:53,889
به عنوان مثال سرویس شغلی flink ارائه میکند
263
00:12:53,889 –> 00:12:58,959
، این برای runner است که در
264
00:12:58,959 –> 00:13:00,069
این مورد
265
00:13:00,069 –> 00:13:03,490
فلینک میکند و سرویسی را نشان میدهد که
266
00:13:03,490 –> 00:13:05,889
میتواند برای ارسال خط لوله و بررسی
267
00:13:05,889 –> 00:13:09,309
مراحل یک خط لوله استفاده شود – علاوه بر
268
00:13:09,309 –> 00:13:12,399
این خط لوله ای که در حال ارسال
269
00:13:12,399 –> 00:13:14,649
است همچنین امکان مرحله بندی مصنوعاتی وجود دارد
270
00:13:14,649 –> 00:13:16,709
که می توان از آنها برای تعیین
271
00:13:16,709 –> 00:13:19,089
وابستگی هایی مانند بسته های پایتون استفاده کرد، در
272
00:13:19,089 –> 00:13:21,370
این مورد اینجا نشان داده نشده است اما می
273
00:13:21,370 –> 00:13:22,180
توان این کار را انجام
274
00:13:22,180 –> 00:13:23,890
داد که سپس از طریق یک
275
00:13:23,890 –> 00:13:27,030
مکان مرحله بندی در دسترس قرار می گیرند تا بعداً
276
00:13:27,030 –> 00:13:31,930
توسط یک SDK بازیابی شوند. hummus بنابراین هنگامی که خط لوله
277
00:13:31,930 –> 00:13:33,850
به سرویس شغلی می
278
00:13:33,850 –> 00:13:37,090
رسد، وظیفه دونده است که آن را
279
00:13:37,090 –> 00:13:40,450
به یک API بومی ترجمه کند و در مورد Flink
280
00:13:40,450 –> 00:13:43,540
دو API بومی وجود دارد که
281
00:13:43,540 –> 00:13:45,970
امروزه ترجمه انجام می شود،
282
00:13:45,970 –> 00:13:48,640
بسته به اینکه آیا این یک محدود است یا مجموعه داده، یک جریان داده و مجموعه داده
283
00:13:48,640 –> 00:13:50,770
است. خط لوله نامحدود
284
00:13:50,770 –> 00:13:52,690
در سمت پرتو مشخصاً
285
00:13:52,690 –> 00:13:55,000
چنین تفاوتی مشاهده نشده است،
286
00:13:55,000 –> 00:13:58,060
مثالی که من به شما نشان دادم که
287
00:13:58,060 –> 00:14:00,990
در جریان بدون تغییر به صورت دسته ای
288
00:14:00,990 –> 00:14:03,250
اجرا می شود. این که نوع
289
00:14:03,250 –> 00:14:06,120
منبع تعیین میکند که آیا این یک
290
00:14:06,120 –> 00:14:09,310
اجرای دستهای است یا اجرای جریانی،
291
00:14:09,310 –> 00:14:12,250
بنابراین امروزه در فلینک ما هنوز
292
00:14:12,250 –> 00:14:14,050
تمایز بین دستهای و استریم
293
00:14:14,050 –> 00:14:15,700
و رواناب را داریم، بنابراین ترجمههای جداگانهای
294
00:14:15,700 –> 00:14:18,190
در پایان
295
00:14:18,190 –> 00:14:20,470
ترجمه وجود دارد، ما یک کار دستی داریم.
296
00:14:20,470 –> 00:14:22,960
که میتواند مانند هر
297
00:14:22,960 –> 00:14:26,620
کار فلینک دیگری به خوشه ارسال شود و تنها
298
00:14:26,620 –> 00:14:29,560
تفاوت بین خوشه پیوندی
299
00:14:29,560 –> 00:14:31,630
که ممکن است از کارهای جاوا فلینک خود بدانید
300
00:14:31,630 –> 00:14:33,790
و آنچه که هنگام
301
00:14:33,790 –> 00:14:36,280
اجرای یک لوله پرتو در خط لوله پایتون یا
302
00:14:36,280 –> 00:14:38,740
هر خط لوله قابل حمل خواهید داشت این است که
303
00:14:38,740 –> 00:14:40,810
فرآیندهای اضافی ما در این خوشه و
304
00:14:40,810 –> 00:14:42,910
آنها برای اجرای کد کاربر ضروری هستند،
305
00:14:42,910 –> 00:14:44,650
بنابراین چیزی که در نهایت با آن مواجه
306
00:14:44,650 –> 00:14:48,940
میشوید این است که پایتون را در جلو دارید و
307
00:14:48,940 –> 00:14:51,610
سپس از طریق واسطه عبور میکند و در
308
00:14:51,610 –> 00:14:53,440
نهایت با یک فرآیند پایتون در
309
00:14:53,440 –> 00:14:55,390
خوشه flink مواجه میشوید، زیرا اینطور است.
310
00:14:55,390 –> 00:14:59,260
تنها راه صحیح عمومی برای اجرای
311
00:14:59,260 –> 00:15:01,600
پایتون، رویکردهای دیگری مانند
312
00:15:01,600 –> 00:15:03,730
Jade و غیره وجود دارد، اما هیچ کدام از اینها
313
00:15:03,730 –> 00:15:07,050
واقعاً برای همه چیز برای اجرای پایتون کار نمی کنند.
314
00:15:07,050 –> 00:15:09,520
به درستی میخواهید بتوانید از
315
00:15:09,520 –> 00:15:10,960
تمام کتابخانهها و همه چیز خود استفاده کنید و
316
00:15:10,960 –> 00:15:12,130
این کار با داشتن یک
317
00:15:12,130 –> 00:15:14,500
فرآیند بومی پایتون انجام میشود که در
318
00:15:14,500 –> 00:15:17,740
محیط مدیر وظیفه اجرا میشود،
319
00:15:17,740 –> 00:15:20,580
گزینههای مختلف برای اجرای آنها
320
00:15:20,580 –> 00:15:23,260
بعداً تعامل بین این
321
00:15:23,260 –> 00:15:26,560
فرآیندهای کارگر پایتون و رانر بنابراین
322
00:15:26,560 –> 00:15:29,250
مدیر وظیفه فلینک در این مورد
323
00:15:29,250 –> 00:15:34,930
کاروان است حاکم است که با اجرای
324
00:15:34,930 –> 00:15:35,690
325
00:15:35,690 –> 00:15:39,050
نقاط پایانی Expo ما ارتباط برقرار می کند که مهار SDK با آنها صحبت می کند
326
00:15:39,050 –> 00:15:42,290
تا عملکرد خود را انجام دهد جزئیات بیشتر ارائه
327
00:15:42,290 –> 00:15:47,360
می شود بنابراین در اسلایدهای زیر
328
00:15:47,360 –> 00:15:48,740
جزئیاتی وجود دارد که ما نداریم.
329
00:15:48,740 –> 00:15:51,140
زمان پوشش دادن در اینجا است، اما بیشتر
330
00:15:51,140 –> 00:15:53,030
اسلایدها دارای پیوندی هستند که به
331
00:15:53,030 –> 00:15:55,850
مستندات پرتو اشاره می کند که همه اینها را با جزئیات پوشش می دهد،
332
00:15:55,850 –> 00:15:58,070
بنابراین شما به اسلایدها دسترسی داشته باشید و
333
00:15:58,070 –> 00:16:00,230
بعداً می توانید همه
334
00:16:00,230 –> 00:16:03,010
این موارد را جستجو کنید و در مورد این
335
00:16:03,010 –> 00:16:06,830
api بسیار مهم مطالعه کنید. قابل حمل بودن
336
00:16:06,830 –> 00:16:10,520
خط لوله API Pipeline API است که
337
00:16:10,520 –> 00:16:14,210
اساساً توصیفی از یک خط لوله است که
338
00:16:14,210 –> 00:16:17,570
مانند
339
00:16:17,570 –> 00:16:20,470
IDL و سایر سیستمهایی که میتوان آن را
340
00:16:20,470 –> 00:16:22,880
ترجمه کرد، زبان آگنوستیک است. به اتصالات زبان، اما
341
00:16:22,880 –> 00:16:26,720
این پورتال بالاتر از تعریف است
342
00:16:26,720 –> 00:16:30,050
و توسط SDK برای ساخت خط لوله استفاده
343
00:16:30,050 –> 00:16:32,240
می شود، به همین دلیل است که با هر دونده سازگار است،
344
00:16:32,240 –> 00:16:35,630
ما همچنین به این
345
00:16:35,630 –> 00:16:38,780
خط لوله آبگیری می گوییم که روی سیم می گذرد و می
346
00:16:38,780 –> 00:16:41,290
تواند توسط رانر برای بازسازی
347
00:16:41,290 –> 00:16:44,150
هیدراته استفاده شود. خط لوله برای بررسی درونی آن
348
00:16:44,150 –> 00:16:45,670
و سپس ساختن نمایندگی بومی آن
349
00:16:45,670 –> 00:16:49,760
، job API همان چیزی است که
350
00:16:49,760 –> 00:16:51,920
دیدیم جایی که خط لوله به
351
00:16:51,920 –> 00:16:56,630
نقطه پایانی ارسال
352
00:16:56,630 –> 00:16:57,230
353
00:16:57,230 –> 00:17:00,860
354
00:17:00,860 –> 00:17:02,960
میشود.
355
00:17:02,960 –> 00:17:08,290
در حین اجرا، خط لوله بسیار ساده شده
356
00:17:08,290 –> 00:17:11,300
چگونه به نظر می رسد که واقعاً
357
00:17:11,300 –> 00:17:13,699
مجموعه ای از مجموعه های P است که
358
00:17:13,699 –> 00:17:16,189
رمزگذارهای استراتژی های پنجره را تغییر می
359
00:17:16,189 –> 00:17:20,689
دهد، بنابراین اگر مایل باشید خط لوله جدا شده است
360
00:17:20,689 –> 00:17:23,720
و احتمالاً قسمت جالب این
361
00:17:23,720 –> 00:17:26,510
است که چگونه قسمت های خاص زبان را نشان دهیم که
362
00:17:26,510 –> 00:17:30,610
می بینید تابع
363
00:17:30,610 –> 00:17:33,320
آن را مشخص می کند. می تواند یک جاوا برای سرگرم کننده باشد که یک
364
00:17:33,320 –> 00:17:37,180
شی سریالی شده سریالی یا
365
00:17:37,180 –> 00:17:41,540
تابع ترشی پایتون است که باری است که
366
00:17:41,540 –> 00:17:43,850
مختص SDK زبان آن است و n یک URL
367
00:17:43,850 –> 00:17:46,700
که میگوید چیست و بعداً
368
00:17:46,700 –> 00:17:49,220
SDK میتواند به آن نگاه کند و میتواند
369
00:17:49,220 –> 00:17:51,810
آن را از حالت سریال خارج کند و دونده
370
00:17:51,810 –> 00:17:53,850
نیازی به نگاه کردن به آن ندارد زیرا نمیتواند آن را
371
00:17:53,850 –> 00:18:01,170
بخواند و نیازی به
372
00:18:01,170 –> 00:18:03,390
پردازش بستهای در صفحه کنترل ندارد. و
373
00:18:03,390 –> 00:18:07,530
صفحه داده یک باندل واحد کار است
374
00:18:07,530 –> 00:18:09,630
و دسته پرتو
375
00:18:09,630 –> 00:18:13,320
اگر خط لوله دسته ای باشد می تواند
376
00:18:13,320 –> 00:18:15,300
عناصر زیادی داشته باشد اگر خط لوله جریانی باشد
377
00:18:15,300 –> 00:18:18,450
در مورد flink runner برای
378
00:18:18,450 –> 00:18:21,540
پردازش بسته ای که رانر به sdk می گوید می تواند فقط یک عنصر داشته باشد.
379
00:18:21,540 –> 00:18:24,900
فرآیند یا SDK Horner به چه نوع
380
00:18:24,900 –> 00:18:27,930
توابعی برای اجرای
381
00:18:27,930 –> 00:18:29,970
بسته نیاز است و سپس باید شروع به
382
00:18:29,970 –> 00:18:33,060
پردازش یک بسته، مهار SDK کند،
383
00:18:33,060 –> 00:18:36,570
سپس به اطراف برمی گردیم و شروع به دریافت
384
00:18:36,570 –> 00:18:38,610
عنصر ورودی برای عناصر ورودی
385
00:18:38,610 –> 00:18:40,950
برای بسته می کنیم و همچنین
386
00:18:40,950 –> 00:18:43,430
عناصر خروجی را به runner برمیگرداند و
387
00:18:43,430 –> 00:18:46,290
سپس در یک نقطه پردازش بستهای
388
00:18:46,290 –> 00:18:52,800
جزئیات در سند
389
00:18:52,800 –> 00:18:55,950
پیوند داده شده به پایان میرسد، بخش جالب اینجاست
390
00:18:55,950 –> 00:18:58,320
که رمزگذاری و رمزگشایی
391
00:18:58,320 –> 00:19:01,050
در سمت SDK اتفاق میافتد نه در سمت SDK.
392
00:19:01,050 –> 00:19:03,450
دونده ها برای یکی خارج از
393
00:19:03,450 –> 00:19:05,760
عناصر غیرشفاف هستند با این تفاوت که
394
00:19:05,760 –> 00:19:07,740
دونده برای چیزهای خاصی باید بداند
395
00:19:07,740 –> 00:19:11,040
که کلید چیست، اما به غیر از این که
396
00:19:11,040 –> 00:19:13,070
مقادیری که Ronna نیازی به
397
00:19:13,070 –> 00:19:16,200
درک مبهم بودن آنها ندارد و
398
00:19:16,200 –> 00:19:18,870
به مهار SDK منتقل می شود. SDK Hong بهعنوان Reiji،
399
00:19:18,870 –> 00:19:21,720
دارندگان SDK رایانه شخصی ما، عناصر را رمزگشایی
400
00:19:21,720 –> 00:19:25,080
میکنند، عناصر فرآیند را رمزگذاری میکنند و آن
401
00:19:25,080 –> 00:19:33,450
را به مرحله اجرا برمیگردانند، حالا منطقی است
402
00:19:33,450 –> 00:19:35,190
که چیزی از اینجا به اینجا
403
00:19:35,190 –> 00:19:38,850
از اینجا به اینجا میرود. G RPC
404
00:19:38,850 –> 00:19:42,750
همیشه از مهار SDK SDK آغاز میشود و
405
00:19:42,750 –> 00:19:44,670
اساساً این دونده
406
00:19:44,670 –> 00:19:46,500
است که پردازش را هدایت میکند،
407
00:19:46,500 –> 00:19:49,830
اما RBC، RPC
408
00:19:49,830 –> 00:19:51,540
را از مهار شروع میکند که به
409
00:19:51,540 –> 00:19:53,430
ما انعطافپذیری بیشتری میدهد تا فقط
410
00:19:53,430 –> 00:20:00,150
سیستم را هماهنگ کنیم، بنابراین API وضعیتی شبیه
411
00:20:00,150 –> 00:20:02,429
به دادههایی است که ما را
412
00:20:02,429 –> 00:20:04,649
برای قطعات خاص مهار میکند، API حالت.
413
00:20:04,649 –> 00:20:06,419
مورد نیاز است زیرا حالت توسط فرآیند مهار دونده مدیریت می شود
414
00:20:06,419 –> 00:20:09,049
اساساً بدون حالت است
415
00:20:09,049 –> 00:20:11,610
و دونده
416
00:20:11,610 –> 00:20:13,289
مسئول نگه داشتن حالت است مانند
417
00:20:13,289 –> 00:20:14,879
دونده فلینک که باید یک نقطه بازر