Frage

Wir können im Apache-Hadoop auf HDFS-Dateisystem und Garnplaner zugreifen. Aber Spark hat eine höhere Codierung. Ist es möglich, auch in Apache-Spark auf HDFs und Garn zugreifen zu können?

Vielen Dank

War es hilfreich?

Lösung

Ja.

Es gibt Beispiele zum offiziellen Dokument aus Spark: https://spark.apache.org/examples.htmlSetzen Sie einfach Ihren HDFS -Datei -URI wie unten in Ihren Eingabedateipfad (Scala -Syntax) ein.

val file = spark.textFile("hdfs://train_data")

Andere Tipps

HDFS

Spark wurde als Alternative zu MapReduce gebaut und unterstützt somit den größten Teil seiner Funktionalität. Insbesondere bedeutet dies, dass "Spark verteilte Datensätze aus jeder von Hadoop unterstützten Speicherquelle erstellen kann, einschließlich Ihres lokalen Dateisystems, HDFS, Cassandra, HBase, Amazon S3 usw."1. Für die meisten häufigen Datenquellen (wie HDFS oder S3) erkennt das Schema automatisch: z. B.:

val sc = SparkContext(...)
val localRDD = sc.textFile("file://...")
val hdfsRDD  = sc.textFile("hdfs://...")
val s3RDD    = sc.textFile("s3://...")

Für kompliziertere Fälle müssen Sie möglicherweise mit Funktionen auf niedrigerer Ebene arbeiten newAPIHadoopFile:

val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat], 
      classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
      classOf[org.apache.hadoop.hbase.client.Result])
val customRDD = sc.newAPIHadoopRDD(conf, classOf[MyCustomInputFormat], 
      classOf[MyCustomKeyClass],
      classOf[MyCustomValueClass]) 

Die allgemeine Regel ist jedoch, dass, wenn eine Datenquelle für MapReduce verfügbar ist, leicht in Spark wiederverwendet werden kann.

GARN

Derzeit unterstützt Spark 3 Cluster -Manager / Modi:

  • Eigenständige
  • Mesos
  • GARN

Der Standalone -Modus verwendet Sparks eigener Master -Server und arbeitet nur für Spark, während Garn- und Mesos -Modi darauf abzielen, denselben Satz von Systemressourcen zwischen mehreren Frameworks (z. B. Spark, MapReduce, Impala usw.) zu teilen. Vergleich von Garn und Mesos kann gefunden werden hier, und detaillierte Beschreibung des Funkens auf Garn hier.

Und in den besten Traditionen des Funkens können Sie zwischen verschiedenen Modi einfach wechseln, indem Sie sich ändern Master -URL.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top