public Object getFieldValue(_Fields field) { switch (field) { case TABLE_ID: return getTable_id(); case TABLE_COLUMNS: return getTable_columns(); case SCHEMA_EVOLUTION: return getSchema_evolution(); case TABLE_PROPERTIES: return getTableProperties(); case BUCKETING_INFO: return getBucketingInfo(); case PARTITION_INFO: return getPartitionInfo(); case LONG_STRING_COLUMNS: return getLong_string_columns(); } throw new IllegalStateException(); }
@Override public TableInfo fromExternalToWrapperTableInfo( org.apache.carbondata.format.TableInfo externalTableInfo, String dbName, String tableName, String tablePath) { TableInfo wrapperTableInfo = new TableInfo(); List<org.apache.carbondata.format.SchemaEvolutionEntry> schemaEvolutionList = externalTableInfo.getFact_table().getSchema_evolution().getSchema_evolution_history(); wrapperTableInfo.setLastUpdatedTime( schemaEvolutionList.get(schemaEvolutionList.size() - 1).getTime_stamp()); wrapperTableInfo.setDatabaseName(dbName); wrapperTableInfo.setTableUniqueName(CarbonTable.buildUniqueName(dbName, tableName)); wrapperTableInfo.setFactTable( fromExternalToWrapperTableSchema(externalTableInfo.getFact_table(), tableName)); if (null != externalTableInfo.getDataMapSchemas()) { wrapperTableInfo.setDataMapSchemaList( fromExternalToWrapperChildSchemaList(externalTableInfo.getDataMapSchemas())); } wrapperTableInfo.setTablePath(tablePath); return wrapperTableInfo; }
@Override public TableSchema fromExternalToWrapperTableSchema( org.apache.carbondata.format.TableSchema externalTableSchema, String tableName) { TableSchema wrapperTableSchema = new TableSchema(); wrapperTableSchema.setTableId(externalTableSchema.getTable_id()); wrapperTableSchema.setTableName(tableName); wrapperTableSchema.setTableProperties(externalTableSchema.getTableProperties()); List<ColumnSchema> listOfColumns = new ArrayList<ColumnSchema>(); for (org.apache.carbondata.format.ColumnSchema externalColumnSchema : externalTableSchema .getTable_columns()) { listOfColumns.add(fromExternalToWrapperColumnSchema(externalColumnSchema)); } if (null != externalTableSchema.tableProperties) { CarbonUtil .setLocalDictColumnsToWrapperSchema(listOfColumns, externalTableSchema.tableProperties, externalTableSchema.tableProperties .get(CarbonCommonConstants.LOCAL_DICTIONARY_ENABLE)); } wrapperTableSchema.setListOfColumns(listOfColumns); wrapperTableSchema.setSchemaEvolution( fromExternalToWrapperSchemaEvolution(externalTableSchema.getSchema_evolution())); if (externalTableSchema.isSetBucketingInfo()) { wrapperTableSchema.setBucketingInfo( fromExternalToWrapperBucketingInfo(externalTableSchema.bucketingInfo)); } if (externalTableSchema.getPartitionInfo() != null) { wrapperTableSchema.setPartitionInfo( fromExternalToWrapperPartitionInfo(externalTableSchema.getPartitionInfo())); } return wrapperTableSchema; }
org.apache.carbondata.format.SchemaEvolutionEntry schemaEvolutionEntry = new org.apache.carbondata.format.SchemaEvolutionEntry(tableInfo.getLastUpdatedTime()); thriftTableInfo.getFact_table().getSchema_evolution().getSchema_evolution_history() .add(schemaEvolutionEntry);