code: public Configuration toHBaseConfig() {
      Configuration config = new Configuration(false);
  
      /**
       * Sets below setting for batch
       * BIGTABLE_USE_CACHED_DATA_CHANNEL_POOL = true
       * BigtableOptionsFactory.BIGTABLE_HOST_KEY = batch-bigtable.googleapis.com
       * BigtableOptionsFactory.INITIAL_ELAPSED_BACKOFF_MILLIS_KEY = 5ms
       * BigtableOptionsFactory.MAX_ELAPSED_BACKOFF_MILLIS_KEY = 5ms
       */
      config.set(BigtableOptionsFactory.BIGTABLE_USE_BATCH, "true");
  
      // This setting can potentially decrease performance for large scale writes. However, this
      // setting prevents problems that occur when streaming Sources, such as PubSub, are used.
      // To override this behavior, call:
      //    Builder.withConfiguration(BigtableOptionsFactory.BIGTABLE_ASYNC_MUTATOR_COUNT_KEY, 
      //                              BigtableOptions.BIGTABLE_ASYNC_MUTATOR_COUNT_DEFAULT);
      config.set(BigtableOptionsFactory.BIGTABLE_ASYNC_MUTATOR_COUNT_KEY, "0");
      for (Entry<String, ValueProvider<String>> entry : configuration.entrySet()) {
        // If the value from ValueProvider is null, the value was not provided at runtime.
        if (entry.getValue().get() != null) {
          config.set(entry.getKey(), entry.getValue().get());
        }
      }
      setUserAgent(config);
      return config;
    }
docs: Converts the {@link CloudBigtableConfiguration} to an HBase {@link Configuration}.
  @return The {@link Configuration}.