为什么spark在shuffle期间存储在磁盘上的中间数据?我试图理解为什么它不能存储在内存中.写入内存有哪些挑战?
是否正在完成将其写入Memory的工作?
试图加入6个表,每个表大约有500万行.尝试加入帐户号码,该帐号在所有表格中按升序排序.地图任务成功完成,减速机停止工作在66.68%.尝试增加减少数量的选项,并尝试其他选项设置hive.auto.convert.join = true; 并设置hive.hashtable.max.memory.usage = 0.9; 并设置hive.smalltable.filesize = 25000000L; 但结果是一样的.尝试少量记录(如5000行),查询工作得很好.
请建议可以在这里做些什么来使它工作.
我知道MapReduce是一个很好的Hadoop批处理框架.但是,Spark也可以用作Hadoop上的批处理框架,与MapReduce相比,它提供了可扩展性,容错性和高性能.Cloudera,Hortonworks和MapR也开始用YARN支持Spark on Hadoop.
但是,很多公司仍在使用Hadoop上的MapReduce Framework进行批处理而不是Spark.
那么,我试图了解Spark在Hadoop上用作批处理框架的当前挑战是什么?
有什么想法吗?
我需要将数据从Oracle数据库实时摄取到Hadoop。
在Hadoop上实现此目标的最佳方法是什么?