def METHOD_NAME(self, data_inst):
    if self.bin_inner_param is None:
        self._setup_bin_inner_param(data_inst, self.params)
    self.total_count = self.get_total_count(data_inst)
    LOGGER.debug(f"abnormal_list: {self.abnormal_list}")
    quantile_tool = QuantileBinningTool(param_obj=self.params,
                                        abnormal_list=self.abnormal_list,
                                        allow_duplicate=self.allow_duplicate)
    quantile_tool.set_bin_inner_param(self.bin_inner_param)
    summary_table = quantile_tool.fit_summary(data_inst)
    self.get_min_max(data_inst)
    self.missing_count = self.get_missing_count(summary_table)
    self.query_points = self.init_query_points(summary_table.partitions,
                                               split_num=self.params.sample_bins)
    self.global_ranks = self.query_values(summary_table, self.query_points)
    # self.total_count = data_inst.count()