7 projek Hadoop dan Spark yang paling biasa

Terdapat aksioma lama yang berlaku seperti ini: Sekiranya anda menawarkan sokongan penuh dan sokongan kewangan kepada seseorang untuk melakukan sesuatu yang berbeza dan inovatif, mereka akhirnya akan melakukan apa yang orang lain lakukan.

Begitu juga dengan Hadoop, Spark, dan Storm. Semua orang berpendapat bahawa mereka melakukan sesuatu yang istimewa dengan teknologi data besar baru ini, tetapi tidak memerlukan masa yang lama untuk menghadapi corak yang sama berulang kali. Pelaksanaan khusus mungkin sedikit berbeza, tetapi berdasarkan pengalaman saya, berikut adalah tujuh projek yang paling biasa.

Projek No. 1: Penyatuan data

Sebut saja "hub data perusahaan" atau "tasik data." Ideanya ialah anda mempunyai sumber data yang berbeza, dan anda ingin melakukan analisis di seluruhnya. Jenis projek ini terdiri daripada mendapatkan umpan dari semua sumber (sama ada dalam masa nyata atau sebagai kumpulan) dan mendorongnya ke Hadoop. Kadang-kadang ini adalah langkah pertama untuk menjadi "syarikat berdasarkan data"; kadangkala anda hanya mahukan laporan yang cantik. Tasik data biasanya terwujud sebagai fail pada HDFS dan jadual di Hive atau Impala. Terdapat dunia baru yang berani di mana sebahagian besar ini muncul di HBase - dan Phoenix, pada masa akan datang, kerana Hive lambat.

Jurujual suka mengatakan perkara seperti "skema yang dibaca", tetapi sebenarnya, untuk berjaya, anda mesti mempunyai idea yang baik tentang kes penggunaan anda (skema Hive tidak akan kelihatan sangat berbeza daripada yang anda lakukan gudang data perusahaan). Sebab sebenar data tasik adalah skalabiliti mendatar dan kos yang jauh lebih rendah daripada Teradata atau Netezza. Untuk "analisis", banyak orang menyiapkan Tableau dan Excel di bahagian depan. Syarikat yang lebih canggih dengan "saintis data sebenar" (ahli geologi matematik yang menulis Python buruk) menggunakan notebook Zeppelin atau iPython sebagai jalan depan.

Projek No. 2: Analisis khusus

Banyak projek penyatuan data sebenarnya bermula di sini, di mana anda mempunyai keperluan khas dan masukkan satu set data untuk sistem yang melakukan satu jenis analisis. Ini cenderung sangat khusus untuk domain, seperti risiko kecairan / simulasi Monte Carlo di bank. Pada masa lalu, analisis khusus seperti itu bergantung pada pakej eksklusif kuno yang tidak dapat ditingkatkan seperti data dan sering menderita set fitur terhad (sebahagiannya kerana vendor perisian tidak mungkin mengetahui sebanyak itu tentang domain seperti institusi tersebut tenggelam di dalamnya).

Di dunia Hadoop dan Spark, sistem ini kelihatan hampir sama dengan sistem penyatuan data tetapi sering mempunyai lebih banyak HBase, kod bukan SQL khusus, dan lebih sedikit sumber data (jika bukan hanya satu). Semakin banyak, mereka berasaskan Spark.

No.3 Projek: Hadoop sebagai perkhidmatan

Dalam mana-mana organisasi besar dengan projek "analisis khusus" (dan ironinya satu atau dua projek "penyatuan data") mereka pasti akan mula merasakan "kegembiraan" (iaitu, kesakitan) menguruskan beberapa kelompok Hadoop yang dikonfigurasi secara berbeza, kadang-kadang dari yang berbeza penjual. Seterusnya mereka akan mengatakan, "Mungkin kita harus menggabungkan ini dan mengumpulkan sumber daya," dan bukannya separuh daripada node mereka duduk kosong separuh masa. Mereka boleh pergi ke awan, tetapi banyak syarikat tidak dapat atau tidak, sering kerana alasan keselamatan (baca: politik dalaman dan perlindungan pekerjaan). Ini secara amnya bermaksud banyak resipi Chef dan sekarang pakej bekas Docker.

Saya belum menggunakannya, tetapi Data Biru nampaknya mempunyai hal yang paling dekat dengan penyelesaian luar kotak di sini, yang juga akan menarik minat organisasi-organisasi kecil yang tidak mempunyai kemampuan untuk menggunakan Hadoop sebagai perkhidmatan.

