Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Дагы бир жолу салам! Макаланын аталышы өзү жөнүндө айтып турат. Курстун башталышын утурлай Маалымат инженери Биз сизге маалымат инженерлери ким экенин түшүнүүнү сунуштайбыз. Макалада көптөгөн пайдалуу шилтемелер бар. Бактылуу окуу.

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Data Engineering толкунун кантип кармап туруу жана анын сени туңгуюкка сүйрөөсүнө жол бербөө боюнча жөнөкөй колдонмо.

Бүгүнкү күндө ар бир адам Data Scientist болгусу келет окшойт. Бирок Data Engineering жөнүндө эмне айтууга болот? Негизинен, бул маалымат аналитикинин жана маалымат таануучунун гибридинин бир түрү; Маалымат инженери, адатта, иш процесстерин, түтүктөрдү жана ETL процесстерин башкаруу үчүн жооптуу. Бул функциялардын маанилүүлүгүнөн улам, бул учурда активдүү күч алып жаткан дагы бир популярдуу профессионалдык жаргон.

Жогорку айлык акы жана чоң суроо-талап бул жумушту абдан жагымдуу кылган нерселердин кичинекей гана бөлүгү! Баатырлардын катарына кошулууну кааласаңыз, үйрөнүүнү баштоо эч качан кеч эмес. Бул постто мен сизге биринчи кадамдарды жасоого жардам берүү үчүн бардык керектүү маалыматтарды чогулттум.

Баштадык!

Data Engineering деген эмне?

Чынын айтсам, мындан жакшыраак түшүндүрмө жок:

«Окумуштуу жаңы жылдыз ача алат, бирок аны жарата албайт. Ал үчүн инженерден суранышы керек».

– Гордон Линдси Глегг

Ошентип, маалымат инженеринин ролу абдан маанилүү.

Аты айтып тургандай, маалымат инженериясы маалыматтарга, тактап айтканда, аларды жеткирүүгө, сактоого жана иштетүүгө байланыштуу. Демек, инженерлердин негизги милдети маалыматтар үчүн ишенимдүү инфраструктураны камсыз кылуу болуп саналат. Эгер муктаждыктардын AI иерархиясын карасак, маалымат инженериясы биринчи 2-3 этапты ээлейт: чогултуу, жылдыруу жана сактоо, маалыматтарды даярдоо.

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Маалымат инженери эмне кылат?

Чоң маалыматтардын пайда болушу менен жоопкерчиликтин чөйрөсү кескин өзгөрдү. Эгерде мурда бул эксперттер Informatica ETL, Pentaho ETL, Talend сыяктуу инструменттердин жардамы менен чоң SQL сурамдарын жана дистилденген маалыматтарды жазышса, азыр маалымат инженерлерине талаптар көбөйдү.

Маалымат инженери кызматына ачык бош орундары бар көпчүлүк компаниялар төмөнкү талаптарга ээ:

  • SQL жана Python боюнча мыкты билим.
  • Булут платформалары, айрыкча Amazon Web Services менен тажрыйба.
  • Java/Scala тилин билүү артыкчылыктуу.
  • SQL жана NoSQL маалымат базаларын жакшы түшүнүү (маалыматтарды моделдөө, маалыматтарды сактоо).

Эсиңизде болсун, булар негизги гана нерселер. Бул тизмеден маалымат инженерлери программалык камсыздоону иштеп чыгуу жана колдоо тармагындагы адистер деп болжолдоого болот.
Мисалы, компания ар кандай булактардан маалыматтардын чоң көлөмүн түзө баштаса, маалымат инженери катары сиздин милдетиңиз маалыматты чогултууну, аны иштетүүнү жана сактоону уюштуруу болуп саналат.

