Я успешно получил доступ к данным от Hbase
до Spark
раньше.Однако я обнаружил проблему, заключающуюся в том, что вычисления не перемещаются в данные в Spark.Например, у меня есть 10 регионов с данными в 5 физических узлах, и я хочу получить доступ к этим данным с помощью Spark-2.4.0
, странно, что только 3 узла в кластере запускают задачи.Что не так с моим кластером?
Существует несколько условий, которые я настроил:
В кластере всего 5 физических узлов, работающих с Hadoop
, HBase
, Zookeeper
и Spark
.
Я уверен, что данные хранились равномерно в 10 регионах по 5 узлов.Другими словами, если я хочу получить доступ к данным с 1 по 10, будет вызван regionServer1-regionServer10.
Я использую "newAPIHadoopRDD" для доступа к данным из HBase
, API вообще не содержит конфигурацию раздела, поэтому подсчет потоков по умолчанию, что Executors
можетзапуск - это счет HRegions
.
Феномен состоит в том, что всего 3 узла кластера запустили всего 10 задач.Я ожидал, что все 5 узлов запускают задачи, и каждый узел должен запускать 2 задачи.Я понял, что Hbase
основан на HDFS
, но я понятия не имею об этом API "newAPIHadoopRDD", поэтому я также хочу узнать, как он работает.