123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- package com.sagacloud.util.compute_engine.fjd;
- import cn.hutool.core.io.FileUtil;
- import cn.hutool.core.io.resource.ResourceUtil;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.alibaba.fastjson.JSONReader;
- import com.sagacloud.repository.HBaseSaveManagerRepository;
- import com.sagacloud.util.compute_engine.util.ConstantCE;
- import com.sagacloud.util.compute_engine.util.QueryUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.zillion.util.json.FastJsonReaderUtil;
- import org.zillion.util.json.FastJsonUtil;
- import java.io.File;
- import java.io.InputStreamReader;
- import java.io.Reader;
- import java.util.ArrayList;
- import java.util.List;
- @Slf4j
- public class TableUtil {
- static String[] table_names_ci = {"ci_instance", "ci_instanceinput", "ci_instanceoutput", "ci_status"};
- static String[] table_names_ce = {"ce_preroundindex", "ce_curround", "ce_computelog", "ce_computeinputlog", "ce_computeinputdetail",
- "ce_computeoutputdetail"};
- static String[] table_names_fjd = {"fjd_0_computedetail", "fjd_0_computelog", "fjd_0_metercomputetime", "fjd_1_computedetail",
- "fjd_1_computelog", "fjd_2_computedetail", "fjd_2_computelog", "fjd_3_computedetail", "fjd_3_computelog"};
- static String[] table_names_data = {"data_servicedata", "data_servicedata_max", "data_objectdata", "data_objectdata_max", "data_energydata",
- "data_energydata_max", "fjd_0_near", "fjd_0_rate", "fjd_1_near", "fjd_2_near", "fjd_3_near", "fjd_statinst", "original_flag"};
- static String[] table_names_data_seperate = {"data_servicedata_1min", "data_servicedata_5min", "data_servicedata_15min", "data_servicedata_1h",
- "data_servicedata_1d", "data_servicedata_1m", "data_servicedata_1y", "data_servicedata_max_1h", "data_servicedata_max_1d",
- "data_servicedata_max_1m", "data_servicedata_max_1y", "data_objectdata_1min", "data_objectdata_5min", "data_objectdata_15min",
- "data_objectdata_1h", "data_objectdata_1d", "data_objectdata_1m", "data_objectdata_1y", "data_objectdata_max_1h",
- "data_objectdata_max_1d", "data_objectdata_max_1m", "data_objectdata_max_1y", "data_energydata_1min", "data_energydata_5min",
- "data_energydata_15min", "data_energydata_1h", "data_energydata_1d", "data_energydata_1m", "data_energydata_1y", "data_energydata_max_1h",
- "data_energydata_max_1d", "data_energydata_max_1m", "data_energydata_max_1y", "data_tenantdata_15min", "data_tenantdata_1h",
- "data_tenantdata_1d", "data_tenantdata_1m", "data_tenantdata_1y", "data_tenantdata_max_1h", "data_tenantdata_max_1d",
- "data_tenantdata_max_1m", "data_tenantdata_max_1y", "data_tenantfee_15min", "data_tenantfee_1h", "data_tenantfee_1d", "data_tenantfee_1m",
- "data_tenantfee_1y", "data_tenantbalance", "data_tenantbalance_present", "fjd_0_near_1min", "fjd_0_near_5min", "fjd_0_near_15min",
- "fjd_0_near_1h", "fjd_0_near_1d", "fjd_0_rate_1min", "fjd_0_rate_5min", "fjd_0_rate_15min", "fjd_0_rate_1h", "fjd_0_rate_1d",
- "fjd_1_near_1min", "fjd_1_near_5min", "fjd_1_near_15min", "fjd_1_near_1h", "fjd_1_near_1d", "fjd_2_near_1min", "fjd_2_near_5min",
- "fjd_2_near_15min", "fjd_2_near_1h", "fjd_2_near_1d", "fjd_3_near_1min", "fjd_3_near_5min", "fjd_3_near_15min", "fjd_3_near_1h",
- "fjd_3_near_1d", "fjd_statinst_5min", "fjd_statinst_15min", "fjd_statinst_1h", "fjd_statinst_1d", "fjd_statinst_1m", "fjd_statinst_1y",
- "original_flag"};
- static String[] table_names_loss_rate = {"fjd_0_loss_rate_1d", "fjd_0_loss_rate_1m"};
- public static void AddTables(String database_name) throws Exception {
- List<String[]> table_namesList = new ArrayList<String[]>();
- table_namesList.add(table_names_ci);
- table_namesList.add(table_names_ce);
- table_namesList.add(table_names_fjd);
- if (ConstantCE.time_period_seperate) {
- table_namesList.add(table_names_data_seperate);
- } else {
- table_namesList.add(table_names_data);
- }
- if (ConstantCE.fjd_0_loss_rate_enable) {
- table_namesList.add(table_names_loss_rate);
- }
- for (String[] table_names : table_namesList) {
- for (String table_name : table_names) {
- AddTable(database_name, table_name);
- }
- }
- }
- public static void ClearTables(String database_name, boolean ci_include, boolean is_clear, boolean only_log)
- throws Exception {
- List<String[]> table_namesList = new ArrayList<String[]>();
- if (ci_include) {
- table_namesList.add(table_names_ci);
- }
- table_namesList.add(table_names_ce);
- table_namesList.add(table_names_fjd);
- if (ConstantCE.time_period_seperate) {
- table_namesList.add(table_names_data_seperate);
- } else {
- table_namesList.add(table_names_data);
- }
- for (String[] table_names : table_namesList) {
- for (String table_name : table_names) {
- if (only_log && (!table_name.endsWith("log") && !table_name.endsWith("detail"))) {
- continue;
- }
- QueryUtil.ClearTable(database_name, table_name, is_clear);
- }
- }
- }
- public static void AlterTables(String database_name) throws Exception {
- {
- String[] logs = {"ce_computelog", "fjd_0_computelog", "fjd_1_computelog", "fjd_2_computelog"};
- JSONArray Columns_add = new JSONArray();
- {
- JSONObject Column = new JSONObject();
- Column.put("Name", "operate_time_from");
- Column.put("Type", "String(20)");
- Columns_add.add(Column);
- }
- {
- JSONObject Column = new JSONObject();
- Column.put("Name", "operate_time_to");
- Column.put("Type", "String(20)");
- Columns_add.add(Column);
- }
- JSONObject alter_content = new JSONObject();
- alter_content.put("Columns_add", Columns_add);
- for (String table_name : logs) {
- try {
- HBaseSaveManagerRepository.randomZillionAgent().DDL_AlterTable(database_name, table_name, "Columns_add", alter_content);
- } catch (Exception e) {
- if (e.getMessage().contains("Columns exist:")) {
- } else {
- throw e;
- }
- }
- }
- }
- {
- String[] details = {"ce_computeoutputdetail", "fjd_0_computedetail", "fjd_1_computedetail", "fjd_2_computedetail"};
- JSONArray Columns_add = new JSONArray();
- {
- JSONObject Column = new JSONObject();
- Column.put("Name", "operate_time_to");
- Column.put("Type", "String(20)");
- Columns_add.add(Column);
- }
- JSONObject alter_content = new JSONObject();
- alter_content.put("Columns_add", Columns_add);
- for (String table_name : details) {
- try {
- HBaseSaveManagerRepository.randomZillionAgent().DDL_AlterTable(database_name, table_name, "Columns_add", alter_content);
- } catch (Exception e) {
- if (e.getMessage().contains("Columns exist:")) {
- } else {
- throw e;
- }
- }
- }
- }
- {
- String[] details = {"fjd_0_computelog"};
- JSONArray Columns_add = new JSONArray();
- {
- JSONObject Column = new JSONObject();
- Column.put("Name", "is_recompute");
- Column.put("Type", "Long");
- Columns_add.add(Column);
- }
- JSONObject alter_content = new JSONObject();
- alter_content.put("Columns_add", Columns_add);
- for (String table_name : details) {
- try {
- HBaseSaveManagerRepository.randomZillionAgent().DDL_AlterTable(database_name, table_name, "Columns_add", alter_content);
- } catch (Exception e) {
- if (e.getMessage().contains("Columns exist:")) {
- } else {
- throw e;
- }
- }
- }
- }
- {
- String[] details = {"fjd_0_computelog"};
- JSONArray Columns_add = new JSONArray();
- {
- JSONObject Column = new JSONObject();
- Column.put("Name", "detail_content");
- Column.put("Type", "String(16777215)");
- Columns_add.add(Column);
- }
- JSONObject alter_content = new JSONObject();
- alter_content.put("Columns_add", Columns_add);
- for (String table_name : details) {
- try {
- HBaseSaveManagerRepository.randomZillionAgent().DDL_AlterTable(database_name, table_name, "Columns_add", alter_content);
- } catch (Exception e) {
- if (e.getMessage().contains("Columns exist:")) {
- } else {
- throw e;
- }
- }
- }
- }
- {
- String[] details = {"tenant_recharge"};
- JSONArray Columns_add = new JSONArray();
- {
- JSONObject Column = new JSONObject();
- Column.put("Name", "is_used");
- Column.put("Type", "Long");
- Columns_add.add(Column);
- }
- JSONObject alter_content = new JSONObject();
- alter_content.put("Columns_add", Columns_add);
- for (String table_name : details) {
- try {
- HBaseSaveManagerRepository.randomZillionAgent().DDL_AlterTable(database_name, table_name, "Columns_add", alter_content);
- } catch (Exception e) {
- if (e.getMessage().contains("Columns exist:")) {
- } else {
- throw e;
- }
- }
- }
- }
- }
- public static void AddTable(String database_name, String table_name) throws Exception {
- String file_name = table_name;
- if (table_name.startsWith("fjd_3")) {
- file_name = "fjd_2" + table_name.substring("fjd_2".length());
- }
- //JSONObject table_schema = FastJsonReaderUtil.Instance().ReadJSONObject(FileUtil.file("def_" + file_name + ".json"));
- JSONReader json_reader = new JSONReader(ResourceUtil.getUtf8Reader("def_" + file_name + ".json"));
- Object result = json_reader.readObject();
- FastJsonUtil.Normalize(result);
- JSONObject table_schema = (JSONObject)result;
- JSONArray Indexes = (JSONArray) table_schema.get("Indexes");
- table_schema.remove("Indexes");
- try {
- HBaseSaveManagerRepository.randomZillionAgent().DDL_AddTable(database_name, table_name, table_schema, Indexes);
- } catch (Exception e) {
- if(e.getMessage()!= null && e.getMessage().contains("schema exist")){
- }else {
- log.error(e.getMessage(), e);
- }
- }
- }
- }
|