Бул учурда колдонулган куралдардын тизмеси ар кандай болушу мүмкүн, баары бул маалыматтардын көлөмүнө, аны алуу ылдамдыгына жана гетерогендүүлүгүнө жараша болот. Көпчүлүк компаниялар чоң маалыматтар менен такыр алектенишпейт, ошондуктан борборлоштурулган репозиторий катары, маалымат кампасы деп аталган, сиз SQL маалымат базасын (PostgreSQL, MySQL ж.б.) колдонсоңуз болот, алар маалыматтарды камтыган чакан скрипттер топтому менен. кампа.

Google, Amazon, Facebook же Dropbox сыяктуу IT гиганттарынын талаптары жогору: Python, Java же Scala тилдерин билүү.

  • Чоң маалыматтар менен тажрыйба: Hadoop, Spark, Kafka.
  • Алгоритмдерди жана маалымат структураларын билүү.
  • Бөлүштүрүлгөн системалардын негиздерин түшүнүү.
  • Tableau же ElasticSearch сыяктуу маалыматтарды визуалдаштыруу куралдары менен тажрыйба плюс болот.

Башкача айтканда, чоң маалыматтарга, тактап айтканда, аны жогорку жүктөмдөрдүн астында иштетүүдө ачык жылыш бар. Бул компаниялар системанын каталарына чыдамкайлык үчүн талаптарды жогорулатты.

Маалымат инженерлери Vs. маалымат окумуштуулары

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?
Макул, бул жөнөкөй жана күлкүлүү салыштыруу болду (жеке эч нерсе эмес), бирок чындыгында бул алда канча татаал.

Биринчиден, сиз маалымат илимпозунун жана маалымат инженеринин ролдорун жана көндүмдөрүн аныктоодо көп бүдөмүк бар экенин билишиңиз керек. Башкача айтканда, ийгиликтүү маалымат инженери болуу үчүн кандай көндүмдөр керек экендиги жөнүндө оңой эле чаташтырсаңыз болот. Албетте, эки ролго дал келген белгилүү жөндөмдөр бар. Бирок, ошондой эле бир катар диаметралдык карама-каршы көндүмдөр бар.

Маалымат илими олуттуу бизнес, бирок биз практиктер өз аналитикасын жасай алган функционалдык маалымат илиминин дүйнөсүнө карай бара жатабыз. Берилиш түтүктөрүн жана интегралдык маалымат структураларын иштетүү үчүн сизге маалымат илимпоздору эмес, маалымат инженерлери керек.

Дата инженери маалымат таануучуга караганда көбүрөөк суроо-талапка ээби?

- Ооба, анткени сабиз тортту жасоодон мурун, адегенде сабизди чогултуп, тазалап, камыш керек!

Берилиш инженери программалоону башка окумуштууларга караганда жакшыраак түшүнөт, бирок статистикага келгенде, тескерисинче.

Бирок бул жерде маалымат инженеринин артыкчылыгы:

Ансыз, прототип моделинин мааниси, көбүнчө Python файлындагы коркунучтуу сапат кодунун бөлүгүнөн турган, маалымат таануучудан алынган жана кандайдыр бир жол менен натыйжа берген, нөлгө барабар.

Маалымат инженерисиз бул код эч качан долбоорго айланбайт жана эч кандай бизнес көйгөйү натыйжалуу чечилбейт. Маалымат инженери мунун баарын продуктуга айлантууга аракет кылууда.

Маалымат инженери билиши керек болгон негизги маалымат

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Демек, бул жумуш сиздеги жарыкты ачса жана сиз дилгир болсоңуз - сиз аны үйрөнө аласыз, бардык керектүү көндүмдөрдү өздөштүрүп, маалымат инженериясы тармагында чыныгы рок-жылдыз боло аласыз. Жана, ооба, сиз муну программалоо жөндөмү же башка техникалык билимсиз да чече аласыз. Бул кыйын, бирок мүмкүн!

Биринчи кадамдар кандай?

Сиз эмне жөнүндө жалпы түшүнүккө ээ болушуңуз керек.

