Getting a Peak of the Big Data/Cloud Computing Workflow Using AWS – Towards AI

Pengarang: Ruiz Rivera

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Foto oleh Taylor Vick di Unsplash

Meskipun saya sekarang memiliki kesempatan untuk bermain dengan teknologi yang berbeda ini, saya masih kagum dengan kenyamanan, portabilitas, dan kekuatan komputasi yang ditawarkan oleh teknologi Big Data dan Cloud Computing, baik untuk konsumen maupun bisnis. Dari sudut pandang konsumen, misalnya, mereka memiliki kemampuan untuk mengakses semua informasi penting mereka dari perangkat apa pun tanpa harus terlalu khawatir kehilangan informasi atau melupakan perangkat mereka. Dari perspektif seorang praktisi teknologi atau data, mereka dapat memanfaatkan kekuatan pemrosesan mentah dan kemampuan penyimpanan data yang kemungkinan besar tidak akan pernah mereka akses jika teknologi itu tidak pernah ada. Meskipun kata-kata kunci seperti kecerdasan buatan, pembelajaran mesin, ilmu data, atau analitik adalah semua hype akhir-akhir ini, bagi saya, kemajuan dalam komputasi awan dan penyimpanan awan tidak pernah mendapatkan cukup cinta sebagai salah satu pendorong utama inovasi; memungkinkan kami untuk bekerja, berkolaborasi, dan menskalakan solusi dengan cara yang benar-benar transformatif.

Sekarang setelah kita memuji Cloud Computing, sekarang mari kita fokus pada perspektif praktisi data dalam memanfaatkan teknologi ini untuk memanfaatkan Big Data dan menghasilkan wawasan yang dapat ditindaklanjuti. Dalam artikel ini, saya ingin memberikan puncak pada alur kerja Data Scientist saat bekerja dengan Big Data bagi mereka yang ingin tahu tentang ruang, menggunakan alat standar industri yang disediakan oleh Amazon Web Services (AWS). Lebih khusus lagi, saya akan membahas:

Cara mengakses penyimpanan dan kerangka pemrosesan paralel, Hadoop File Storage System (HDFS); Cara mengunggah data ke sistem Penyimpanan Awan S3 Amazon; Cara memperdebatkan dan menganalisis data dalam skala besar, menggunakan PySpark; Bagaimana cara menyimpan pekerjaan Anda kembali ke HDFS dan memindahkannya kembali ke S3; Cara menghubungkan lingkungan notebook, seperti JupyterLab atau SageMaker Amazon.

Ingatlah bahwa ada banyak cara untuk menyelesaikan tugas yang sama di AWS. Selain sudah memiliki akun AWS, keakraban dengan Python, Bash, dan konsep pemrograman dasar merupakan prasyarat lunak untuk menuai nilai dalam artikel ini. Anda juga memerlukan kunci keamanan yang diberikan kepada Anda dalam file .pem saat Anda pertama kali mendaftar akun AWS untuk mengakses mesin virtual pada platform EC2 Amazon. Dan dengan itu, mari kita mulai!

1. Memutar klaster AWS Elastic Map Reduce (EMR)

Langkah pertama yang cukup universal di seluruh platform komputasi awan adalah membuat cluster Hadoop yang memungkinkan penyimpanan dan pemrosesan paralel yang telah kami sebutkan sebelumnya. Platform EMR Amazon memungkinkan kami untuk berinteraksi dengan kerangka kerja Hadoop Apache untuk memproses kumpulan data besar yang akan kami kerjakan dan merupakan faktor yang harus selalu kami perhatikan saat memperhitungkan biaya komputasi awan yang akan dibebankan Amazon kami setiap kali kami menyewa sumber daya mereka.

Sebagian besar alat yang akan kami gunakan dapat ditemukan di bilah menu “Layanan” di bawah submenu “Analitik”.

Sumber: Gambar oleh Penulis

Selanjutnya, kita ingin mengklik Create a cluster dan menguraikan spesifikasi yang kita perlukan untuk pekerjaan kita di langkah 1. Hal pertama yang ingin kita lakukan di sini adalah mengklik tautan Go to the advanced settings, sebagai spesifikasi untuk pekerjaan kami akan sedikit lebih terperinci daripada yang ditawarkan pada pengaturan opsi cepat. Menavigasi ke pengaturan lanjutan akan membawa kita ke Langkah 1: Perangkat lunak dan langkah-langkah.

Untuk panduan ini, kami akan menggunakan versi lama dari klaster EMR Amazon untuk memastikan bahwa semua alat yang akan kami gunakan di ekosistem AWS akan berfungsi sebagaimana mestinya. Kami juga ingin memeriksa kit perkakas kami untuk pekerjaan ini yang dalam hal ini adalah Hadoop, JupyterHub, Hive, dan Spark.

Sumber: Gambar oleh Penulis

Untuk langkah 2, kita bisa membiarkan pengaturan default apa adanya. Pada langkah 3, Anda ingin memberi nama cluster Anda di bilah input nama cluster.

