我想问的是,在使用Hadoop/MapReduce和Spark时,数据分区中有没有任何?他们都在HDFS(TextInputFormat)上工作,所以理论上它应该是一样的。mapreduce分割和火花分割之间的区别
是否有任何情况下数据分区的程序可以不同?任何见解都会对我的学习非常有帮助。
感谢
我想问的是,在使用Hadoop/MapReduce和Spark时,数据分区中有没有任何?他们都在HDFS(TextInputFormat)上工作,所以理论上它应该是一样的。mapreduce分割和火花分割之间的区别
是否有任何情况下数据分区的程序可以不同?任何见解都会对我的学习非常有帮助。
感谢
与 的Hadoop/MapReduce和星火工作时的数据分区任何显著区别?
星火支持所有Hadoop的I/O格式,因为它使用相同的Hadoop InputFormat的API与它自己的格式化一起。因此,Spark输入分区的工作原理与Hadoop/MapReduce输入默认分裂相同。分区中的数据大小可以在运行时配置,它提供像repartition
,3210和repartitionAndSortWithinPartition
这样的转换,可以让您直接控制正在计算的分区数。
是否有任何其数据分区过程可能与 不同的情况?
除了Hadoop的,I/O API的火花确实有一些其他的智能I/O的格式(例如:Databricks CSV和的NoSQL数据库连接),这将直接返回DataSet/DateFrame
(更高层的东西RDD的顶部),这是火花特定的。
上读取来自非Hadoop的源
fs.s3n.block.size
或fs.s3.block.size
。spark.cassandra.input.split.size_in_mb
。spark.mongodb.input.partitionerOptions.partitionSizeMB
。max(sc.defaultParallelism, total_data_size/data_block_size)
。 某些时候,集群中可用内核的数量也会像sc.parallaize()
一样忽略分区数参数。更多... link1