Биринчиден, Data Engineering информатика илимине тиешелүү. Тагыраак айтканда, сиз эффективдүү алгоритмдерди жана маалымат структураларын түшүнүшүңүз керек. Экинчиден, маалымат инженерлери маалыматтар менен иштегендиктен, маалымат базаларынын принциптерин жана аларга негизделген структураларды түшүнүү керек.

Мисалы, кадимки B-tree SQL маалымат базалары B-Tree маалымат структурасына, ошондой эле заманбап бөлүштүрүлгөн репозиторийлерде, LSM-Tree жана хэш таблицалардын башка модификацияларына негизделген.

*Бул кадамдар сонун макалага негизделген Адиля Хаштамова. Андыктан орусча билсеңер бул авторду колдоп окугула анын посту.

1. Алгоритмдер жана маалымат структуралары

Туура маалымат структурасын колдонуу алгоритмдин иштешин бир топ жакшыртат. Идеалында, биз баарыбыз мектептерибизде маалымат структуралары жана алгоритмдер жөнүндө үйрөнүшүбүз керек, бирок бул сейрек кездешет. Кандай болгон күндө да, таанышууга эч качан кеч эмес.
Ошентип, бул жерде маалымат структураларын жана алгоритмдерди үйрөнүү үчүн менин сүйүктүү акысыз курстарым:

Мындан тышкары, Томас Кормандын алгоритмдер боюнча классикалык иши жөнүндө унутпаңыз - Алгоритмдерге киришүү. Бул эс тутумуңузду жаңыртуу керек болгондо эң сонун шилтеме.

  • жөндөмдүүлүктөрүн жогорулатуу үчүн, колдонушат Leetcode.

Сиз ошондой эле Youtube сайтында Карнеги Меллон университетинин укмуштуудай видеолору менен маалымат базалары дүйнөсүнө сүңгүп кирсеңиз болот:

2. SQL үйрөн

Биздин бүт жашообуз маалыматтар. Ал эми маалымат базасынан бул маалыматтарды алуу үчүн, аны менен бир тилде "сүйлөө" керек.

SQL (Structured Query Language) – маалымат домениндеги байланыш тили. Ким эмне десе да, SQL жашап келген, тирүү жана абдан узак убакыт бою жашай берет.

Эгерде сиз көптөн бери иштеп жаткан болсоңуз, анда SQLдин өлүмү тууралуу ушак-айың кептер мезгил-мезгили менен пайда болуп жатканын байкаган чыгарсыз. Бул тил 70-жылдардын башында иштелип чыккан жана дагы эле талдоочулар, иштеп чыгуучулар жана жөн гана энтузиасттар арасында абдан популярдуу.
SQLди билбесе, маалымат инженериясында эч нерсе кыла албайсыз, анткени сиз сөзсүз түрдө маалыматтарды алуу үчүн сурамдарды түзүшүңүз керек болот. Бардык заманбап чоң маалымат кампалары SQLди колдойт:

  • Amazon RedShift
  • HP Vertica
  • Oracle
  • SQL Server

... жана башкалар.

HDFS сыяктуу бөлүштүрүлгөн системаларда сакталган маалыматтардын чоң катмарын талдоо үчүн SQL кыймылдаткычтары ойлоп табылган: Apache Hive, Impala, ж.б. Караңыз, ал эч жакка кетпейт.

SQLди кантип үйрөнүү керек? Аны практика жүзүндө гана жаса.

Бул үчүн, мен эң сонун окуу куралын карап чыгууну сунуштайт элем, демек, бекер Mode Analytics.

  1. Орточо SQL
  2. SQLде берилиштерге кошулуу

Бул курстарды өзгөчө кылган нерсе, аларда SQL сурамдарын түздөн-түз браузериңизде жазып жана иштете ала турган интерактивдүү чөйрө бар. Ресурс Заманбап SQL ашыкча болбойт. Жана сиз бул билимди колдоно аласыз Leetcode милдеттери Маалымат базалары бөлүмүндө.

3. Python жана Java/Scala тилдеринде программалоо