Projek No. 4: Analisis streaming

Ramai orang menyebutnya "streaming", tetapi analisa streaming agak berbeza dengan streaming dari peranti. Selalunya, analisis streaming adalah versi yang lebih nyata dari apa yang dilakukan oleh organisasi secara berkumpulan. Ikuti pengubahan wang haram atau pengesanan penipuan: Mengapa tidak dilakukan berdasarkan urus niaga dan tangkap kerana berlaku bukan pada akhir kitaran? Perkara yang sama berlaku untuk pengurusan inventori atau apa sahaja.

Dalam beberapa kes, ini adalah jenis sistem transaksional baru yang menganalisis data sedikit demi sedikit ketika anda mengubahnya menjadi sistem analisis secara selari. Sistem sedemikian memperlihatkan diri mereka sebagai Spark atau Storm dengan HBase sebagai penyimpanan data biasa. Perhatikan bahawa analitik streaming tidak menggantikan semua bentuk analisis; anda masih mahu memaparkan trend sejarah atau melihat data masa lalu untuk sesuatu yang tidak pernah anda fikirkan.

Projek No 5: Pemprosesan acara yang kompleks

Di sini kita bercakap mengenai pemprosesan acara masa nyata, di mana perkara penting. Walaupun masih belum cukup pantas untuk aplikasi latensi ultra rendah (picosecond atau nanodetik), seperti sistem perdagangan kelas atas, anda boleh menjangkakan masa tindak balas milisaat. Contohnya merangkumi penilaian masa nyata rekod data panggilan untuk telco atau pemprosesan acara Internet of things. Kadang kala, anda akan melihat sistem seperti ini menggunakan Spark dan HBase - tetapi secara amnya sistem tersebut jatuh di wajah mereka dan harus ditukar menjadi Storm, yang berdasarkan corak Disruptor yang dikembangkan oleh pertukaran LMAX.

Pada masa lalu, sistem seperti itu didasarkan pada perisian pesanan khusus - atau produk pesanan pelayan pelanggan berprestasi tinggi, tanpa rak, tetapi jumlah data hari ini terlalu banyak untuk kedua-duanya. Jumlah dagangan dan jumlah pengguna telefon bimbit telah meningkat sejak sistem warisan itu dibuat, dan sensor perubatan dan industri mengeluarkan terlalu banyak bit. Saya belum menggunakannya, tetapi projek Apex kelihatan menjanjikan dan mendakwa lebih pantas daripada Storm.

Projek No. 6: Streaming sebagai ETL

Kadang-kadang anda mahu menangkap data streaming dan menyimpannya di suatu tempat. Projek-projek ini biasanya bertepatan dengan No. 1 atau No. 2, tetapi menambah skop dan ciri mereka sendiri. (Sebilangan orang berpendapat bahawa mereka melakukan No. 4 atau No. 5, tetapi mereka sebenarnya membuang ke disk dan menganalisis data kemudian.) Ini hampir selalu merupakan projek Kafka dan Storm. Spark juga digunakan, tetapi tanpa justifikasi, kerana anda tidak benar-benar memerlukan analisis dalam memori.

Projek No. 7: Mengganti atau menambah SAS

SAS baik-baik saja; SAS bagus. SAS juga mahal dan kami tidak membeli kotak untuk semua saintis dan penganalisis data anda sehingga anda dapat "bermain" dengan data tersebut. Selain itu, anda ingin melakukan sesuatu yang berbeza daripada yang dapat dilakukan oleh SAS atau menghasilkan grafik yang lebih cantik. Inilah tasik data anda yang bagus. Berikut adalah Notebook iPython (sekarang) atau Zeppelin (kemudian). Kami akan memasukkan hasilnya ke SAS dan menyimpan hasil dari SAS di sini.

Walaupun saya pernah melihat projek Hadoop, Spark, atau Storm lain, ini adalah jenis biasa "biasa". Sekiranya anda menggunakan Hadoop, anda mungkin mengenalinya. Beberapa kes penggunaan untuk sistem ini yang saya laksanakan bertahun-tahun sebelumnya, bekerja dengan teknologi lain.

Sekiranya anda orang lama terlalu takut dengan "besar" dalam data besar atau "lakukan" di Hadoop, jangan. Semakin banyak perkara berubah semakin mereka tetap sama. Anda akan dapati banyak persamaan antara barang yang anda gunakan dan teknologi hipster berpusing di sekitar Hadooposfera.