Selanjutnya, lanjutkan ke langkah 4, penting untuk menentukan pasangan kunci yang akan memberi kita akses ke EC2, mesin virtual AWS yang memberi kita akses penuh ke ekosistem AWS. Nama pasangan kunci Anda harus sama dengan nama yang Anda berikan pada .pem saat mendaftar. Setelah Anda menentukan pasangan kunci EC2, navigasikan ke sudut kanan bawah halaman dan klik buat cluster.

Sumber: Gambar oleh Penulis

2. Menggunakan SSH untuk terhubung ke node kepala cluster

Sekarang kami telah mengonfigurasi parameter kami ke spesifikasi pekerjaan kami, itu akan memakan waktu beberapa menit untuk sepenuhnya aktif dan berjalan. Sementara itu, kami dapat memeriksa untuk memastikan bahwa pengaturan kami dikonfigurasi sedemikian rupa sehingga kami dapat mengakses node cluster kami melalui tunneling SSH. Untuk melakukannya, kami ingin memastikan bahwa kami kembali ke tab Ringkasan, dan di bawah subjudul Keamanan dan akses, kami ingin mengklik tautan di samping grup Keamanan untuk label Master:

Sumber: Gambar oleh Penulis

Mengklik tautan keamanan itu akan membawa Anda ke halaman Grup keamanan. Di sana Anda akan ingin mengklik kanan grup keamanan yang menyebutkan grup Master dalam deskripsinya dan pilih edit aturan masuk:

Sumber: Gambar oleh Penulis

Terakhir, Anda harus memastikan bahwa salah satu aturan masuk memiliki SSH yang telah dipilih sebelumnya, bersama dengan opsi IP Saya. Jika salah satu opsi ini tidak ada, gunakan menu tarik-turun untuk memilih SSH. Tanpa mengaktifkan akses SSH, kami tidak akan dapat mengakses mesin virtual EC2 yang berinteraksi dengan cluster komputasi. Setelah Anda memeriksa opsi ini, lanjutkan dan klik Simpan Aturan, lalu navigasikan kembali ke tab ringkasan utama. Mudah-mudahan, saat ini, cluster setidaknya ditampilkan sebagai Mulai sehingga kami dapat mulai membuat koneksi SSH.

Sumber: Gambar oleh Penulis

Pada tab ringkasan, di bawah mana dikatakan Master Public DNS, klik tautan Connect to the Master Node Using SSH dan navigasikan langsung ke tab Mac/Linux jika Anda sudah menginstal Bash Terminal di komputer Anda, apa pun OSnya. Ikuti instruksi yang tercantum, dan itu akan menyederhanakan banyak hal jika Anda pertama kali menggunakan perintah cd pada terminal Bash Anda untuk menavigasi langsung ke direktori/folder tempat kunci EC2 Anda disimpan.

Selanjutnya, salin dan tempel (Shift + Insert) perintah Bash yang disorot dalam instruksi ke terminal Anda, kecuali pastikan untuk menghapus karakter jalur file ~/ relative sebelum menekan Enter, lalu ketik ya ketika prompt sidik jari muncul, seperti di gambar di bawah ini:

Sumber: Gambar oleh Penulis

Jika semuanya berjalan dengan baik, Anda akan melihat logo EMR di terminal, yang menunjukkan bahwa Anda sekarang sepenuhnya terhubung ke klaster komputer EMR Amazon.

Sumber: Gambar oleh Penulis

3. Memindahkan file dari ember S3 ke HDFS

Sekarang kita berada di EMR Hadoop Framework, mari salin file dari ember S3 publik ke sistem penyimpanan Hadoop kita. Untuk melakukannya, gunakan struktur perintah berikut:

hadoop distcp {masukkan alamat ember S3 yang Anda salin dari} {masukkan direktori hadoop yang ingin Anda pindahkan filenya}

Semudah itu.

Sekali lagi, struktur perintahnya adalah:

hadoop distcp {s3 bucket} {direktori emr}
Sumber: Gambar oleh Penulis

4. Membaca file dari HDFS menggunakan PySpark

Luar biasa! Sekarang setelah kita memindahkan file CSV dari S3 ke EMR, mari manfaatkan pemrosesan skala besar dan kerangka kerja komputasi terdistribusi Apache, PySpark, untuk membaca data dan melakukan beberapa analisis eksplorasi yang sangat mendasar.

Langkah pertama kami di sini adalah membuat terowongan SSH lain agar kami dapat mengakses JupyterHub. Untuk melakukannya, mari kembali ke tab ringkasan utama. Buka subjudul Antarmuka pengguna Aplikasi dan klik tautan Aktifkan Koneksi SSH:

Sumber: Gambar oleh Penulis

