package edu.uci.ics.hivesterix.runtime.jobgen; | |
import java.util.List; | |
import org.apache.hadoop.hive.ql.plan.PartitionDesc; | |
import edu.uci.ics.hyracks.algebricks.core.algebra.base.LogicalVariable; | |
import edu.uci.ics.hyracks.algebricks.core.algebra.metadata.IDataSource; | |
import edu.uci.ics.hyracks.algebricks.core.algebra.metadata.IDataSourcePropertiesProvider; | |
import edu.uci.ics.hyracks.algebricks.core.algebra.properties.FunctionalDependency; | |
public class HiveDataSource<P> implements IDataSource<P> { | |
private P source; | |
private Object[] schema; | |
public HiveDataSource(P dataSource, Object[] sourceSchema) { | |
source = dataSource; | |
schema = sourceSchema; | |
} | |
@Override | |
public P getId() { | |
return source; | |
} | |
@Override | |
public Object[] getSchemaTypes() { | |
return schema; | |
} | |
@Override | |
public void computeFDs(List<LogicalVariable> scanVariables, List<FunctionalDependency> fdList) { | |
} | |
@Override | |
public IDataSourcePropertiesProvider getPropertiesProvider() { | |
return new HiveDataSourcePartitioningProvider(); | |
} | |
@Override | |
public String toString() { | |
PartitionDesc desc = (PartitionDesc) source; | |
return desc.getTableName(); | |
} | |
} |