بیا اسلام علیکم! د مقالې سرلیک پخپله خبرې کوي. د کورس د پیل په تمه
د ډیټا انجینرۍ څپې د نیولو څرنګوالي په اړه یو ساده لارښود او اجازه مه ورکوئ چې تاسو خړوب ته کش کړئ.
داسې ښکاري چې هرڅوک غواړي پدې ورځو کې د ډیټا ساینس پوه شي. مګر د ډیټا انجینرۍ په اړه څه؟ په لازمي ډول ، دا د ډیټا شنونکي او ډیټا ساینس پوه یو ډول هایبرډ دی؛ د ډیټا انجینر په عموم ډول د کاري جریانونو اداره کولو ، د پایپ لاینونو پروسس کولو ، او ETL پروسې مسؤل دی. د دې دندو د اهمیت له امله، دا اوس مهال یو بل مشهور مسلکي جرګون دی چې په فعاله توګه سرعت ترلاسه کوي.
لوړ معاشونه او لویه غوښتنه د هغه څه یوه کوچنۍ برخه ده چې دا دنده خورا زړه راښکونکې کوي! که تاسو غواړئ د اتلانو په لیکو کې شامل شئ ، نو د زده کړې پیل کولو لپاره هیڅکله ناوخته ندی. پدې پوسټ کې ، ما ټول اړین معلومات راټول کړي ترڅو تاسو سره ستاسو د لومړي ګامونو په اخیستلو کې مرسته وکړي.
د ډیټا انجینرۍ څه شی دی؟
په صادقانه توګه، د دې څخه بل ښه وضاحت نشته:
"یو ساینس پوه کولی شي یو نوی ستوری ومومي، مګر هغه نشي کولی جوړ کړي. هغه باید له انجنیر څخه وغواړي چې د هغه لپاره دا کار وکړي.
- ګورډن لینډسي ګلګ
پدې توګه ، د ډیټا انجینر رول خورا مهم دی.
لکه څنګه چې نوم وړاندیز کوي، د ډیټا انجنیري د معلوماتو سره تړاو لري، د بیلګې په توګه د هغې تحویل، ذخیره کول او پروسس کول. په دې اساس، د انجنیرانو اصلي دنده د معلوماتو لپاره د باور وړ زیربنا چمتو کول دي. که موږ د اړتیاوو د AI درجه بندي وګورو، د ډیټا انجینرۍ لومړی 2-3 مرحلې نیسي: راټولول، حرکت او ذخیره کول، د معلوماتو چمتو کول.
د معلوماتو انجینر څه کوي؟
د لویو معلوماتو په راتګ سره، د مسؤلیت ساحه په ډراماتیک ډول بدله شوې. که دمخه دا کارپوهان د وسیلو لکه Informatica ETL، Pentaho ETL، Talend په کارولو سره لوی SQL پوښتنې او ډیسټل ډیټا لیکلې ، اوس د ډیټا انجینرانو اړتیاوې ډیرې شوي.
ډیری شرکتونه چې د ډیټا انجینر پوسټ لپاره خلاص خالي بستونه لري لاندې اړتیاوې لري:
- د SQL او Python عالي پوهه.
- د کلاوډ پلیټ فارمونو سره تجربه وکړئ ، په ځانګړي توګه د ایمیزون ویب خدماتو.
- د جاوا / سکالا پوهه غوره ده.
- د SQL او NoSQL ډیټابیسونو ښه پوهه (د معلوماتو ماډلینګ، د معلوماتو ذخیره کول).
په یاد ولرئ، دا یوازې اړین دي. د دې لیست څخه، دا فرض کیدی شي چې د ډیټا انجنیران د سافټویر پراختیا او پس منظر کې متخصصین دي.
د مثال په توګه، که یو شرکت د مختلفو سرچینو څخه د ډیرو معلوماتو تولید پیل کړي، د ډیټا انجنیر په توګه ستاسو دنده د معلوماتو راټولول، د هغې پروسس او ذخیره کول دي.
په دې قضیه کې د کارول شویو وسیلو لیست ممکن توپیر ولري، دا ټول د دې معلوماتو حجم، د هغې د رسیدلو سرعت او توپیر پورې اړه لري. ډیری شرکتونه د لوی ډیټا سره معامله نه کوي، نو د مرکزي ذخیره کولو په توګه، د معلوماتو ګودام په نوم یادیږي، تاسو کولی شئ د SQL ډیټابیس (PostgreSQL، MySQL، او داسې نور) د یوې کوچنۍ سکریپټ سره چې ډاټا ته تغذیه کوي. ګودام
د آی ټي جنات لکه ګوګل، ایمیزون، فیسبوک یا ډراپ باکس لوړې اړتیاوې لري: د پایتون، جاوا یا سکالا پوهه.
- د لوی معلوماتو سره تجربه: هډوپ، سپارک، کافکا.
- د الګوریتمونو او ډیټا جوړښتونو پوهه.
- د ویشل شوي سیسټمونو اساساتو پوهیدل.
- د ډیټا لید لید وسیلو سره تجربه لکه جدول یا ایلیستیک لټون به یو پلس وي.
دا د لوی ډیټا په لور روښانه بدلون دی، د بیلګې په توګه د لوړ بارونو لاندې پروسس کولو کې. دې شرکتونو د سیسټم غلطۍ زغم لپاره اړتیاوې زیاتې کړي.
د ډیټا انجینرانو په مقابل کې. د معلوماتو ساینس پوهان
ښه، دا یو ساده او مسخره پرتله وه (شخصي هیڅ نه)، مګر په حقیقت کې دا خورا پیچلې ده.
لومړی، تاسو باید پوه شئ چې د ډیټا ساینس پوه او ډیټا انجینر د رول او مهارتونو په تشریح کې خورا ابهام شتون لري. دا دی ، تاسو کولی شئ په اسانۍ سره د دې په اړه مغشوش شئ چې د بریالي ډیټا انجینر کیدو لپاره کوم مهارتونو ته اړتیا ده. البته، ځینې مهارتونه شتون لري چې د دواړو رولونو سره یوځای کیږي. مګر یو شمیر توپیر لرونکي مهارتونه هم شتون لري.
د ډیټا ساینس جدي سوداګرۍ دی ، مګر موږ د فعال ډیټا ساینس نړۍ ته حرکت کوو چیرې چې متخصصین کولی شي خپل تحلیلونه ترسره کړي. د ډیټا پایپ لاینونو او مدغم ډیټا جوړښتونو فعالولو لپاره ، تاسو د ډیټا انجینرانو ته اړتیا لرئ ، نه د ډیټا ساینس پوهانو.
ایا د ډیټا انجینر د ډیټا ساینس پوه په پرتله ډیر تقاضا لري؟
- هو، ځکه چې مخکې له دې چې تاسو د گاجر کیک جوړ کړئ، تاسو باید لومړی د گاجر راټولولو، پوستکي او ذخیره کولو ته اړتیا لرئ!
د ډیټا انجینر د هر ډیټا ساینس پوه په پرتله برنامه ښه پوهیږي ، مګر کله چې د احصایو خبره راځي ، برعکس ریښتیا ده.
مګر دلته د ډیټا انجینر ګټه ده:
د هغه / هغې پرته، د پروټوټایپ ماډل ارزښت، ډیری وختونه د Python فایل کې د خراب کیفیت کوډ یوه ټوټه جوړه وي، د ډیټا ساینس پوه څخه ترلاسه شوي او په یو ډول پایله تولیدوي، صفر ته رسیږي.
د ډیټا انجینر پرته ، دا کوډ به هیڅکله پروژه نه شي او د سوداګرۍ کومه ستونزه به په مؤثره توګه حل نشي. د معلوماتو انجینر هڅه کوي دا ټول په محصول بدل کړي.
لومړني معلومات چې د ډیټا انجینر باید پوه شي
نو، که دا دنده په تاسو کې رڼا راوړي او تاسو لیواله یاست - تاسو کولی شئ دا زده کړئ، تاسو کولی شئ ټول اړین مهارتونه ماسټر کړئ او د ډیټا انجینرۍ په برخه کې ریښتیني راک ستوری شئ. او، هو، تاسو کولی شئ دا د پروګرام کولو مهارتونو یا نورو تخنیکي پوهې پرته حتی لرې کړئ. دا ستونزمنه ده، مګر ممکنه ده!
لومړني ګامونه کوم دي؟
تاسو باید یو عمومي نظر ولرئ چې څه شی دی.
له هرڅه دمخه ، د ډیټا انجینرۍ د کمپیوټر ساینس ته راجع کیږي. په ځانګړې توګه، تاسو باید د اغیزمن الګوریتمونو او ډیټا جوړښتونو په اړه پوه شئ. دوهم، څرنګه چې د ډیټا انجنیران د ډیټا سره کار کوي، نو اړینه ده چې د ډیټابیس اصولو او جوړښتونو باندې پوه شي چې دوی یې لاندې کوي.
د مثال په توګه، دودیز B-tree SQL ډیټابیسونه د B-Tree ډیټا جوړښت پراساس دي، په بیله بیا په عصري توزیع شوي ذخیره کې، LSM-Tree او د هش میزونو نور بدلونونه.
* دا ګامونه د یوې عالي مقالې پراساس دي
1. الګوریتم او د معلوماتو جوړښتونه
د سم ډیټا جوړښت کارول کولی شي د پام وړ د الګوریتم فعالیت ښه کړي. په عین حال کې، موږ ټول باید په خپلو ښوونځیو کې د ډیټا جوړښتونو او الګوریتمونو په اړه زده کړه وکړو، مګر دا په ندرت سره پوښل کیږي. په هرصورت، د پیژندلو لپاره هیڅکله ناوخته نه دی.
نو دلته د ډیټا جوړښتونو او الګوریتمونو زده کړې لپاره زما غوره وړیا کورسونه دي:
له ساده څخه پیچلې ته: د معلوماتو جوړښت (Udemy) الګوریتم، لومړۍ برخه (کورسرا) الګوریتم، دویمه برخه (کورسرا)
پلس د الګوریتمونو په اړه د توماس کورمن کلاسیک کار په اړه مه هیروئ -
- د خپلو مهارتونو د ښه کولو لپاره، وکاروئ
لیټ کوډ .
تاسو کولی شئ په یوټیوب کې د کارنیګي میلون پوهنتون څخه په زړه پورې ویډیوګانو سره د ډیټابیس نړۍ کې هم ډوب شئ:
2. SQL زده کړئ
زموږ ټول ژوند ډیټا دی. او د دې لپاره چې دا ډاټا د ډیټابیس څخه راوباسئ، تاسو اړتیا لرئ چې ورته ژبه "ویل" کړئ.
SQL (ساختماني پوښتنې ژبه) د ډیټا ډومین کې د اړیکو ژبه ده. پرته له دې چې څوک ووایی، SQL ژوندی دی، ژوندی دی، او د اوږدې مودې لپاره به ژوند وکړي.
که تاسو د اوږدې مودې لپاره په پرمختګ کې یاست، تاسو شاید لیدلي وي چې د SQL نږدې مړینې په اړه اوازې وخت په وخت پاپ اپ کیږي. ژبه د 70 لسیزې په لومړیو کې رامینځته شوې او لاهم د شنونکو، پراختیا کونکو او ساده لیدونکو ترمنځ خورا مشهوره ده.
د SQL د پوهې پرته د ډیټا انجینرۍ کې د کولو لپاره هیڅ شی شتون نلري ځکه چې تاسو به په لازمي ډول د معلوماتو ترلاسه کولو لپاره پوښتنې رامینځته کړئ. ټول عصري لوی ډیټا ګودامونه د SQL ملاتړ کوي:
- د ایمیزون ریډ شفټ
- HP ویرټیکا
- سينه_پوښ
- SQL سرور
... او ډیری نور.
د توزیع شوي سیسټمونو لکه HDFS کې ذخیره شوي ډیټا لوی پرت تحلیل کولو لپاره ، د ایس کیو ایل انجنونه اختراع شوي: اپاچي هیو ، امپالا او داسې نور. وګورئ ، دا هیڅ ځای نه ځي.
SQL څنګه زده کړو؟ یوازې دا په عمل کې وکړئ.
د دې کولو لپاره ، زه وړاندیز کوم چې یو عالي ټیوټوریل وګورم ، کوم چې په لاره کې وړیا دی
هغه څه چې دا کورسونه ځانګړي کوي دا دي چې دوی یو متقابل چاپیریال لري چیرې چې تاسو کولی شئ په خپل براوزر کې د SQL پوښتنې ولیکئ او چل کړئ. سرچینه
3. په Python او Java/Scala کې پروګرام کول
ولې تاسو باید د Python پروګرام کولو ژبه زده کړئ، ما دمخه په مقاله کې لیکلي
- اپاچی کافکا (سکالا)
- هډوپ، HDFS (جاوا)
- اپاچی سپارک (سکالا)
- اپاچی کیسیندرا (جاوا)
- HBase (جاوا)
- Apache Hive (جاوا)
د دې لپاره چې پوه شي چې دا وسیلې څنګه کار کوي، تاسو اړتیا لرئ په هغه ژبو پوه شئ چې دوی پکې لیکل شوي. د سکالا فعاله طریقه تاسو ته اجازه درکوي په مؤثره توګه د موازي ډیټا پروسس کولو ستونزې حل کړئ. Python، له بده مرغه، نشي کولی د سرعت او موازي پروسس کولو فخر وکړي. په عموم کې، د څو ژبو پوهه او د پروګرام کولو تمثیلونه د ستونزو د حل کولو لپاره د لارو چارو پراخوالي لپاره ښه دي.
د سکالا ژبې ته د ډوبولو لپاره، تاسو لوستلی شئ
لکه څنګه چې د Python لپاره، زه باور لرم
4. د لویو معلوماتو سره د کار کولو وسیلې
دلته د لوی ډیټا نړۍ کې د خورا مشهور وسیلو لیست دی:
- اپاپي سپارک
- اپاپي کافيکا
- اپاچی هډوپ (HDFS، HBase، Hive)
- اپاچی کاسیاندرا
تاسو کولی شئ پدې حیرانتیا کې د لوی ډیټا بلاکونو جوړولو په اړه نور معلومات ومومئ
- د هډوپ پیژندنه کیدی شي
د هډوپ ماسټر کولو بشپړ لارښود (وړیا) . - زما لپاره د اپاچی سپارک لپاره ترټولو جامع لارښود دی -
سپارک: بشپړ لارښود .
5. کلاوډ پلیټ فارمونه
د لږترلږه یو کلاوډ پلیټ فارم پوهه د ډیټا انجینر موقف لپاره د غوښتونکو لپاره د لومړني اړتیاو لیست کې دی. کارګمارونکي د ایمیزون ویب خدماتو ته ترجیح ورکوي ، د ګوګل کلاوډ پلیټ فارم سره په دوهم ځای کې او مایکروسافټ ازور په دریم ځای کې ځای لري.
تاسو باید د Amazon EC2، AWS Lambda، Amazon S3، DynamoDB ښه پوهه ولرئ.
6. ویشل شوي سیسټمونه
د لویو معلوماتو سره کار کول د خپلواکه عملیاتي کمپیوټرونو کلسترونو شتون په ګوته کوي، چې د هغې ترمنځ اړیکه د شبکې له لارې ترسره کیږي. هرڅومره چې کلستر لوی وي ، د غړو نوډونو د ناکامۍ احتمال ډیر وي. د لوی ډیټا ساینس پوه کیدو لپاره ، تاسو اړتیا لرئ د توزیع شوي سیسټمونو ستونزې او موجوده حلونو باندې پوه شئ. دا سیمه پخوانۍ او پیچلې ده.
اندریو تنینبام په دې برخه کې مخکښ ګڼل کیږي. د هغو کسانو لپاره چې د تیوري څخه ویره نلري، زه د هغه کتاب وړاندیز کوم
زما په خيال
د هغو کسانو لپاره چې ویډیوګانې ګوري، په یوټیوب کې یو کورس شتون لري
7. د معلوماتو پایپ لاینونه
د ډیټا پایپ لاینونه هغه څه دي چې تاسو د ډیټا انجینر په توګه پرته ژوند نشئ کولی.
ډیری وخت، د ډیټا انجنیر یو تش په نامه ډیټا پایپ لاین جوړوي، دا دی، هغه د یو ځای څخه بل ځای ته د معلوماتو رسولو لپاره پروسه رامینځته کوي. دا کیدای شي دودیز سکریپټونه وي چې د بهرني خدماتو API ته ځي یا د SQL پوښتنه کوي، ډاټا لوړوي، او دا په مرکزي پلورنځي (ډیټا ګودام) یا غیر منظم شوي ډیټا ذخیره (ډیټا لیکس) کې اچوي.
د لنډیز کولو لپاره: د ډیټا انجینر لپاره لومړني چک لیست
د لنډیز لپاره، لاندې ښه پوهه اړینه ده:
- د معلوماتو سیسټمونه؛
- د سافټویر پراختیا (Agile، DevOps، ډیزاین تخنیکونه، SOA)؛
- توزیع شوي سیسټمونه او موازي پروګرامونه؛
- د ډیټابیس اساسات - پلان جوړونه، ډیزاین، عملیات او ستونزې حل کول؛
- د تجربو ډیزاین - د مفاهیمو ثابتولو لپاره د A/B ازموینې، اعتبار معلومول، د سیسټم فعالیت، او د باور وړ لارې رامینځته کول ترڅو ښه حلونه ژر تر ژره وړاندې کړي.
دا د ډیټا انجینر کیدو لپاره یوازې یو څو اړتیاوې دي ، نو د ډیټا سیسټمونه ، د معلوماتو سیسټمونه ، دوامداره تحویل / ګمارنه / ادغام ، د برنامې ژبې ، او د کمپیوټر ساینس نور موضوعات زده کړئ او پوه شئ (ټول موضوعګانې ندي).
او په نهایت کې ، وروستی مګر خورا مهم شی چې زه غواړم ووایم.
د ډیټا انجینرۍ کیدو لاره دومره ساده نده لکه څنګه چې ښکاري. هغه نه بخښي، هغه مایوسه کوي، او تاسو باید د دې لپاره چمتو اوسئ. پدې سفر کې ځینې شیبې ممکن تاسو پریږدي. مګر دا ریښتینی کار او د زده کړې پروسه ده.
یوازې د پیل څخه یې شکر مه کوئ. د سفر ټوله نقطه د امکان تر حده زده کړه او د نوي ننګونو لپاره چمتو اوسئ.
دلته یو عالي عکس دی چې ما ولیدل چې دا ټکی ښه روښانه کوي:
او هو، په یاد ولرئ چې د سوځیدنې او آرامۍ څخه ډډه وکړئ. دا هم خورا مهم دی. غوره چانس!
تاسو د مقالې په اړه څه فکر کوئ ملګرو؟ موږ تاسو ته بلنه درکوو
سرچینه: www.habr.com