wordcount tutorial funciona example como hadoop apache-spark mapreduce hdfs

hadoop - tutorial - mapreduce java example



Diferencia entre la divisiĆ³n de mapreduce y la pariciĆ³n de chispa (1)

¿Hay alguna diferencia significativa en la partición de datos cuando se trabaja con Hadoop / mapreduce y Spark?

Spark es compatible con todos los formatos de E / S de hadoop ya que usa las mismas API de Hadoop InputFormat junto con sus propios formateadores. Por lo tanto, las particiones de entrada Spark funcionan de la misma manera que las divisiones de entrada Hadoop / MapReduce de forma predeterminada . El tamaño de los datos en una partición puede ser configurable en tiempo de ejecución y proporciona una transformación como repartition , coalesce y repartitionAndSortWithinPartition Además, la repartitionAndSortWithinPartition puede otorgarle control directo sobre el número de particiones que se calculan.

¿Hay algún caso en el que su procedimiento de partición de datos pueda diferir?

Además de Hadoop, I / O APIs Spark tiene algunos otros formatos de E / S inteligentes (Ej: Databricks CSV y NoSQL DB Connectors ) que devolverán directamente DataSet/DateFrame (más elementos de alto nivel sobre RDD) que son específicos de chispa .

Puntos clave en las particiones de chispa al leer datos de fuentes que no son de Hadoop

  • El tamaño máximo de una partición es en última instancia por los conectores,
    • para S3, la propiedad es como fs.s3n.block.size o fs.s3.block.size .
    • La propiedad de Cassandra es spark.cassandra.input.split.size_in_mb .
    • Mongo prop es , spark.mongodb.input.partitionerOptions.partitionSizeMB .
  • Por defecto, el número de particiones es el max(sc.defaultParallelism, total_data_size / data_block_size) . algunas veces, el número de núcleos disponibles en el clúster también aumenta el número de particiones como sc.parallaize() sin el sc.parallaize() partions.

Leer más .. link1

Quería preguntar si existe alguna diferencia significativa en la partición de datos cuando se trabaja con Hadoop / MapReduce y Spark . Ambos trabajan en HDFS (TextInputFormat) por lo que debería ser el mismo en teoría.

¿Hay algún caso donde el procedimiento de partición de datos puede diferir? Cualquier idea sería muy útil para mi estudio.

Gracias