7 proyek Hadoop dan Spark paling umum

Ada aksioma lama yang berlangsung seperti ini: Jika Anda menawarkan dukungan penuh dan dukungan finansial kepada seseorang untuk melakukan sesuatu yang berbeda dan inovatif, mereka pada akhirnya akan melakukan apa yang dilakukan orang lain.

Begitu pula dengan Hadoop, Spark, dan Storm. Semua orang mengira mereka melakukan sesuatu yang istimewa dengan teknologi data besar baru ini, tetapi tidak butuh waktu lama untuk menemukan pola yang sama berulang kali. Implementasi khusus mungkin agak berbeda, tetapi berdasarkan pengalaman saya, berikut adalah tujuh proyek yang paling umum.

Proyek No. 1: Konsolidasi data

Sebut saja "hub data perusahaan" atau "danau data". Idenya adalah Anda memiliki sumber data yang berbeda, dan Anda ingin melakukan analisis terhadap sumber data tersebut. Jenis proyek ini terdiri dari mendapatkan umpan dari semua sumber (baik waktu nyata atau sebagai kelompok) dan mendorongnya ke Hadoop. Terkadang ini adalah langkah pertama untuk menjadi "perusahaan berbasis data"; terkadang Anda hanya menginginkan laporan yang bagus. Data lake biasanya muncul sebagai file di HDFS dan tabel di Hive atau Impala. Ada dunia baru yang berani di mana sebagian besar hal ini muncul di HBase - dan Phoenix, di masa mendatang, karena Hive lambat.

Penjual suka mengatakan hal-hal seperti "skema saat dibaca", tetapi sebenarnya, agar berhasil, Anda harus memiliki gagasan yang baik tentang kasus penggunaan Anda nantinya (bahwa skema Hive tidak akan terlihat sangat berbeda dari yang Anda lakukan di gudang data perusahaan). Alasan sebenarnya untuk data lake adalah skalabilitas horizontal dan biaya yang jauh lebih rendah daripada Teradata atau Netezza. Untuk "analisis", banyak orang menyiapkan Tableau dan Excel di bagian depan. Perusahaan yang lebih canggih dengan "ilmuwan data nyata" (ahli matematika yang menulis Python yang buruk) menggunakan notebook Zeppelin atau iPython sebagai ujung depan.

Proyek No. 2: Analisis khusus

Banyak proyek konsolidasi data sebenarnya dimulai di sini, di mana Anda memiliki kebutuhan khusus dan menarik satu kumpulan data untuk sistem yang melakukan satu jenis analisis. Ini cenderung sangat spesifik untuk domain, seperti risiko likuiditas / simulasi Monte Carlo di bank. Di masa lalu, analisis khusus seperti itu bergantung pada paket berpemilik kuno yang tidak dapat ditingkatkan seperti datanya dan sering menderita dari rangkaian fitur terbatas (sebagian karena vendor perangkat lunak tidak dapat kemungkinan mengetahui sebanyak mungkin tentang domain sebagai institusi. tenggelam di dalamnya).

Di dunia Hadoop dan Spark, sistem ini terlihat kurang lebih sama dengan sistem konsolidasi data tetapi seringkali memiliki lebih banyak HBase, kode non-SQL kustom, dan lebih sedikit sumber data (jika tidak hanya satu). Semakin banyak, mereka berbasis Spark.

Proyek No. 3: Hadoop sebagai layanan

Dalam organisasi besar mana pun dengan proyek "analisis khusus" (dan ironisnya satu atau dua proyek "konsolidasi data") mereka pasti akan mulai merasakan "kegembiraan" (yaitu, rasa sakit) dalam mengelola beberapa kluster Hadoop yang dikonfigurasi secara berbeda, terkadang dari kelompok yang berbeda vendor. Selanjutnya mereka akan berkata, "Mungkin kita harus mengkonsolidasikan ini dan mengumpulkan sumber daya," daripada membiarkan setengah dari node mereka menganggur di separuh waktu. Mereka dapat beralih ke cloud, tetapi banyak perusahaan tidak dapat atau tidak mau, seringkali untuk alasan keamanan (baca: politik internal dan perlindungan pekerjaan). Ini biasanya berarti banyak resep Chef dan sekarang paket kontainer Docker.

Saya belum menggunakannya, tetapi Blue Data tampaknya memiliki solusi yang paling dekat dengan solusi di luar kotak di sini, yang juga akan menarik bagi organisasi yang lebih kecil yang tidak memiliki sarana untuk menerapkan Hadoop sebagai layanan.