Эмне үчүн сиз Python программалоо тилин үйрөнүшүңүз керек, мен буга чейин макалада жазганмын Python vs R. AI, ML жана Data Science үчүн мыкты куралды тандоо. Java жана Scala тилдерине келгенде, чоң көлөмдөгү маалыматтарды сактоо жана иштетүү куралдарынын көбү ушул тилдерде жазылган. Мисалы:

  • Апачи Кафка (Скала)
  • Hadoop, HDFS (Java)
  • Apache Spark (Scala)
  • Апачи Кассандра (Java)
  • HBase (Java)
  • Apache Hive (Java)

Бул куралдар кантип иштээрин түшүнүү үчүн, алар жазылган тилдерди билишиңиз керек. Scala функционалдык мамилеси параллелдүү маалыматтарды иштетүү маселелерин эффективдүү чечүүгө мүмкүндүк берет. Python, тилекке каршы, ылдамдыгы жана параллелдүү иштетүү менен мактана албайт. Жалпысынан алганда, бир нече тилдерди жана программалоо парадигмаларын билүү көйгөйлөрдү чечүүгө болгон мамиленин кеңдиги үчүн жакшы.

Скала тилине чөмүлүү үчүн, сиз окуй аласыз Скалада программалоо тилдин авторунан. Twitter ошондой эле жакшы таанышуу колдонмосун жарыялады - Скала мектеби.

Python боюнча, мен ишенем Эркин Python мыкты орто даражадагы китеп.

4. Чоң маалыматтар менен иштөө куралдары

Бул жерде чоң маалыматтар дүйнөсүндөгү эң популярдуу куралдардын тизмеси:

  • Apache Spark
  • Апачи Кафка
  • Apache Hadoop (HDFS, HBase, Hive)
  • Apache cassandra

Бул укмуштуудай чоң маалымат блокторун куруу жөнүндө көбүрөөк маалымат таба аласыз интерактивдүү чөйрө. Эң популярдуу куралдар - Spark жана Kafka. Алар, албетте, изилдөөгө татыктуу, алардын ичинен кантип иштээрин түшүнүү сунушталат. Жей Крепс (Кафканын авторлош) 2013-жылы монументалдуу чыгармасын жарыялаган Журнал: Ар бир программалык камсыздоону иштеп чыгуучу реалдуу убакыттагы маалыматтарды топтоо абстракциясы жөнүндө эмнени билиши керекАйтмакчы, бул Талмуддун негизги идеялары Апачи Кафканы түзүү үчүн колдонулган.

5. Булут платформалары

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Жок дегенде бир булут платформасын билүү маалымат инженери кызматына талапкерлер үчүн негизги талаптардын тизмесинде. Жумуш берүүчүлөр Amazon Web Services кызматын артык көрүшөт, экинчи орунда Google булут платформасы жана алдыңкы үчтүктү Microsoft Azure толуктады.

Сиз Amazon EC2, AWS Lambda, Amazon S3, DynamoDB боюнча жакшы билимге ээ болушуңуз керек.

6. Бөлүштүрүлгөн системалар

Чоң маалыматтар менен иштөө өз алдынча иштеген компьютерлердин кластерлеринин болушун билдирет, алардын ортосунда байланыш тармак аркылуу ишке ашырылат. Кластер канчалык чоң болсо, анын мүчө түйүндөрүнүн иштебей калуу ыктымалдыгы ошончолук чоң болот. Улуу маалымат илимпозу болуу үчүн, бөлүштүрүлгөн системалардын көйгөйлөрүн жана учурдагы чечимдерин түшүнүшүңүз керек. Бул аймак эски жана татаал.

Эндрю Таненбаум бул тармакта пионер болуп эсептелет. Теориядан коркпогондорго анын китебин сунуштайм "Бөлүштүрүлгөн системалар", бул үйрөнчүктөр үчүн коркунучтуу сезилиши мүмкүн, бирок ал чындап эле жөндөмүңүздү өркүндөтүүгө жардам берет.