Ini akan membawa Anda ke halaman yang tampak serupa seperti yang kita lihat di Langkah 2, karena pada dasarnya kita mengulangi langkah yang sama. Perbedaan besar antara Langkah 2 dan Langkah 4, dalam hal ini, adalah Anda harus membuka halaman terminal Bash lain karena kami telah mendedikasikan terminal sebelumnya untuk membuat koneksi SSH dengan EMR.

Ingatlah untuk tidak lupa menghapus karakter ~/ dari jalur file nama kunci di perintah SSH dan ketik ya ke prompt keamanan:

Sumber: Gambar oleh Penulis

Setelah Anda membuat koneksi, navigasikan kembali ke tab ringkasan utama, klik tab Antarmuka pengguna aplikasi tepat di samping tab ringkasan, lalu salin dan tempel URL antarmuka pengguna yang terkait dengan JupyterHub ke tab browser lain:

Sumber: Gambar oleh Penulis

Jika semua instruksi pada Langkah 4 dijalankan dengan benar, kita akan melihat halaman login berikut di bawah untuk JupyterHub. Anda mungkin menemukan peringatan keamanan dari browser Anda saat mengakses URL JupyterHub. Abaikan saja dan lanjutkan ke halaman login berikut, di mana Anda dapat memasukkan nama pengguna dan kata sandi yang terkait dengan akun Anda.

Sumber: Gambar oleh Penulis

Setelah Anda masuk, antarmukanya hampir sama seperti jika Anda menggunakan Jupyter Notebook. Dengan buku catatan yang kami buat di JupyterHub, kami akan menyelesaikan tugas berikut dengan PySpark:

Membaca data yang kita salin dari HDFS, menggunakan perintah spark.read.csv(file_path, header=True) untuk mengonversi data kita ke dalam format DataFrame yang seharusnya sudah sangat kita kenal;

Menampilkan skema DataFrame; Menghitung jumlah baris dalam DataFrame; Memfilter baris di mana token diberi label sebagai “data”, menggunakan Spark SQL dan menghitung jumlah baris yang memenuhi kriteria ini; Dan terakhir, simpan kerangka data baru kami sebagai file terpisahnya sendiri dan simpan di Hadoop. Memverifikasi apakah data kami disimpan dengan benar di Hadoop. Untuk melakukan ini, kami menjalankan perintah Hadoop fs -ls bash SEBELUM menjalankan blok kode df.write.csv() kami di Jupyter. SETELAH menjalankan blok kode Jupyter terakhir, kami menggunakan perintah Hadoop fs -ls lagi untuk memeriksa apakah file yang kami simpan sebagai eng_data_1gram muncul di direktori Hadoop kami, yang memang benar.
Sumber: Gambar oleh Penulis

Perhatikan bahwa kami hanya menjalankan operasi sederhana untuk demonstrasi ini karena biasanya memerlukan biaya untuk menjalankan operasi berskala ini di cloud.

Sumber: Gambar oleh Penulis

5. Menggabungkan file Hadoop dan mengunggahnya ke S3

Setelah memfilter baris yang berisi label “data” di dalam kolom “token”, sekarang mari kita gabungkan dengan file aslinya. Kita dapat menyelesaikan tugas ini menggunakan struktur perintah bash berikut:

hadoop fs -getmerge {filepath_doc1} {doc2_file_name}.

Setelah dua file digabungkan, kami kemudian dapat mengeluarkan struktur perintah berikut untuk memindahkan file gabungan kami ke dalam ember S3:

aws s3 cp {namafile.format} {s3_bucket_address}.

Terakhir, Anda ingin membuat daftar konten di ember S3 Anda untuk memverifikasi apakah file telah dikirim dengan benar ke tujuan yang Anda maksudkan menggunakan perintah:

aws s3 ls {s3_bucket_address}
Sumber: Gambar oleh Penulis

6. Membaca file dari S3 menggunakan SageMaker

Item tindakan terakhir kami dalam latihan ini adalah membaca data yang difilter dari bucket S3 menggunakan lingkungan notebook SageMaker Amazon dan JupyterLab, dan memplot grafik menggunakan alat Ilmu Data tradisional seperti pandas dan matplotlib.pyplot. Untuk melakukannya, kami akan menjalankan langkah-langkah berikut:

Mengonfigurasi lingkungan notebook kami dengan menjalankan pemasangan pip dari awscli dan s3fs; Mengimpor paket yang kami butuhkan, termasuk paket AWS, yang akan kami gunakan untuk mengakses bucket S3 kami secara langsung; Membaca data S3 ke dalam kerangka data panda dan memplot grafik garis menggunakan matplotlib.
Sumber: Gambar oleh PenulisSumber: Gambar oleh PenulisSumber: Gambar oleh Penulis

Dan itu bungkus! Saya harap Anda menemukan nilai dalam membaca artikel ini dan dapat memperoleh beberapa wawasan tentang alur kerja seorang praktisi Big Data.

Mendapatkan Puncak Alur Kerja Big Data/Cloud Computing Menggunakan AWS awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jonathan Kelly