Как вы можете видеть, мое небольшое приложение имеет 4 задания, которые выполняются общей продолжительностью 20,2 секунды, однако между заданиями 1 и 2 существует большая задержка, из-за которой общее время превышает одну минуту.Задание № 1 runJob в SparkHadoopMapReduceWriter.scala: 88 выполняет массовую загрузку HFiles в таблицу HBase.Вот код, который я использовал для загрузки файлов
val outputDir = new Path(HBaseUtils.getHFilesStorageLocation(resolvedTableName))
val job = Job.getInstance(hBaseConf)
job.getConfiguration.set(TableOutputFormat.OUTPUT_TABLE, resolvedTableName)
job.setOutputFormatClass(classOf[HFileOutputFormat2])
job.setMapOutputKeyClass(classOf[ImmutableBytesWritable])
job.setMapOutputValueClass(classOf[KeyValue])
val connection = ConnectionFactory.createConnection(job.getConfiguration)
val hBaseAdmin = connection.getAdmin
val table = TableName.valueOf(Bytes.toBytes(resolvedTableName))
val tab = connection.getTable(table).asInstanceOf[HTable]
val bulkLoader = new LoadIncrementalHFiles(job.getConfiguration)
preBulkUploadCallback.map(callback => callback())
bulkLoader.doBulkLoad(outputDir, hBaseAdmin, tab, tab.getRegionLocator)
Если у кого-то есть какие-либо идеи, я был бы очень рад