Pengenalan
Di dunia yang didorong oleh data hari ini, keupayaan untuk memproses dan menganalisis sejumlah besar data adalah penting bagi perniagaan, penyelidik dan agensi kerajaan. Analisis data besar telah menjadi komponen utama dalam mengekstrak pandangan kemungkinan dari set data besar -besaran. Di antara banyak alat yang ada, Apache Spark dan Jupyter Notebook menonjol untuk fungsi dan kemudahan penggunaannya, terutamanya apabila digabungkan dalam persekitaran Linux. Artikel ini menyelidiki integrasi alat -alat yang kuat ini dan menyediakan panduan untuk meneroka analisis data besar pada Linux menggunakan Apache Spark dan Jupyter.
Asas
Pengenalan kepada data besar Data besar merujuk kepada set data yang terlalu besar, terlalu kompleks atau perubahan terlalu cepat untuk diproses oleh alat pemprosesan data tradisional. Certinya adalah empat v:
- Volume (Volume) : Skala mutlak data yang dihasilkan sesaat dari pelbagai sumber seperti media sosial, sensor dan sistem perdagangan.
- halaju (halaju) : kelajuan di mana data baru perlu dihasilkan dan diproses.
- variety (variety) : pelbagai jenis data, termasuk data berstruktur, separa berstruktur dan tidak berstruktur.
- Veracity (Veracity) : Kebolehpercayaan data, walaupun terdapat potensi ketidakkonsistenan, memastikan ketepatan dan kredibiliti data.
Big Data Analytics memainkan peranan penting dalam industri seperti kewangan, penjagaan perubatan, pemasaran dan logistik, yang membolehkan organisasi mendapatkan pandangan, meningkatkan pengambilan keputusan, dan memacu inovasi.
Gambaran Keseluruhan Sains Data Sains Data adalah bidang interdisipliner yang menggunakan kaedah saintifik, proses, algoritma dan sistem untuk mengekstrak pengetahuan dan pandangan dari data berstruktur dan tidak berstruktur. Komponen utama sains data termasuk:
Pengumpulan data (pengumpulan data)
: Kumpulkan data dari pelbagai sumber.
- Pemprosesan Data (Pemprosesan Data) : Bersihkan dan tukar data mentah ke dalam format yang tersedia.
- Analisis data: Memohon statistik dan teknik pembelajaran mesin untuk menganalisis data.
- Visualisasi data: Buat perwakilan visual untuk menyampaikan pandangan yang berkesan.
Para saintis data memainkan peranan penting dalam proses ini, menggabungkan kepakaran lapangan, kemahiran pengaturcaraan, dan pengetahuan matematik dan statistik untuk mengekstrak pandangan yang bermakna dari data. -
Mengapa memilih Linux untuk Sains Data
kerana ciri sumber terbuka, keberkesanan kos dan ketahanan, Linux adalah sistem operasi yang disukai untuk banyak saintis data. Berikut adalah beberapa kelebihan utama:
- Sumber Terbuka: Linux boleh digunakan dan diubahsuai secara percuma, membolehkan saintis data menyesuaikan persekitaran mereka.
- Kestabilan dan Prestasi: Linux terkenal dengan kestabilan dan prestasi yang cekap, menjadikannya pilihan yang ideal untuk mengendalikan pemprosesan data berskala besar.
Keselamatan (Keselamatan) - : Ciri -ciri keselamatan Linux menjadikannya pilihan yang boleh dipercayai untuk memproses data sensitif.
Sokongan Komuniti (Sokongan Komuniti) - : Komuniti Linux yang luas menyediakan sumber, sokongan dan alat yang kaya untuk tugas sains data.
Apache Spark: Enjin yang kuat untuk pemprosesan data besar
Pengenalan kepada Apache Spark
Apache Spark adalah enjin analisis bersatu sumber terbuka yang direka untuk pemprosesan data besar. Ia telah dibangunkan untuk mengatasi batasan Hadoop MapReduce dan menyediakan keupayaan pemprosesan data yang lebih cepat dan lebih umum. Ciri -ciri utama Spark termasuk:
kelajuan (kelajuan) - : Pemprosesan memori membolehkan Spark berjalan 100 kali lebih cepat daripada Hadoop MapReduce.
kemudahan penggunaan - : API yang disediakan di Java, Scala, Python, dan R membolehkan mereka diakses oleh pelbagai pemaju.
Generalisasi: Spark menyokong pelbagai tugas pemprosesan data, termasuk pemprosesan batch, pemprosesan masa nyata, pembelajaran mesin, dan pemprosesan graf. -
Komponen teras Spark -
Spark Core dan RDD (dataset yang diedarkan elastik)
: Foundation Spark, menyediakan fungsi asas untuk pemprosesan data yang diedarkan dan toleransi kesalahan.
Spark SQL : Membolehkan pertanyaan data berstruktur menggunakan SQL atau DataFrame API.
- Streaming Spark : Menyokong pemprosesan data masa nyata.
- mllib : Perpustakaan algoritma pembelajaran mesin.
- Graphx : Digunakan untuk pemprosesan graf dan analisis.
- Sediakan Apache Spark pada Linux ####
Keperluan Sistem dan Prasyarat
Sebelum memasang Spark, pastikan sistem anda memenuhi keperluan berikut:
- sistem operasi (sistem operasi) : linux (sebarang pengedaran)
- java : jdk 8 atau lebih lama
- Scala : Pilihan, tetapi disyorkan untuk ciri -ciri percikan lanjutan
- python : Pilihan, tetapi disyorkan untuk Pyspark.
Panduan Pemasangan Langkah
pemasangan java - :
sudo apt-get update sudo apt-get install default-jdk
Muat turun dan pasang Spark - : `` `
Wget https://www.php.cn/link/94f338fe2f7f9a84751deeefae6bcba2
TAR XVF Spark-3.1.2-Bin-Hadoop3.2.tgz
sudo mv spark-3.1.2-bin-hadoop3.2 /opt /spark
<code></code>
Tetapkan pembolehubah persekitaran - :
echo "export SPARK_HOME=/opt/spark" >> ~/.bashrc echo "export PATH=$SPARK_HOME/bin:$PATH" >> ~/.bashrc source ~/.bashrc
Sahkan pemasangan - :
spark-shell
konfigurasi dan tetapan awal
Konfigurasi Spark dengan mengedit fail
untuk menetapkan sifat seperti peruntukan memori, paralelisme, dan tahap pembalakan.
conf/spark-defaults.conf
Jupyter: Persekitaran Sains Data Interaktif
Pengenalan kepada Jupyter Notebook
Jupyter Notebook adalah aplikasi web sumber terbuka yang membolehkan anda membuat dan berkongsi dokumen yang mengandungi kod masa nyata, persamaan, visualisasi, dan teks naratif. Mereka menyokong pelbagai bahasa pengaturcaraan, termasuk Python, R, dan Julia.
Manfaat Menggunakan Jupyter untuk Sains Data
- Visualisasi interaktif : Buat visualisasi dinamik untuk meneroka data.
kemudahan penggunaan - : antara muka intuitif untuk penulisan interaktif dan kod berjalan.
Kerjasama (kolaborasi) - : Kongsi buku nota dengan rakan sekerja untuk analisis kerjasama.
Integrasi dengan pelbagai bahasa - : Tukar bahasa dalam buku nota yang sama.
Tetapkan Jupyter pada Linux
#### keperluan sistem dan prasyarat
Pastikan sistem anda dipasang Python. Semak dengan arahan berikut:
python3 --version
Panduan Pemasangan Langkah
memasang python dan pip
: -
sudo apt-get update sudo apt-get install python3-pip
pemasangan Jupyter : -
pip3 install jupyter
Mula Jupyter Notebook : `` `
Jupyter Notebook -
<code></code>
konfigurasi dan tetapan awal
Konfigurasi Jupyter dengan mengedit fail untuk menetapkan sifat seperti nombor port, direktori notebook, dan tetapan keselamatan.
jupyter_notebook_config.py
digabungkan dengan Apache Spark dan Jupyter untuk analisis data besar
Mengintegrasikan Spark dengan Jupyter
Untuk memanfaatkan ciri Spark di Jupyter, ikuti langkah -langkah berikut:
Memasang perpustakaan yang diperlukan
- pemasangan pyspark :
pip3 install pyspark
3
-
Konfigurasi Jupyter untuk bekerja dengan Spark
pip3 install findspark
Buat buku nota Jupyter baru dan tambahkan kod berikut untuk mengkonfigurasi Spark:
Sahkan Tetapan Menggunakan Contoh Ujian
<code></code>
Untuk mengesahkan tetapan, jalankan pekerjaan percikan mudah:
Contoh analisis data dunia sebenar
####
Penerangan set data yang digunakan
<code></code>
Dalam contoh ini, kami akan menggunakan dataset yang disediakan secara terbuka di Kaggle, seperti dataset Titanic, yang mengandungi maklumat mengenai penumpang di Titanic.
pengambilan data dan pra -proses menggunakan Spark
Memuatkan data :
- Pembersihan Data :
df = spark.read.csv("titanic.csv", header=True, inferSchema=True)
-
analisis data dan visualisasi menggunakan Jupyter
df = df.dropna(subset=["Age", "Embarked"])
Statistik Asas :
- Visualisasi :
df.describe().show()
-
Hasil Penjelasan dan Wawasan yang diperolehi
import findspark
findspark.init("/opt/spark")
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("Jupyter and Spark") \
.getOrCreate()
Menganalisis visualisasi dan ringkasan statistik untuk menarik pandangan seperti pengedaran umur penumpang dan korelasi antara umur dan kelangsungan hidup.
Tema Lanjutan dan Amalan Terbaik
Pengoptimuman Prestasi dalam Spark - Pemprosesan Data Cekap : Gunakan DataFrame dan dataset API untuk prestasi yang lebih baik.
Pengurusan Sumber: Memori Memori dan Sumber CPU dengan cekap.
Penalaan konfigurasi
: Laraskan konfigurasi Spark mengikut beban kerja. -
Sains Data Kerjasama dengan Jupyter - - JupyterHub : Menyebarkan JupyterHub untuk mewujudkan persekitaran berbilang pengguna untuk membolehkan kerjasama antara pasukan.
Perkongsian Notebook : Kongsi Notebook melalui GitHub atau NBViewer untuk Analisis Kerjasama.
Langkah berjaga -jaga keselamatan - - Keselamatan data (Keselamatan Data) : Melaksanakan kawalan penyulitan dan akses untuk melindungi data sensitif.
Melindungi persekitaran Linux (mengamankan persekitaran Linux) : Gunakan firewall, kemas kini tetap dan patch keselamatan untuk melindungi persekitaran Linux.
Perintah dan Skrip Berguna - - Mula Spark Shell :
Hantar tugasan percikan : spark-shell
Mula Jupyter Notebook - :
spark-submit --class <main-class> <application-jar> <application-arguments></application-arguments></application-jar></main-class>
- Kesimpulan
Dalam artikel ini, kami meneroka kombinasi kuat analisis data besar menggunakan Apache Spark dan Jupyter pada platform Linux. Dengan memanfaatkan kelajuan dan fleksibiliti Spark dan keupayaan interaktif Jupyter, saintis data dapat memproses dan menganalisis set data besar -besaran. Dengan persediaan, konfigurasi, dan amalan terbaik yang betul, integrasi ini dapat meningkatkan aliran kerja analisis data, menghasilkan pandangan yang boleh dilakukan dan membuat keputusan.
Atas ialah kandungan terperinci Memanfaatkan Kekuatan Besar Data: Meneroka Sains Data Linux dengan Apache Spark dan Jupyter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!