Sapa insinyur data, lan kepiye sampeyan dadi siji?

Halo maneh! Judhul artikel ngomong dhewe. Ing nunggu wiwitan kursus Data Engineer Disaranake sampeyan ngerti sapa insinyur data. Ana akeh pranala migunani ing artikel kasebut. Sugeng maca.

Sapa insinyur data, lan kepiye sampeyan dadi siji?

Pandhuan prasaja babagan cara nyekel gelombang Teknik Data lan aja nganti nyeret sampeyan menyang jurang.

Kayane kabeh wong kepengin dadi Ilmuwan Data saiki. Nanging kepiye babagan Teknik Data? Ateges, iki minangka jinis hibrida saka analis data lan ilmuwan data; Insinyur data biasane tanggung jawab kanggo ngatur alur kerja, ngolah pipa, lan proses ETL. Amarga pentinge fungsi kasebut, iki minangka jargon profesional populer liyane sing aktif entuk momentum.

Gaji sing dhuwur lan panjaluk gedhe mung minangka bagean cilik sing ndadekake proyek iki atraktif! Yen sampeyan pengin melu ing pangkat pahlawan, iku ora kasep kanggo miwiti sinau. Ing kirim iki, aku wis ngumpulake kabeh informasi sing perlu kanggo mbantu njupuk langkah pisanan.

Dadi, ayo miwiti!

Apa Rekayasa Data?

Jujur, ora ana panjelasan sing luwih apik tinimbang iki:

"Ilmuwan bisa nemokake lintang anyar, nanging ora bisa nggawe. Dheweke kudu njaluk insinyur kanggo nindakake kanggo dheweke."

-Gordon Lindsay Glegg

Dadi, peran insinyur data cukup signifikan.

Minangka jeneng kasebut, rekayasa data gegayutan karo data, yaiku pangiriman, panyimpenan lan pangolahan. Dadi, tugas utama insinyur yaiku nyedhiyakake infrastruktur sing dipercaya kanggo data. Yen kita ndeleng hierarki kabutuhan AI, teknik data duwe 2-3 tahap pisanan: koleksi, gerakan lan panyimpenan, preparation data.

Sapa insinyur data, lan kepiye sampeyan dadi siji?

Apa sing ditindakake insinyur data?

Kanthi tekane data gedhe, ruang lingkup tanggung jawab wis owah banget. Yen sadurunge para ahli kasebut nulis pitakon SQL sing gedhe lan data sing disuling nggunakake alat kayata Informatica ETL, Pentaho ETL, Talend, saiki syarat kanggo insinyur data saya tambah.

Umume perusahaan sing mbukak lowongan kanggo posisi insinyur data duwe syarat ing ngisor iki:

  • Kawruh banget babagan SQL lan Python.
  • Pengalaman karo platform maya, utamane Layanan Web Amazon.
  • Kawruh Java / Scala disenengi.
  • Pangerten sing apik babagan database SQL lan NoSQL (modeling data, data warehousing).

Elinga, iki mung sing penting. Saka dhaptar iki, bisa dianggep manawa insinyur data minangka spesialis ing bidang pangembangan piranti lunak lan backend.
Contone, yen perusahaan wiwit ngasilake akeh data saka macem-macem sumber, tugas sampeyan minangka insinyur data kanggo ngatur koleksi informasi, pangolahan lan panyimpenan.

Dhaptar alat sing digunakake ing kasus iki bisa beda-beda, kabeh gumantung saka volume data iki, kacepetan panrimo lan heterogenitas. Umume perusahaan ora ngurusi data gedhe, mula minangka gudang terpusat, sing diarani gudang data, sampeyan bisa nggunakake basis data SQL (PostgreSQL, MySQL, lan sapiturute) kanthi sakumpulan skrip cilik sing ngemot data menyang gudang.

Buta IT kayata Google, Amazon, Facebook utawa Dropbox duwe syarat sing luwih dhuwur: kawruh Python, Java utawa Scala.

  • Pengalaman karo data gedhe: Hadoop, Spark, Kafka.
  • Kawruh algoritma lan struktur data.
  • Ngerteni dhasar sistem sing disebarake.
  • Pengalaman karo alat visualisasi data kayata Tableau utawa ElasticSearch bakal dadi plus.