Proyek No. 4: Analisis streaming

Banyak orang akan menyebutnya "streaming", tetapi analisis streaming agak berbeda dari streaming dari perangkat. Seringkali, streaming analytics adalah versi yang lebih real-time dari apa yang dilakukan organisasi dalam kelompok. Ambil antimoney laundering atau deteksi penipuan: Mengapa tidak melakukan itu atas dasar transaksi dan menangkapnya saat itu terjadi daripada di akhir siklus? Hal yang sama berlaku untuk manajemen inventaris atau yang lainnya.

Dalam beberapa kasus, ini adalah jenis sistem transaksional baru yang menganalisis data sedikit demi sedikit saat Anda memasukkannya ke dalam sistem analitik secara paralel. Sistem seperti itu memanifestasikan dirinya sebagai Spark atau Storm dengan HBase sebagai penyimpanan data biasa. Perhatikan bahwa streaming analytics tidak menggantikan semua bentuk analitik; Anda tetap ingin memunculkan tren historis atau melihat data masa lalu untuk sesuatu yang tidak pernah Anda pertimbangkan.

Proyek No. 5: Pemrosesan acara yang kompleks

Di sini kita berbicara tentang pemrosesan peristiwa waktu nyata, di mana sub-detik penting. Meskipun masih belum cukup cepat untuk aplikasi ultra-latensi rendah (pikodetik atau nanodetik), seperti sistem perdagangan kelas atas, Anda dapat mengharapkan waktu respons milidetik. Contohnya termasuk rating real-time dari catatan data panggilan untuk perusahaan telekomunikasi atau pemrosesan peristiwa Internet of Things. Terkadang, Anda akan melihat sistem seperti itu menggunakan Spark dan HBase - tetapi umumnya sistem jatuh dan harus diubah ke Storm, yang didasarkan pada pola Disruptor yang dikembangkan oleh bursa LMAX.

Di masa lalu, sistem semacam itu didasarkan pada perangkat lunak perpesanan yang disesuaikan - atau produk perpesanan klien-server berkinerja tinggi, siap pakai - tetapi volume data saat ini terlalu banyak untuk keduanya. Volume perdagangan dan jumlah orang yang memiliki ponsel telah meningkat sejak sistem lama dibuat, dan sensor medis dan industri mengeluarkan terlalu banyak bit. Saya belum pernah menggunakannya, tetapi proyek Apex terlihat menjanjikan dan mengklaim lebih cepat dari Storm.

Proyek No. 6: Streaming sebagai ETL

Terkadang Anda ingin menangkap data streaming dan menyimpannya di suatu tempat. Proyek-proyek ini biasanya bertepatan dengan No. 1 atau No. 2, tetapi menambahkan ruang lingkup dan karakteristiknya sendiri. (Beberapa orang mengira mereka melakukan No. 4 atau No. 5, tetapi sebenarnya mereka membuang ke disk dan menganalisis datanya nanti.) Ini hampir selalu merupakan proyek Kafka dan Storm. Spark juga digunakan, tetapi tanpa pembenaran, karena Anda tidak terlalu membutuhkan analitik dalam memori.

Proyek No. 7: Mengganti atau menambah SAS

SAS baik-baik saja; SAS bagus. SAS juga mahal dan kami tidak membeli kotak untuk Anda semua data scientist dan analis sehingga Anda dapat "bermain" dengan data tersebut. Selain itu, Anda ingin melakukan sesuatu yang berbeda dari yang dapat dilakukan SAS atau menghasilkan grafik yang lebih cantik. Ini adalah data lake Anda yang bagus. Berikut adalah Notebook iPython (sekarang) atau Zeppelin (nanti). Kami akan memasukkan hasilnya ke dalam SAS dan menyimpan hasil dari SAS di sini.

Meskipun saya telah melihat proyek Hadoop, Spark, atau Storm lainnya, ini adalah tipe sehari-hari yang "normal". Jika Anda menggunakan Hadoop, Anda mungkin mengenalinya. Beberapa kasus penggunaan untuk sistem ini telah saya terapkan bertahun-tahun sebelumnya, bekerja dengan teknologi lain.

Jika Anda orang tua yang terlalu takut dengan "besar" dalam data besar atau "melakukan" di Hadoop, jangan. Semakin banyak hal berubah semakin mereka tetap sama. Anda akan menemukan banyak kesamaan antara hal-hal yang biasa Anda terapkan dan teknologi hipster yang berputar-putar di sekitar Hadooposphere.