تشغيل Apache Spark من Spark Shell
يوفر Apache Spark Shell التفاعلي بيئة REPL (حلقة قراءة وتنفيذ الطباعة) لتشغيل أوامر Spark كل على حدة ورؤية النتائج. تُعد هذه العملية مفيدة للتطوير وتصحيح الأخطاء. توفر Spark أمر shell واحد لكل لغة من لغاتها المدعومة: Scala، وPython، وR.
تشغيل Apache Spark Shell
استخدم الأمر ssh للاتصال بنظام المجموعة الخاص بك. قم بتحرير الأمر أدناه عن طريق استبدال اسم نظام المجموعة باسم نظام مجموعتك ثم إدخال الأمر:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
توفر Spark أوامر shell للغة Scala (spark-shell)، وPython (pyspark). في جلسة SSH، أدخل أحد هذه الأوامر:
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
إذا كنت تنوي استخدام أي تكوين اختياري، تأكد أولاً من مراجعة استثناء OutOfMemoryError لـ Apache Spark.
بعض أمثلة الأوامر الأساسية. اختر اللغة ذات الصلة:
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()
استعلام ملف CSV. لاحظ أن اللغة أدناه تعمل لـ
spark-shell
وpyspark
.spark.read.csv("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv").show()
استعلام ملف CSV ونتائج المخزن في المتغير:
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")
عرض النتائج:
data.show() data.select($"BuildingID", $"Country").show(10)
data.show() data.select("BuildingID", "Country").show(10)
خروج
:q
exit()
مثيلات SparkSession وSparkContext
بشكل افتراضي عند تشغيل Spark Shell، يتم إنشاء مثيلات SparkSession وSparkContext تلقائيا لك.
للوصول إلى مثيل SparkSession، أدخل spark
. للوصول إلى مثيل SparkContext، أدخل sc
.
معلمات shell المهمة
يدعم الأمر Spark Shell (spark-shell
أو pyspark
) العديد من معلمات سطر الأوامر. للاطلاع على قائمة كاملة من المعلمات، ابدأ Spark Shell بالتبديل --help
. قد تنطبق بعض هذه المعلمات فقط على spark-submit
، التي يتم تضمينها في Spark Shell.
التبديل | الوصف | مثال |
---|---|---|
--master MASTER_URL |
يحدد عنوان URL الرئيسي. في HDInsight، تكون هذه القيمة هي yarn دائماً. |
--master yarn |
--jars JAR_LIST |
قائمة مفصولة بفاصلة لملفات jars المحلية لتضمينها على برامج التشغيل وclasspaths المنفذة. في HDInsight، تتكون هذه القائمة من مسارات إلى نظام الملفات الافتراضي في تخزين Azure أو Data Lake Storage. | --jars /path/to/examples.jar |
--packages MAVEN_COORDS |
قائمة مفصولة بفاصلة من إحداثيات maven للجرار لـ jars لتضمينها على برامج التشغيل وclasspaths المنفذة. والبحث في مستودع maven المحلي، ثم مستودع maven المركزي، ثم أي مستودعات بعيدة إضافية محددة بـ --repositories . تنسيق الإحداثيات هو groupId:artifactId:version. |
--packages "com.microsoft.azure:azure-eventhubs:0.14.0" |
--py-files LIST |
بالنسبة إلى Python فقط، قائمة مفصولة بفواصل من .zip أو .egg أو .py ملفات لوضعها على PYTHONPATH. |
--pyfiles "samples.py" |
الخطوات التالية
- راجع مقدمة إلى Apache Spark على Azure HDInsight للحصول على نظرة عامة.
- راجع إنشاء نظام مجموعة Apache Spark للعمل مع نظم مجموعة Spark وSparkSQL.
- راجع ما هو الدفق المنظم لدى Apache Spark؟ لإنشاء التطبيقات التي تعالج تدفق البيانات مع Spark.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