Tegese, ana owah-owahan sing cetha menyang data gedhe, yaiku ing pangolahan ing beban dhuwur. Perusahaan kasebut nambah syarat kanggo toleransi kesalahan sistem.

Insinyur Data vs. ilmuwan data

Sapa insinyur data, lan kepiye sampeyan dadi siji?
Oke, iki perbandingan sing prasaja lan lucu (ora ana sing pribadi), nanging nyatane luwih rumit.

Pisanan, sampeyan kudu ngerti manawa ana akeh ambiguitas ing delineasi peran lan katrampilan ilmuwan data lan insinyur data. Yaiku, sampeyan bisa gampang bingung babagan katrampilan apa sing dibutuhake kanggo dadi insinyur data sing sukses. Mesthi, ana katrampilan tartamtu sing tumpang tindih karo loro peran kasebut. Nanging ana uga sawetara skills diametrically gantos.

Ilmu data minangka bisnis sing serius, nanging kita maju menyang jagad ilmu data fungsional ing ngendi para praktisi bisa nindakake analytics dhewe. Kanggo ngaktifake saluran pipa data lan struktur data terintegrasi, sampeyan butuh insinyur data, dudu ilmuwan data.

Apa insinyur data luwih dikarepake tinimbang ilmuwan data?

- Ya, amarga sadurunge sampeyan bisa nggawe kue wortel, sampeyan kudu ngumpulake, kupas lan stok wortel!

Insinyur data luwih ngerti pemrograman tinimbang ilmuwan data, nanging nalika nerangake statistik, kebalikane.

Nanging iki kauntungan saka insinyur data:

Tanpa dheweke, regane model prototipe, sing paling kerep kalebu potongan kode kualitas sing nggegirisi ing file Python, sing diduweni saka ilmuwan data lan ngasilake asil, cenderung nul.

Tanpa insinyur data, kode iki ora bakal dadi proyek lan ora ana masalah bisnis sing bakal ditanggulangi kanthi efektif. Insinyur data nyoba ngowahi kabeh iki dadi produk.

Informasi dhasar sing kudu dingerteni insinyur data

Sapa insinyur data, lan kepiye sampeyan dadi siji?

Dadi, yen proyek iki ndadekake cahya ing sampeyan lan sampeyan antusias - sampeyan bisa sinau, sampeyan bisa nguwasani kabeh katrampilan sing dibutuhake lan dadi bintang rock nyata ing bidang teknik data. Lan, ya, sampeyan bisa nindakake iki sanajan tanpa katrampilan pemrograman utawa kawruh teknis liyane. Iku angel, nanging bisa!

Apa langkah pisanan?

Sampeyan kudu duwe gagasan umum babagan apa.

Kaping pisanan, Teknik Data nuduhake ilmu komputer. Luwih khusus, sampeyan kudu ngerti algoritma lan struktur data sing efisien. Kapindho, amarga insinyur data nggarap data, mula kudu ngerti prinsip basis data lan struktur sing ndasari.

Contone, basis data SQL B-tree konvensional adhedhasar struktur data B-Tree, uga ing repositori sing disebarake modern, LSM-Tree lan modifikasi liyane saka tabel hash.

*Langkah-langkah iki adhedhasar artikel sing apik Adilya Khastamova. Dadi, yen sampeyan ngerti basa Rusia, ndhukung penulis iki lan maca kirimane.

1. Algoritma lan struktur data

Nggunakake struktur data sing bener bisa ningkatake kinerja algoritma. Saenipun, kita kabeh kudu sinau babagan struktur data lan algoritma ing sekolah kita, nanging iki arang banget ditutupi. Ing kasus apa wae, ora kasep kanggo kenalan.
Dadi iki kursus gratis sing paling disenengi kanggo sinau struktur data lan algoritma:

Kajaba iku, aja lali babagan karya klasik Thomas Corman babagan algoritma - Pambuka kanggo Algoritma. Iki minangka referensi sing sampurna nalika sampeyan kudu refresh memori.

  • Kanggo nambah katrampilan, gunakake Letcode.

Sampeyan uga bisa nyilem menyang jagad database kanthi video sing luar biasa saka Universitas Carnegie Mellon ing Youtube:

2. Sinau SQL

Kabeh urip kita minangka data. Lan kanggo ngekstrak data iki saka database, sampeyan kudu "ngomong" basa sing padha.

