Menjalankan Apache Spark dari Spark Shell
Apache Spark Shell interaktif menyediakan lingkungan REPL (read-execute-print loop/perulangan baca-jalankan-cetak) untuk menjalankan perintah Spark satu per satu dan melihat hasilnya. Proses ini berguna untuk pengembangan dan penelusuran kesalahan (debugging). Spark menyediakan satu shell untuk setiap bahasa yang didukung: Scala, Python, dan R.
Jalankan Apache Spark Shell
Gunakan perintah ssh untuk menyambungkan ke kluster Anda. Edit perintah di bawah ini dengan mengganti CLUSTERNAME dengan nama kluster Anda, lalu masukkan perintah:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Spark menyediakan shell untuk Scala (spark-shell), dan Python (pyspark). Di sesi SSH Anda, masukkan salah satu perintah berikut:
spark-shell # Optional configurations # spark-shell --num-executors 4 --executor-memory 4g --executor-cores 2 --driver-memory 8g --driver-cores 4
pyspark # Optional configurations # pyspark --num-executors 4 --executor-memory 4g --executor-cores 2 --driver-memory 8g --driver-cores 4
Jika Anda ingin menggunakan konfigurasi opsional apa pun, pastikan Anda terlebih dahulu meninjau pengecualian OutOfMemoryError untuk Apache Spark.
Beberapa perintah contoh dasar. Pilih bahasa yang relevan:
val textFile = spark.read.textFile("/example/data/fruits.txt") textFile.first() textFile.filter(line => line.contains("apple")).show()
textFile = spark.read.text("/example/data/fruits.txt") textFile.first() textFile.filter(textFile.value.contains("apple")).show()
Kueri file CSV. Perhatikan bahasa di bawah ini berfungsi untuk
spark-shell
danpyspark
.spark.read.csv("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv").show()
Kueri file CSV dan simpan hasilnya dalam variabel:
var data = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv")
data = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv")
Tampilkan hasil:
data.show() data.select($"BuildingID", $"Country").show(10)
data.show() data.select("BuildingID", "Country").show(10)
Keluar
:q
exit()
Instans SparkSession dan SparkContext
Secara default saat Anda menjalankan Spark Shell, instans SparkSession dan SparkContext secara otomatis diinstansiasi untuk Anda.
Untuk mengakses instans SparkSession, masukkan spark
. Untuk mengakses instans SparkContext, masukkan sc
.
Parameter shell penting
Perintah Spark Shell (spark-shell
, atau pyspark
) mendukung banyak parameter baris-perintah. Untuk melihat daftar lengkap parameter, mulai Spark Shell dengan pengalih --help
. Beberapa parameter ini mungkin hanya berlaku untuk spark-submit
, yang dibungkus Spark Shell.
pengalih | deskripsi | contoh |
---|---|---|
--master MASTER_URL |
Menentukan URL master. Dalam HDInsight, nilai ini selalu yarn . |
--master yarn |
--jars JAR_LIST |
Daftar jar lokal yang dipisahkan koma untuk disertakan pada driver dan classpath pelaksana. Dalam HDInsight, daftar ini terdiri dari jalur ke sistem file default di Azure Storage atau Data Lake Storage. | --jars /path/to/examples.jar |
--packages MAVEN_COORDS |
Daftar koordinat maven jar yang dipisahkan koma untuk disertakan pada driver dan classpath pelaksana. Mencari repositori maven lokal, lalu maven central, kemudian repositori jarak jauh tambahan yang ditentukan dengan --repositories . Format untuk koordinat adalah groupId:artifactId:versi. |
--packages "com.microsoft.azure:azure-eventhubs:0.14.0" |
--py-files LIST |
Hanya untuk Python, daftar .zip file , , .egg atau .py yang dipisahkan koma untuk ditempatkan di PYTHONPATH. |
--pyfiles "samples.py" |
Langkah berikutnya
- Lihat Pengantar Apache Spark di Azure HDInsight untuk ikhtisar.
- Lihat Membuat kluster Apache Spark di Azure HDInsight untuk bekerja dengan kluster Spark dan SparkSQL.
- Lihat Apa itu Streaming Terstruktur Apache Spark? untuk menulis aplikasi yang memproses data streaming dengan Spark.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk