现有的结构是Spark从HBase中提取数据,进行计算操作。
Spark的并发是由:
可用CPU核数*Worker数量,来确定上限的,这种情况针对于单节点。
并发数还受到RDD的分区数量影响的,说回Hbase的话,就是受到Region数影响,基本与其一致;
所以如果在HbaseConf中确定的Region数量只有1个的话,那么会出现Spark单线程执行的情况;
这个时候可以考虑使用coalesce方法来进行分区动作,但是这个方法需要注意的是,如果当前的分区数小于你期望的分区,单纯的使用coalesce加分区数的方法并没有什么用,需要强制进行shuffle动作。
即coalesce(numPart,true)
此方式可有效进行分区动作,但是意味着大量的shuffle动作;
其实我理解可以Spark生成任务时,在外部进行任务拆分,例如按天,或者按年等;相较于在内部进行分区动作,可能不会出现shuffle的情况。
但是,如果你单个节点的并发数并不是很高的情况下,那么任务被派发到其它节点执行,而数据还是需要从另外节点来获取,其实跟shuffle的动作相差并不是太大,这个可以自行考虑;
分区的数量可以设定为集群任务的最高值。
以上仅为个人浅见,欢迎大家讨论。
相关推荐
Spark安装包:spark-3.1.3-bin-without-hadoop.tgz
本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载,本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载
Apache Spark版本3.1.3。Linux安装包。spark-3.1.3-bin-hadoop3.2.tgz
spark-3.2.0-bin-hadoop3.2.tgz
spark-3.0.0-bin-hadoop3.2下载安装包
pyspark本地的环境配置包,spark-2.3.4-bin-hadoop2.7.tgz:spark-2.3.4-bin-hadoop2.7.tgz
Spark Doris Connector(apache-doris-spark-connector-2.3_2.11-1.0.1-incubating-src.tar.gz) Spark Doris Connector Version:1.0.1 Spark Version:2.x Scala Version:2.11 Apache Doris是一个现代MPP分析...
spark-3.2.4-bin-hadoop3.2-scala2.13 安装包
spark-assembly-1.5.2-hadoop2.6.0 在spark编程中使用的一个jar
spark-2.4.0-bin-hadoop2.7
linux的spark新版本,匹配hadoop2.7版本,spark-3.2.1-bin-hadoop2.7.tgz
spark-3.1.2.tgz版本 & spark-3.1.2-bin-hadoop2.7.tgz版本
spark-hive-thriftserver_2.11-2.1.spark-hive-thrift
spark-streaming-kafka-0-8_2.11-2.4.0.jar
spark-2.4.8-bin-hadoop2.7.tgz
spark-3.0.0-bin-hadoop2.7.tgz 官网下载不了的,需要资源的,可以到这里下载哦
在Ubuntu里安装spark,spark-2.1.0-bin-without-hadoop该版本直接下载到本地后解压即可使用。 Apache Spark 是一种用于大数据工作负载的分布式开源处理系统。它使用内存中缓存和优化的查询执行方式,可针对任何规模...
spark-1.6.3-bin-hadoop2.6.tgz
spark-2.2.0-yarn-shuffle.jar
spark-2.3.1-bin-hadoop2.7.zip