Мен эсептейм Мартин Клеппман тарабынан берилиштерди талап кылган колдонмолорду долбоорлоо мыкты киришүү китеби. Баса, Мартиндин керемети бар блог. Анын иши чоң маалыматтарды сактоо жана иштетүү үчүн заманбап инфраструктураны куруу боюнча билимди системалаштырууга жардам берет.
Видеолорду көргөндү жакшы көргөндөр үчүн Youtube сайтында курс бар Бөлүштүрүлгөн компьютер системалары.

7. Маалымат өткөргүчтөрү

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Маалымат түтүктөрү - бул маалымат инженерисиз жашай албай турган нерсе.

Көпчүлүк учурда, маалымат инженери маалымат түтүгүн курат, башкача айтканда, маалыматтарды бир жерден экинчи жерге жеткирүү процессин түзөт. Бул тышкы кызматтын API'сине өтүүчү же SQL суроосун жасап, маалыматтарды кеңейтип, борборлоштурулган дүкөнгө (маалыматтар кампасы) же структураланбаган маалымат кампасына (маалымат көлдөрү) киргизген ыңгайлаштырылган скрипттер болушу мүмкүн.

Кыскача айтканда: маалымат инженери үчүн негизги текшерүү тизмеси

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Жыйынтыктап айтканда, төмөнкүлөрдү жакшы түшүнүү керек:

  • Маалымат системалары;
  • Программалык камсыздоону иштеп чыгуу (Agile, DevOps, Design Techniques, SOA);
  • Бөлүштүрүлгөн системалар жана параллелдүү программалоо;
  • Берилиштер базасынын негиздери - пландаштыруу, долбоорлоо, эксплуатациялоо жана көйгөйлөрдү чечүү;
  • Эксперименттердин дизайны - түшүнүктөрдү далилдөө, ишенимдүүлүктү, системанын иштешин аныктоо жана жакшы чечимдерди тез жеткирүү үчүн ишенимдүү жолдорду иштеп чыгуу үчүн A/B тесттери.

Бул маалымат инженери болуу үчүн коюлган талаптардын бир нечеси гана, андыктан маалымат тутумдарын, маалымат системаларын, үзгүлтүксүз жеткирүү/жайгаштыруу/интеграциялоо, программалоо тилдерин жана башка информатика темаларын (баардык предметтик чөйрөлөр эмес) үйрөнүңүз жана түшүнүңүз.

Акыр-аягы, мен айткым келген акыркы, бирок абдан маанилүү нерсе.

Data Engineering болуунун жолу көрүнгөндөй жөнөкөй эмес. Ал кечирбейт, капаланат, сен буга даяр болушуң керек. Бул сапардын кээ бир учурлары сизди баш тартууга түртүшү мүмкүн. Бирок бул чыныгы иш жана окуу процесси.

Аны башынан эле кант кылба. Саякаттоонун негизги максаты - мүмкүн болушунча көбүрөөк үйрөнүү жана жаңы кыйынчылыктарга даяр болуу.
Бул жерде мен бул ойду жакшы чагылдырган сонун сүрөт бар:

Маалымат инженерлери кимдер жана кантип сиз бири болосуз?

Жана ооба, күйүп кетүүдөн качууну жана эс алууну унутпаңыз. Бул да абдан маанилүү. Жолуңуз ачык болсун!

Макалага кандай карайсыз, достор? Сизди чакырабыз акысыз вебинар, ал бүгүн саат 20.00дө болот. Вебинардын жүрүшүндө биз чакан компания же стартап үчүн минималдуу чыгым менен кантип натыйжалуу жана масштабдуу маалыматтарды иштетүү тутумун курууну талкуулайбыз. Практика катары биз Google Cloud маалыматтарды иштетүү куралдары менен таанышабыз. Көрүшкөнчө!

Source: www.habr.com

Комментарий кошуу