Spuštění Apache Sparku z prostředí Spark
Interaktivní prostředí Apache Spark Shell poskytuje prostředí REPL (read-execute-print loop) pro spouštění příkazů Sparku po jednom a zobrazení výsledků. Tento proces je užitečný pro vývoj a ladění. Spark poskytuje jedno prostředí pro každý z podporovaných jazyků: Scala, Python a R.
Spuštění prostředí Apache Spark Shell
Pomocí příkazu ssh se připojte ke clusteru. Upravte následující příkaz tak, že clusterNAME nahradíte názvem vašeho clusteru a pak zadáte příkaz:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Spark poskytuje prostředí pro Scala (spark-shell) a Python (pyspark). V relaci SSH zadejte jeden z následujících příkazů:
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
Pokud máte v úmyslu použít libovolnou volitelnou konfiguraci, nezapomeňte si nejprve projít výjimku OutOfMemoryError pro Apache Spark.
Několik základních ukázkových příkazů. Zvolte příslušný jazyk:
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()
Zadejte dotaz na soubor CSV. Všimněte si, že níže uvedený jazyk funguje pro
spark-shell
apyspark
.spark.read.csv("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv").show()
Zadejte dotaz na soubor CSV a uložte výsledky do proměnné:
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")
Zobrazit výsledky:
data.show() data.select($"BuildingID", $"Country").show(10)
data.show() data.select("BuildingID", "Country").show(10)
Ukončit
:q
exit()
Instance SparkSession a SparkContext
Ve výchozím nastavení se při spuštění prostředí Spark Shell automaticky vytvoří instance SparkSession a SparkContext.
Pokud chcete získat přístup k instanci SparkSession, zadejte spark
. Pokud chcete získat přístup k instanci SparkContext, zadejte sc
.
Důležité parametry prostředí
Příkaz Prostředí Spark (spark-shell
nebo pyspark
) podporuje mnoho parametrů příkazového řádku. Pokud chcete zobrazit úplný seznam parametrů, spusťte Prostředí Spark pomocí přepínače --help
. Některé z těchto parametrů se můžou vztahovat jenom na spark-submit
, které prostředí Spark zabalí.
switch | description | příklad |
---|---|---|
--master MASTER_URL |
Určuje hlavní adresu URL. Ve službě HDInsight je tato hodnota vždy yarn . |
--master yarn |
--jars JAR_LIST |
Čárkami oddělený seznam místních souborů JAR, které se mají zahrnout do cest k třídám ovladače a exekutoru. Ve službě HDInsight se tento seznam skládá z cest k výchozímu systému souborů ve službě Azure Storage nebo Data Lake Storage. | --jars /path/to/examples.jar |
--packages MAVEN_COORDS |
Čárkami oddělený seznam souřadnic mavenu souborů JAR, které se mají zahrnout do cest k třídám ovladače a exekutoru. Prohledá místní úložiště Maven, pak maven central a všechna další vzdálená úložiště zadaná pomocí --repositories . Formát souřadnic je groupId:artifactId:version. |
--packages "com.microsoft.azure:azure-eventhubs:0.14.0" |
--py-files LIST |
Pouze v Pythonu je seznam souborů oddělených .zip čárkami , .egg nebo .py , které se mají umístit do cesty PYTHONPATH. |
--pyfiles "samples.py" |
Další kroky
- Přehled najdete v tématu Úvod do Apache Sparku ve službě Azure HDInsight .
- Informace o práci s clustery Spark a SparkSQL najdete v tématu Vytvoření clusteru Apache Spark ve službě Azure HDInsight .
- Informace o zápisu aplikací, které zpracovávají streamovaná data pomocí Sparku, najdete v tématu Co je strukturované streamování Apache Sparku .