SQL (Structured Query Language) minangka basa komunikasi ing domain data. Ora preduli apa sing dikandhakake sapa wae, SQL wis urip, urip, lan bakal urip suwe banget.

Yen sampeyan wis ing pembangunan kanggo dangu, sampeyan mbokmenawa wis ngeweruhi sing gosip bab pati cedhak SQL pop munggah periodik. Basa iki dikembangake ing awal taun 70-an lan isih populer banget ing kalangan analis, pangembang lan para penggemar.
Tanpa kawruh SQL ora ana sing kudu ditindakake ing teknik data amarga sampeyan mesthi kudu nggawe pitakon kanggo njupuk data. Kabeh gudang data gedhe modern ndhukung SQL:

  • Amazon RedShift
  • HP Vertika Kab
  • Oracle
  • SQL Server

... lan akeh liyane.

Kanggo njelasno lapisan gedhe saka data sing disimpen ing sistem mbagekke kayata HDFS, mesin SQL nemokke: Apache Hive, Impala, etc. Waca, iku ora arep ngendi wae.

Kepiye carane sinau SQL? Mung nindakaken ing laku.

Kanggo nindakake iki, aku nyaranake mriksa tutorial sing apik banget, sing, kanthi cara, gratis, saka Analisis Mode.

  1. SQL penengah
  2. Gabung Data ing SQL

Sing nggawe kursus kasebut khusus yaiku duwe lingkungan interaktif sing bisa nulis lan mbukak pitakon SQL ing browser sampeyan. sumber daya SQL modern ora bakal superfluous. Lan sampeyan bisa nggunakake kawruh iki kanggo tugas Leetcode ing bagean Database.

3. Pemrograman ing Python lan Java / Scala

Napa sampeyan kudu sinau basa pemrograman Python, aku wis nulis ing artikel kasebut Python vs R. Milih Alat paling apik kanggo AI, ML lan Ilmu Data. Nalika nerangake Jawa lan Scala, umume alat kanggo nyimpen lan ngolah data sing akeh banget ditulis ing basa kasebut. Tuladhane:

  • Apache Kafka (Scala)
  • Hadoop, HDFS (Jawa)
  • Apache Spark (Scala)
  • Apache Cassandra (Jawa)
  • HBase (Jawa)
  • Apache Hive (Jawa)

Kanggo ngerti cara alat kasebut, sampeyan kudu ngerti basa sing ditulis. Pendekatan fungsional Scala ngidini sampeyan ngatasi masalah pangolahan data paralel kanthi efektif. Python, sayangΓ©, ora bisa gumunggung kacepetan lan pangolahan paralel. UmumΓ©, kawruh babagan sawetara basa lan paradigma pemrograman apik kanggo jembarΓ© pendekatan kanggo ngrampungake masalah.

Kanggo nyilem menyang basa Scala, sampeyan bisa maca Pemrograman ing Scala saka pangripta basa. Twitter uga nerbitake pandhuan pambuka sing apik - Sekolah Skala.

Minangka kanggo Python, aku pracaya Python lancar buku tingkat menengah paling apik.

4. Piranti kanggo nggarap data gedhe

Iki minangka dhaptar alat sing paling populer ing jagad data gedhe:

  • Apache Spark
  • Apache Kafka
  • Apache Hadoop (HDFS, HBase, Hive)
  • Apache cassandra

Sampeyan bisa nemokake informasi liyane babagan mbangun pamblokiran data gedhe ing sange iki lingkungan interaktif. Piranti sing paling populer yaiku Spark lan Kafka. Dheweke mesthi kudu sinau, luwih becik ngerti cara kerjane saka njero. Jay Kreps (co-penulis Kafka) nerbitake karya monumental ing 2013 Log: Apa Saben Pangembang Piranti Lunak Kudu Ngerti Babagan Abstraksi Agregasi Data Real-TimeMiturut cara, gagasan utama saka Talmud iki digunakake kanggo nggawe Apache Kafka.

5. Platform awan

Sapa insinyur data, lan kepiye sampeyan dadi siji?

Kawruh babagan paling ora siji platform awan ana ing dhaptar syarat dhasar kanggo pelamar kanggo posisi insinyur data. Majikan luwih seneng Layanan Web Amazon, kanthi platform awan Google ing posisi nomer loro lan Microsoft Azure nglumpukake telung ndhuwur.

