com.inin.analytics.elasticsearch.transport.SnapshotTransportStrategy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elasticsearch-lambda Show documentation
Show all versions of elasticsearch-lambda Show documentation
Framework For Lambda Architecture on Elasticsearch
package com.inin.analytics.elasticsearch.transport;
public class SnapshotTransportStrategy {
public enum STORAGE_SYSTEMS {
s3,
hdfs
}
/**
* Given a source & destination, return an appropriate transport implementation
*
* @param snapshotWorkingLocation
* @param snapshotFinalDestination
* @return BaseTransport
*/
public static BaseTransport get(String snapshotWorkingLocation, String snapshotFinalDestination) {
BaseTransport trasport = null;
if(snapshotFinalDestination.startsWith(STORAGE_SYSTEMS.s3.name())) {
trasport = new S3SnapshotTransport(snapshotWorkingLocation, snapshotFinalDestination);
} else if(snapshotFinalDestination.startsWith(STORAGE_SYSTEMS.hdfs.name())) {
trasport = new HDFSSnapshotTransport(snapshotWorkingLocation, snapshotFinalDestination);
} else {
trasport = new LocalFSSnapshotTransport(snapshotWorkingLocation, snapshotFinalDestination);
}
return trasport;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy