Search in sources :

Example 1 with HBaseWriter

use of com.dtstack.taier.develop.utils.develop.sync.template.HBaseWriter in project Taier by DTStack.

the class DatasourceService method syncWriterBuild.

private Writer syncWriterBuild(final Integer targetType, final List<Long> targetIds, final Map<String, Object> targetMap, final Reader reader) throws IOException {
    Writer writer = null;
    if (Objects.nonNull(RDBMSSourceType.getByDataSourceType(targetType)) && !DataSourceType.HIVE.getVal().equals(targetType) && !DataSourceType.HIVE1X.getVal().equals(targetType) && !DataSourceType.HIVE3X.getVal().equals(targetType) && !DataSourceType.IMPALA.getVal().equals(targetType) && !DataSourceType.CarbonData.getVal().equals(targetType) && !DataSourceType.SparkThrift2_1.getVal().equals(targetType) && !DataSourceType.INCEPTOR.getVal().equals(targetType)) {
        writer = PublicUtil.objectToObject(targetMap, RDBWriter.class);
        ((RDBBase) writer).setSourceIds(targetIds);
        return writer;
    }
    if (DataSourceType.HDFS.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, HDFSWriter.class);
    }
    if (DataSourceType.HIVE.getVal().equals(targetType) || DataSourceType.HIVE3X.getVal().equals(targetType) || DataSourceType.HIVE1X.getVal().equals(targetType) || DataSourceType.SparkThrift2_1.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, HiveWriter.class);
    }
    if (DataSourceType.FTP.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, FtpWriter.class);
    }
    if (DataSourceType.ES.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, EsWriter.class);
    }
    if (DataSourceType.HBASE.getVal().equals(targetType)) {
        targetMap.put("hbaseConfig", targetMap.get("hbaseConfig"));
        writer = PublicUtil.objectToObject(targetMap, HBaseWriter.class);
        HBaseWriter hbaseWriter = (HBaseWriter) writer;
        List<String> sourceColNames = new ArrayList<>();
        List<Map<String, String>> columnList = (List<Map<String, String>>) targetMap.get("column");
        for (Map<String, String> column : columnList) {
            if (column.containsKey("key")) {
                sourceColNames.add(column.get("key"));
            }
        }
        hbaseWriter.setSrcColumns(sourceColNames);
        return writer;
    }
    if (DataSourceType.MAXCOMPUTE.getVal().equals(targetType)) {
        writer = PublicUtil.objectToObject(targetMap, OdpsWriter.class);
        ((OdpsBase) writer).setSourceId(targetIds.get(0));
        return writer;
    }
    if (DataSourceType.REDIS.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, RedisWriter.class);
    }
    if (DataSourceType.MONGODB.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, MongoDbWriter.class);
    }
    if (DataSourceType.CarbonData.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, CarbonDataWriter.class);
    }
    if (DataSourceType.Kudu.getVal().equals(targetType)) {
        return syncBuilderFactory.getSyncBuilder(DataSourceType.Kudu.getVal()).syncWriterBuild(targetIds, targetMap, reader);
    }
    if (DataSourceType.IMPALA.getVal().equals(targetType)) {
        return syncBuilderFactory.getSyncBuilder(DataSourceType.IMPALA.getVal()).syncWriterBuild(targetIds, targetMap, reader);
    }
    if (DataSourceType.AWS_S3.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, AwsS3Writer.class);
    }
    if (DataSourceType.INCEPTOR.getVal().equals(targetType)) {
        return PublicUtil.objectToObject(targetMap, InceptorWriter.class);
    }
    throw new RdosDefineException("暂不支持" + DataSourceType.getSourceType(targetType).name() + "作为数据同步的目标");
}
Also used : RdosDefineException(com.dtstack.taier.common.exception.RdosDefineException) RDBWriter(com.dtstack.taier.develop.utils.develop.sync.template.RDBWriter) ArrayList(java.util.ArrayList) OdpsWriter(com.dtstack.taier.develop.utils.develop.sync.template.OdpsWriter) RDBBase(com.dtstack.taier.develop.utils.develop.sync.template.RDBBase) HBaseWriter(com.dtstack.taier.develop.utils.develop.sync.template.HBaseWriter) OdpsBase(com.dtstack.taier.develop.utils.develop.sync.template.OdpsBase) ArrayList(java.util.ArrayList) List(java.util.List) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap) HashMap(java.util.HashMap) HDFSWriter(com.dtstack.taier.develop.utils.develop.sync.template.HDFSWriter) CarbonDataWriter(com.dtstack.taier.develop.utils.develop.sync.template.CarbonDataWriter) EsWriter(com.dtstack.taier.develop.utils.develop.sync.template.EsWriter) OdpsWriter(com.dtstack.taier.develop.utils.develop.sync.template.OdpsWriter) HiveWriter(com.dtstack.taier.develop.utils.develop.sync.template.HiveWriter) RedisWriter(com.dtstack.taier.develop.utils.develop.sync.template.RedisWriter) AwsS3Writer(com.dtstack.taier.develop.utils.develop.sync.template.AwsS3Writer) HBaseWriter(com.dtstack.taier.develop.utils.develop.sync.template.HBaseWriter) RDBWriter(com.dtstack.taier.develop.utils.develop.sync.template.RDBWriter) InceptorWriter(com.dtstack.taier.develop.utils.develop.sync.template.InceptorWriter) MongoDbWriter(com.dtstack.taier.develop.utils.develop.sync.template.MongoDbWriter) FtpWriter(com.dtstack.taier.develop.utils.develop.sync.template.FtpWriter) Writer(com.dtstack.taier.develop.common.template.Writer)

Aggregations

RdosDefineException (com.dtstack.taier.common.exception.RdosDefineException)1 Writer (com.dtstack.taier.develop.common.template.Writer)1 AwsS3Writer (com.dtstack.taier.develop.utils.develop.sync.template.AwsS3Writer)1 CarbonDataWriter (com.dtstack.taier.develop.utils.develop.sync.template.CarbonDataWriter)1 EsWriter (com.dtstack.taier.develop.utils.develop.sync.template.EsWriter)1 FtpWriter (com.dtstack.taier.develop.utils.develop.sync.template.FtpWriter)1 HBaseWriter (com.dtstack.taier.develop.utils.develop.sync.template.HBaseWriter)1 HDFSWriter (com.dtstack.taier.develop.utils.develop.sync.template.HDFSWriter)1 HiveWriter (com.dtstack.taier.develop.utils.develop.sync.template.HiveWriter)1 InceptorWriter (com.dtstack.taier.develop.utils.develop.sync.template.InceptorWriter)1 MongoDbWriter (com.dtstack.taier.develop.utils.develop.sync.template.MongoDbWriter)1 OdpsBase (com.dtstack.taier.develop.utils.develop.sync.template.OdpsBase)1 OdpsWriter (com.dtstack.taier.develop.utils.develop.sync.template.OdpsWriter)1 RDBBase (com.dtstack.taier.develop.utils.develop.sync.template.RDBBase)1 RDBWriter (com.dtstack.taier.develop.utils.develop.sync.template.RDBWriter)1 RedisWriter (com.dtstack.taier.develop.utils.develop.sync.template.RedisWriter)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 LinkedHashMap (java.util.LinkedHashMap)1 List (java.util.List)1