Sampeyan kudu duwe kawruh apik babagan Amazon EC2, AWS Lambda, Amazon S3, DynamoDB.

6. Sistem sing disebarake

Nggarap data gedhe nuduhake ananΓ© kluster komputer sing operasi mandiri, komunikasi sing ditindakake liwat jaringan. Sing luwih gedhe kluster, luwih gedhe kemungkinan kegagalan simpul anggota. Kanggo dadi ilmuwan data sing apik, sampeyan kudu ngerti masalah lan solusi sing wis ana kanggo sistem sing disebarake. Wilayah iki lawas lan kompleks.

Andrew Tanenbaum dianggep minangka pionir ing lapangan iki. Kanggo sing ora wedi karo teori, aku nyaranake bukune "Sistem Distribusi", bisa uga katon nggegirisi kanggo pamula, nanging bakal mbantu sampeyan ngasah katrampilan sampeyan.

Aku mikir Ngrancang Aplikasi Data-Intensif dening Martin Kleppmann buku pambuko paling apik. Miturut cara, Martin wis apik blog. Pakaryane bakal mbantu sistematis kawruh babagan mbangun infrastruktur modern kanggo nyimpen lan ngolah data gedhe.
Kanggo sing seneng nonton video, ana kursus ing Youtube Sistem komputer sing disebarake.

7. Pipa data

Sapa insinyur data, lan kepiye sampeyan dadi siji?

Pipa data minangka sampeyan ora bisa urip tanpa minangka insinyur data.

Paling asring, insinyur data nggawe pipa data sing disebut, yaiku, dheweke nggawe proses kanggo ngirim data saka siji panggonan menyang panggonan liyane. Iki bisa dadi skrip khusus sing mlebu menyang API layanan eksternal utawa nggawe query SQL, nambah data, lan dilebokake ing toko terpusat (gudang data) utawa toko data sing ora terstruktur (danau data).

Kanggo ngringkes: dhaptar priksa dhasar kanggo insinyur data

Sapa insinyur data, lan kepiye sampeyan dadi siji?

Kanggo ngringkes, pangerten sing apik babagan ing ngisor iki dibutuhake:

  • Sistem Informasi;
  • Pangembangan piranti lunak (Agile, DevOps, Teknik Desain, SOA);
  • Sistem distribusi lan pemrograman paralel;
  • Dasar Basis Data - Perencanaan, Desain, Operasi lan Ngatasi Masalah;
  • Desain eksperimen - Tes A/B kanggo mbuktekake konsep, nemtokake linuwih, kinerja sistem, lan ngembangake jalur sing dipercaya kanggo menehi solusi sing apik kanthi cepet.

Iki mung sawetara syarat kanggo dadi insinyur data, mula sinau lan ngerti sistem data, sistem informasi, pangiriman terus-terusan / penyebaran / integrasi, basa pamrograman, lan topik ilmu komputer liyane (ora kabeh subyek).

Lan pungkasanipun, bab pungkasan nanging penting banget aku arep ngomong.

Path kanggo dadi Teknik Data ora gampang kaya sing dikira. Dheweke ora ngapura, dheweke frustrasi, lan sampeyan kudu siyap kanggo iki. Sawetara momen ing perjalanan iki bisa nyebabake sampeyan nyerah. Nanging iki minangka karya nyata lan proses sinau.

Cukup aja sugarcoat saka wiwitan. Intine lelungan yaiku sinau sabisane lan siyap kanggo tantangan anyar.
Mangkene gambar apik sing daktemu sing nggambarake titik iki kanthi apik:

Sapa insinyur data, lan kepiye sampeyan dadi siji?

Lan ya, elinga supaya ora kesel lan istirahat. Iki uga penting banget. Sugeng enjang!

Apa pendapat sampeyan babagan artikel kasebut, kanca-kanca? Kita ngajak sampeyan webinar gratis, sing bakal ditindakake dina iki jam 20.00. Sajrone webinar, kita bakal ngrembug babagan carane mbangun sistem pangolahan data sing efektif lan bisa diukur kanggo perusahaan cilik utawa wiwitan kanthi biaya minimal. Minangka praktik, kita bakal kenal karo alat pangolahan data Google Cloud. Sampai jumpa!

Source: www.habr.com

Add a comment